pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/40333?usp=email )
Change subject: stp: ipa: Introduce tests to validate incoming TCP conn with unkown AS (ipa_unit_id) ......................................................................
stp: ipa: Introduce tests to validate incoming TCP conn with unkown AS (ipa_unit_id)
Change-Id: If6a9f54a19f6a4d833bbf66aad5dafd7e9917f82 --- M stp/STP_Tests_IPA.ttcn M stp/expected-results.xml 2 files changed, 46 insertions(+), 17 deletions(-)
Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve fixeria: Looks good to me, approved
diff --git a/stp/STP_Tests_IPA.ttcn b/stp/STP_Tests_IPA.ttcn index 537cac4..8a34054 100644 --- a/stp/STP_Tests_IPA.ttcn +++ b/stp/STP_Tests_IPA.ttcn @@ -177,18 +177,15 @@ }
-/* "accept-asp-connections pre-configured" and client from unknown source */ +/* "accept-asp-connections pre-configured" and client from unknown ASP source + * (but known AS/ipa_unit_name) */ testcase TC_unknown_client_nodynamic() runs on IPA_CT { var Misc_Helpers.ro_charstring asps := { "ipa-asp-loadshare-sender0" }; var IpaConfigs ipa_configs := ipa_build_configs(asps); /* Build an ASP unknown (port) from osmo-stp: */ - ipa_configs := { - { asp_name := "ipa-asp-unknown", - as_name := ipa_configs[0].as_name, - is_server := false, - remote_port := ipa_configs[0].remote_port, - local_port := 3000 } - }; + ipa_configs[0].asp_name := "ipa-asp-unknown"; + ipa_configs[0].local_port := 3000; + f_init_common(); f_vty_cs7_listen_ipa_cmd("accept-asp-connections pre-configured", ipa_configs[0].remote_port); f_init_ipa(ipa_configs := ipa_configs); @@ -199,7 +196,25 @@ setverdict(pass); }
-/* "accept-asp-connections pre-configured" and client from known source */ +/* "accept-asp-connections pre-configured" and client from known ASP (TCP endpoint) + * but unknown AS (ipa_unit_name) */ +testcase TC_unknown_as_client_nodynamic() runs on IPA_CT { + var Misc_Helpers.ro_charstring asps := { "ipa-asp-loadshare-sender0" }; + var IpaConfigs ipa_configs := ipa_build_configs(asps); + /* Build an AS unknown (ipa_unit_id) from osmo-stp: */ + ipa_configs[0].as_name := "ipa-as-unknown"; + + f_init_common(); + f_vty_cs7_listen_ipa_cmd("accept-asp-connections pre-configured", ipa_configs[0].remote_port); + f_init_ipa(ipa_configs := ipa_configs); + f_connect_ipa(0, false); + + /* switch back to default */ + f_vty_cs7_listen_ipa_cmd("accept-asp-connections dynamic-permitted", ipa_configs[0].remote_port); + setverdict(pass); +} + +/* "accept-asp-connections pre-configured" and client from known source (ASP & AS) */ testcase TC_known_client_nodynamic() runs on IPA_CT { var Misc_Helpers.ro_charstring asps := { "ipa-asp-loadshare-sender0" }; var IpaConfigs ipa_configs := ipa_build_configs(asps); @@ -215,18 +230,14 @@ }
-/* "accept-asp-connections dynamic-permitted" and client from unknown source */ +/* "accept-asp-connections dynamic-permitted" and client from unknown ASP source + * (but known AS/ipa_unit_name) */ testcase TC_unknown_client_dynamic() runs on IPA_CT { var Misc_Helpers.ro_charstring asps := { "ipa-asp-loadshare-sender0" }; var IpaConfigs ipa_configs := ipa_build_configs(asps); /* Build an ASP unknown (port) from osmo-stp: */ - ipa_configs := { - { asp_name := "ipa-asp-unknown2", - as_name := ipa_configs[0].as_name, - is_server := false, - remote_port := ipa_configs[0].remote_port, - local_port := 3001 } - }; + ipa_configs[0].asp_name := "ipa-asp-unknown"; + ipa_configs[0].local_port := 3001;
f_init_common(); f_init_ipa(ipa_configs := ipa_configs); @@ -234,6 +245,20 @@ setverdict(pass); }
+/* "accept-asp-connections dynamic-permitted" and client from known ASP (TCP endpoint) + * but unknown AS (ipa_unit_name) */ +testcase TC_unknown_as_client_dynamic() runs on IPA_CT { + var Misc_Helpers.ro_charstring asps := { "ipa-asp-loadshare-sender0" }; + var IpaConfigs ipa_configs := ipa_build_configs(asps); + /* Build an AS unknown (ipa_unit_id) from osmo-stp: */ + ipa_configs[0].as_name := "ipa-as-unknown"; + + f_init_common(); + f_init_ipa(ipa_configs := ipa_configs); + f_connect_ipa(0, false); + setverdict(pass); +} + private function f_tc_tmt_override(boolean unknwon_dynamic_asp) runs on IPA_CT { var Misc_Helpers.ro_charstring asps := { "ipa-asp-override-sender", @@ -463,8 +488,10 @@
control { execute( TC_unknown_client_nodynamic() ); + execute( TC_unknown_as_client_nodynamic() ); execute( TC_known_client_nodynamic() ); execute( TC_unknown_client_dynamic() ); + execute( TC_unknown_as_client_dynamic() ); execute( TC_tmt_override() ); execute( TC_unknown_client_dynamic_tmt_override() ); execute( TC_tmt_loadshare_roundrobin() ); diff --git a/stp/expected-results.xml b/stp/expected-results.xml index 44088fc..88e8d17 100644 --- a/stp/expected-results.xml +++ b/stp/expected-results.xml @@ -45,8 +45,10 @@ <testcase classname='STP_Tests_M3UA_TCP' name='TC_m3ua_tcp_srv' time='MASKED'/> <testcase classname='STP_Tests_M3UA_TCP' name='TC_m3ua_tcp_srv_cli' time='MASKED'/> <testcase classname='STP_Tests_IPA' name='TC_unknown_client_nodynamic' time='MASKED'/> + <testcase classname='STP_Tests_IPA' name='TC_unknown_as_client_nodynamic' time='MASKED'/> <testcase classname='STP_Tests_IPA' name='TC_known_client_nodynamic' time='MASKED'/> <testcase classname='STP_Tests_IPA' name='TC_unknown_client_dynamic' time='MASKED'/> + <testcase classname='STP_Tests_IPA' name='TC_unknown_as_client_dynamic' time='MASKED'/> <testcase classname='STP_Tests_IPA' name='TC_tmt_override' time='MASKED'/> <testcase classname='STP_Tests_IPA' name='TC_unknown_client_dynamic_tmt_override' time='MASKED'/> <testcase classname='STP_Tests_IPA' name='TC_tmt_loadshare_roundrobin' time='MASKED'/>