[other_task #1679246] Fix CLL Variable tests + DataSource/DsRestAPI tests fix
Change-Id: Iba75d0d7faa7963992c52c1e4d11b02f9fd0f37d
Signed-off-by: József Gyürüsi <jozsef.gyurusi@ericsson.com>
diff --git a/src/Logging/EPTF_CLL_Logging_Definitions.ttcn b/src/Logging/EPTF_CLL_Logging_Definitions.ttcn
index 7061ac9..cda4dfa 100644
--- a/src/Logging/EPTF_CLL_Logging_Definitions.ttcn
+++ b/src/Logging/EPTF_CLL_Logging_Definitions.ttcn
@@ -266,6 +266,9 @@
private var integer v_EPTF_Logging_myMaskId; // the Id of my logging masks
//private var EPTF_CharstringList v_EPTF_Logging_errorMsgs := {}; // the list of error messages - global var used in Common instead
private var charstring v_EPTF_Logging_expectedError := ""; // the expected assert message at cleanup
+ private var EPTF_CharstringList v_EPTF_Logging_expectedWarnings := {} // the expected warning messagea checked at cleanup
+ private var EPTF_BooleanList v_EPTF_Logging_expectedWarning_logged := {}
+
public var EPTF_Logging_strList v_Logging_selectionList := {"EPTF_CLL", "EPTF_User"};
}
diff --git a/src/Logging/EPTF_CLL_Logging_Functions.ttcn b/src/Logging/EPTF_CLL_Logging_Functions.ttcn
index 593bdad..ec61ade 100644
--- a/src/Logging/EPTF_CLL_Logging_Functions.ttcn
+++ b/src/Logging/EPTF_CLL_Logging_Functions.ttcn
@@ -63,6 +63,7 @@
// <f_EPTF_Logging_checkExpectedError>
// <f_EPTF_Logging_registerPreambleFn>
// <f_EPTF_Logging_removePreambleFn>
+// <f_EPTF_Logging_setExpectedWarningMsg>
//
///////////////////////////////////////////////////////////////
@@ -502,6 +503,10 @@
f_loggingUI_refreshVar := null;
f_loggingUI_update := null;
+ v_EPTF_Logging_expectedWarnings := {}
+ v_EPTF_Logging_expectedWarning_logged := {}
+
+ f_EPTF_Logging_registerPreambleFn(refers(f_EPTF_Logging_checkExpectedWarnings_preamble_FT));
// create my log masks:
v_EPTF_Logging_myMaskId := f_EPTF_Logging_registerComponentMasks("EPTF_Logging", {"Warning", "Debug", "DebugM", "DebugV"}, EPTF_Logging_CLL);
@@ -559,6 +564,7 @@
{
return;
}
+ f_EPTF_Logging_checkWarnings_at_cleanup();
v_EPTF_Logging_ComponentMask_List := {};
v_EPTF_Logging_preambleFnList := {};
v_EPTF_Logging_isRegisteredPreambleFn := false;
@@ -1206,6 +1212,53 @@
}
}
+private function f_EPTF_Logging_checkExpectedWarnings_preamble_FT(in charstring pl_message) runs on EPTF_Logging_CT {
+ if (not match(pl_message,pattern "*Warning*")) {
+ return;
+ }
+ var charstring vl_pattern;
+ for (var integer i:=0; i<sizeof(v_EPTF_Logging_expectedWarnings); i:=i+1) {
+ vl_pattern := v_EPTF_Logging_expectedWarnings[i];
+ if (match(pl_message,pattern vl_pattern)) {
+ v_EPTF_Logging_expectedWarning_logged[i] := true; // verdict is only pass if this warning is logged
+ }
+ }
+}
+
+private function f_EPTF_Logging_checkWarnings_at_cleanup() runs on EPTF_Logging_CT {
+ for (var integer i:=0; i<sizeof(v_EPTF_Logging_expectedWarnings); i:=i+1) {
+ if (v_EPTF_Logging_expectedWarning_logged[i] == false) {
+ setverdict(fail, "Expected warning was not logged: ", v_EPTF_Logging_expectedWarnings[i])
+ return;
+ }
+ }
+ setverdict(pass)
+}
+
+///////////////////////////////////////////////////////////
+// Function: f_EPTF_Logging_setExpectedWarningMsg
+//
+// Purpose:
+// Sets a warning message that is checked in cleanup if it was among the warning messages logged.
+//
+// Parameters:
+// pl_expectedWarning - *in charstring* - the warning message pattern to expect as warning log
+//
+// Return Value:
+// -
+//
+// Detailed Comments:
+// The expected warning patterns are automatically checked in <f_EPTF_Logging_cleanup_CT>,
+// and the verdict is set automatically to pass if all matches with any warning messages, and fail if any of them does not match.
+// If this function is called more than once, several expected warning messages can be set
+//
+///////////////////////////////////////////////////////////
+public function f_EPTF_Logging_setExpectedWarningMsg(in charstring pl_expectedWarning) runs on EPTF_Logging_CT {
+ v_EPTF_Logging_expectedWarnings := v_EPTF_Logging_expectedWarnings & {pl_expectedWarning};
+ v_EPTF_Logging_expectedWarning_logged := v_EPTF_Logging_expectedWarning_logged & {false}
+}
+
+
//////////////////////////////////////////////////////////
// Function: f_EPTF_Logging_logAll
//
diff --git a/test/DataSource/EPTF_DataSource_Test_Functions.ttcn b/test/DataSource/EPTF_DataSource_Test_Functions.ttcn
index 8f91b55..c8e2e18 100644
--- a/test/DataSource/EPTF_DataSource_Test_Functions.ttcn
+++ b/test/DataSource/EPTF_DataSource_Test_Functions.ttcn
@@ -255,7 +255,7 @@
const charstring c_EPTF_CLL_DataSourceClient_Test_DSOwnerValueHandlerParam := "ValueHandlerParam";
const charstring c_EPTF_CLL_DataSourceClient_Test_DSOwnerValueHandlerParam2 := "ValueHandlerParam2";
- function f_EPTF_CLL_DataSourceClient_Test_dsOwnerBehaviour(in charstring pl_selfName, in EPTF_DataSource_CT pl_sourceCompRef, in charstring pl_errMessage := "") runs on EPTF_CLL_DataSource_Client_CT {
+ function f_EPTF_CLL_DataSourceClient_Test_dsOwnerBehaviour(in charstring pl_selfName, in EPTF_DataSource_CT pl_sourceCompRef, in charstring pl_errMessage := "", in charstring pl_warningMessage := "") runs on EPTF_CLL_DataSource_Client_CT {
f_EPTF_DataSourceClient_init_CT(pl_selfName,pl_sourceCompRef);
var integer vl_varIdx;
f_EPTF_Var_newInt(c_EPTF_CLL_DataSourceClient_Test_DSOwnerElementName&"."&c_EPTF_CLL_DataSourceClient_Test_DSOwnerDataVarName,0,vl_varIdx);
@@ -273,6 +273,9 @@
f_EPTF_Base_setNegativeTestMode();
f_EPTF_Base_setExpectedErrorMsg(pl_errMessage);
}
+ if (pl_warningMessage != "") {
+ f_EPTF_Logging_setExpectedWarningMsg(pl_warningMessage);
+ }
f_EPTF_Base_wait4Shutdown();
}
@@ -7615,7 +7618,7 @@
}
//this function initialize datasource and client for test setDataValue_nonBlocking
- function f_EPTF_CLL_DataSource_Test_setDataValue_nonBlocking_init(in charstring pl_name, in charstring pl_errMessage := "") runs on EPTF_CLL_DataSource_Test_NonBlocking_CT {
+ function f_EPTF_CLL_DataSource_Test_setDataValue_nonBlocking_init(in charstring pl_name, in charstring pl_errMessage := "", in charstring pl_warningMessage := "") runs on EPTF_CLL_DataSource_Test_NonBlocking_CT {
var charstring c_test := "DataSource_setDataValueNonBlocking" & pl_name;
@@ -7625,7 +7628,7 @@
// start DSClient DataOwner CT
var EPTF_DataSource_CT vl_dataSourceComp := self;
var EPTF_CLL_DataSource_Client_CT vl_client_owner := EPTF_CLL_DataSource_Client_CT.create;
- vl_client_owner.start(f_EPTF_CLL_DataSourceClient_Test_dsOwnerBehaviour(c_test & "_DsOwner",vl_dataSourceComp, pl_errMessage));
+ vl_client_owner.start(f_EPTF_CLL_DataSourceClient_Test_dsOwnerBehaviour(c_test & "_DsOwner",vl_dataSourceComp, pl_errMessage, pl_warningMessage));
v_Test_NonBlocking_clientRef := vl_client_owner;
timer t_wait := 1.0;
diff --git a/test/DataSource/EPTF_DataSource_Test_Testcases.ttcn b/test/DataSource/EPTF_DataSource_Test_Testcases.ttcn
index 63035db..4e75302 100644
--- a/test/DataSource/EPTF_DataSource_Test_Testcases.ttcn
+++ b/test/DataSource/EPTF_DataSource_Test_Testcases.ttcn
@@ -3631,7 +3631,7 @@
///////////////////////////////////////////////////////////
testcase tc_EPTF_CLL_DataSource_Test_setDataValue_nonblocking_negative_bad_int_type() runs on EPTF_CLL_DataSource_Test_NonBlocking_CT {
- f_EPTF_CLL_DataSource_Test_setDataValue_nonBlocking_init("negative_bad_int_type", "Error: EPTF_Var: ERROR:Cannot convert direct content*");
+ f_EPTF_CLL_DataSource_Test_setDataValue_nonBlocking_init("negative_bad_int_type", pl_warningMessage := "EPTF_Var:Warning: ERROR:Cannot convert direct content*");
var EPTF_CLL_DataSource_Test_NonBlocking_Handler vl_handler := {dataValueHandler:=refers(f_EPTF_DataSourceTest_NonBlocking_setDataValue_getDataHandler)};
@@ -3663,7 +3663,7 @@
///////////////////////////////////////////////////////////
testcase tc_EPTF_CLL_DataSource_Test_setDataValue_nonblocking_negative_bad_intlist_type() runs on EPTF_CLL_DataSource_Test_NonBlocking_CT {
- f_EPTF_CLL_DataSource_Test_setDataValue_nonBlocking_init("negative_bad_intlist_type", "Error: EPTF_Var: ERROR:Cannot convert direct content*");
+ f_EPTF_CLL_DataSource_Test_setDataValue_nonBlocking_init("negative_bad_intlist_type", pl_warningMessage := "EPTF_Var:Warning: ERROR:Cannot convert direct content*");
var EPTF_CLL_DataSource_Test_NonBlocking_Handler vl_handler := {dataValueHandler:=refers(f_EPTF_DataSourceTest_NonBlocking_setDataValue_getDataHandler)};
diff --git a/test/DsRestAPI/EPTF_DsRestAPI_Test_Testcases.ttcn b/test/DsRestAPI/EPTF_DsRestAPI_Test_Testcases.ttcn
index 23bdf61..f3788f3 100644
--- a/test/DsRestAPI/EPTF_DsRestAPI_Test_Testcases.ttcn
+++ b/test/DsRestAPI/EPTF_DsRestAPI_Test_Testcases.ttcn
@@ -1130,8 +1130,8 @@
f_PutEnv("PYTHONDONTWRITEBYTECODE", "True");
- f_EPTF_DsRestAPI_init_CT("tc_EPTF_DsRestAPI_Test_DSServer_JSONviaHTTP");
- f_EPTF_DsRestAPI_Test_DS_init_CT("tc_EPTF_DsRestAPI_Test_DSServer_JSONviaHTTP",self);
+ f_EPTF_DsRestAPI_init_CT("tc_EPTF_DsRestAPI_Test_DSServer_JSON"); // component name should be the same as in tc_EPTF_DsRestAPI_Test_DSServer_JSON, because response contains PTC name
+ f_EPTF_DsRestAPI_Test_DS_init_CT("tc_EPTF_DsRestAPI_Test_DSServer_JSON",self);
f_EPTF_DsRestAPI_start(tsp_EPTF_DsRestAPI_HTTPServer_RemoteAddress, tsp_EPTF_DsRestAPI_HTTPServer_RemotePort);
diff --git a/test/Variable/EPTF_Variable_Test_Testcases.ttcn b/test/Variable/EPTF_Variable_Test_Testcases.ttcn
index 6e8438f..1e05cc5 100644
--- a/test/Variable/EPTF_Variable_Test_Testcases.ttcn
+++ b/test/Variable/EPTF_Variable_Test_Testcases.ttcn
@@ -4330,32 +4330,10 @@
f_EPTF_Base_stop(pass);
}
-function f_EPTF_Var_Test_adjustTest_checkExpectedWarning_preamble_FT(in charstring pl_message) runs on VariableTest_CT {
- if (not match(pl_message,pattern "*Warning*")) {
- return;
- }
- if (match(pl_message,pattern v_charstringVar)) {
- v_boolVar := true; // verdict is only pass if this warning is logged
- }
-}
-
-function f_EPTF_Var_Test_adjustTest_checkWarning_cleanup() runs on VariableTest_CT {
- if (v_boolVar == false) {
- setverdict(fail, "Expected warning was not logged: ", v_charstringVar)
- } else {
- setverdict(pass)
- }
-}
-
-
testcase tc_EPTF_Var_SubscribeTest_pull_with_adjustRemoteContent_negative() runs on VariableTest_CT{
f_EPTF_Var_init_CT("SubscribeTest_pull_with_adjustRemoteContent_negative");
f_EPTF_Var_setMaxWaitTime(0.2)
- var charstring vl_expected_warning := "*Cannot convert direct content { floatVal := 1.000000 } to direct content { direct := { intVal := 0 } }. Types are incompatible*";
- v_charstringVar := vl_expected_warning;
- f_EPTF_Logging_registerPreambleFn(refers(f_EPTF_Var_Test_adjustTest_checkExpectedWarning_preamble_FT));
- f_EPTF_Base_registerCleanup(refers(f_EPTF_Var_Test_adjustTest_checkWarning_cleanup));
- v_boolVar := false;
+ f_EPTF_Logging_setExpectedWarningMsg("*Cannot convert direct content { floatVal := 1.000000 } to direct content { direct := { intVal := 0 } }. Types are incompatible*");
timer t_wait := 0.2;
@@ -4388,11 +4366,7 @@
testcase tc_EPTF_Var_SubscribeTest_pull_noAlt_with_adjustRemoteContent_negative() runs on VariableTest_CT{
f_EPTF_Var_init_CT("SubscribeTest_pull_noAlt_with_adjustRemoteContent_negative");
f_EPTF_Var_setMaxWaitTime(0.2)
- var charstring vl_expected_warning := "*Cannot convert direct content { floatVal := 1.000000 } to direct content { direct := { intVal := 0 } }. Types are incompatible*";
- v_charstringVar := vl_expected_warning;
- f_EPTF_Logging_registerPreambleFn(refers(f_EPTF_Var_Test_adjustTest_checkExpectedWarning_preamble_FT));
- f_EPTF_Base_registerCleanup(refers(f_EPTF_Var_Test_adjustTest_checkWarning_cleanup));
- v_boolVar := false;
+ f_EPTF_Logging_setExpectedWarningMsg("*Cannot convert direct content { floatVal := 1.000000 } to direct content { direct := { intVal := 0 } }. Types are incompatible*");
timer t_wait := 0.2;
@@ -4425,11 +4399,7 @@
testcase tc_EPTF_Var_SubscribeTest_pull_with_adjustContent_negative() runs on VariableTest_CT{
f_EPTF_Var_init_CT("SubscribeTest_pull_with_adjustContent_negative");
f_EPTF_Var_setMaxWaitTime(0.2)
- var charstring vl_expected_warning := "*Cannot convert direct content { floatVal := 1.000000 } to direct content { direct := { intVal := 0 } }. Types are incompatible*";
- v_charstringVar := vl_expected_warning;
- f_EPTF_Logging_registerPreambleFn(refers(f_EPTF_Var_Test_adjustTest_checkExpectedWarning_preamble_FT));
- f_EPTF_Base_registerCleanup(refers(f_EPTF_Var_Test_adjustTest_checkWarning_cleanup));
- v_boolVar := false;
+ f_EPTF_Logging_setExpectedWarningMsg("*Cannot convert direct content { floatVal := 1.000000 } to direct content { direct := { intVal := 0 } }. Types are incompatible*");
timer t_wait := 0.2;
@@ -4462,11 +4432,7 @@
testcase tc_EPTF_Var_SubscribeTest_pull_noAlt_with_adjustContent_negative() runs on VariableTest_CT{
f_EPTF_Var_init_CT("SubscribeTest_pull_noAlt_with_adjustContent_negative");
f_EPTF_Var_setMaxWaitTime(0.2)
- var charstring vl_expected_warning := "*Cannot convert direct content { floatVal := 1.000000 } to direct content { direct := { intVal := 0 } }. Types are incompatible*";
- v_charstringVar := vl_expected_warning;
- f_EPTF_Logging_registerPreambleFn(refers(f_EPTF_Var_Test_adjustTest_checkExpectedWarning_preamble_FT));
- f_EPTF_Base_registerCleanup(refers(f_EPTF_Var_Test_adjustTest_checkWarning_cleanup));
- v_boolVar := false;
+ f_EPTF_Logging_setExpectedWarningMsg("*Cannot convert direct content { floatVal := 1.000000 } to direct content { direct := { intVal := 0 } }. Types are incompatible*");
timer t_wait := 0.2;