*** Settings *** Documentation Test suite to verify binding origins checks are performed in master database Library RequestsLibrary Resource ../../../libraries/SxpLib.robot Suite Setup SxpLib.Setup SXP Environment Suite Teardown SxpLib.Clean SXP Environment Test Setup Clean Bindings *** Test Cases *** Test Add Lower Priority Binding [Documentation] Test that incoming binding with lower priority does not override already existing ... higher priority binding in master database for the same IP prefix [Tags] binding origins checks sxp BuiltIn.Comment Add binding SxpLib.Add Bindings 10 1.1.1.1/32 origin=LOCAL BuiltIn.Comment Try to add binding with lower priority BuiltIn.Run Keyword And Expect Error ... RPC result is False ... SxpLib.Add Bindings ... 20 ... 1.1.1.1/32 ... origin=NETWORK BuiltIn.Comment Verify that new binding is not added and previous binding is preserved Verify Bindings Content 10 20 1.1.1.1/32 Test Add Higher Priority Binding [Documentation] Test that incoming binding with higher priority overrides already existing ... lower priority binding in master database for the same IP prefix [Tags] binding origins checks sxp BuiltIn.Comment Add binding SxpLib.Add Bindings 10 1.1.1.1/32 origin=NETWORK BuiltIn.Comment Add binding with higher priority SxpLib.Add Bindings 20 1.1.1.1/32 origin=LOCAL BuiltIn.Comment Verify that new binding replaced previous binding Verify Bindings Content 20 10 1.1.1.1/32 Test Add Unknown Priority Binding [Documentation] Test that incoming binding with unknown priority cannot be added to master database [Tags] binding origins checks sxp BuiltIn.Comment Try to add binding with unknown origin priority BuiltIn.Run Keyword And Expect Error 400 != 200 SxpLib.Add Bindings 10 1.1.1.1/32 origin=CLUSTER BuiltIn.Comment Verify that binding is not in master database SxpLib.Bindings Should Not Contain 10 1.1.1.1/32 Test Add Lower Priority Binding To Domain [Documentation] Test that incoming binding with lower priority does not override already existing ... higher priority binding in master database for the same IP prefix [Tags] binding origins checks sxp BuiltIn.Comment Create custom domain with binding SxpLib.Add Domain guest 10 1.1.1.1/32 origin=LOCAL BuiltIn.Comment Try add binding to custom domain with lower priority BuiltIn.Run Keyword And Expect Error ... RPC result is False ... SxpLib.Add Bindings ... 20 ... 1.1.1.1/32 ... domain=guest ... origin=NETWORK BuiltIn.Comment Verify that new binding is not added and previous binding is preserved Verify Bindings Content 10 20 1.1.1.1/32 guest Test Add Higher Priority Binding To Domain [Documentation] Test that incoming binding with lower priority does not override already existing ... higher priority binding in master database for the same IP prefix [Tags] binding origins checks sxp BuiltIn.Comment Create custom domain with binding SxpLib.Add Domain guest 10 1.1.1.1/32 origin=NETWORK BuiltIn.Comment Add binding to custom domain with higher priority SxpLib.Add Bindings 20 1.1.1.1/32 domain=guest origin=LOCAL BuiltIn.Comment Verify that new binding replaced previous binding Verify Bindings Content 20 10 1.1.1.1/32 guest Test Get Bindings [Documentation] Test that when requesting for LOCAL bindings then only LOCAL bindings are returned [Tags] binding origins checks sxp BuiltIn.Comment Add LOCAL binding SxpLib.Add Bindings 10 1.1.1.1/32 origin=LOCAL BuiltIn.Comment Add NETWORK binding SxpLib.Add Bindings 20 2.2.2.2/32 origin=NETWORK BuiltIn.Comment Verify request for LOCAL bindings Verify Local Bindings Content 10 1.1.1.1/32 20 2.2.2.2/32 BuiltIn.Comment Verify request for ALL bindings Verify All Bindings Content 10 1.1.1.1/32 20 2.2.2.2/32 *** Keywords *** Clean Bindings SxpLib.Clean Bindings scope=all SxpLib.Clean Bindings domain=guest scope=all Verify Bindings Content [Arguments] ${should_contains_sgt} ${should_not_contains_sgt} ${prefix} ${domain}=global ${bindings} = SxpLib.Get Bindings domain=${domain} scope=all SxpLib.Should Contain Binding ${bindings} ${should_contains_sgt} ${prefix} SxpLib.Should Not Contain Binding ${bindings} ${should_not_contains_sgt} ${prefix} Verify Local Bindings Content [Arguments] ${local_sgt} ${local_prefix} ${network_sgt} ${network_prefix} ${bindings} = SxpLib.Get Bindings scope=local SxpLib.Should Contain Binding ${bindings} ${local_sgt} ${local_prefix} SxpLib.Should Not Contain Binding ${bindings} ${network_sgt} ${network_prefix} Verify All Bindings Content [Arguments] ${local_sgt} ${local_prefix} ${network_sgt} ${network_prefix} ${bindings} = SxpLib.Get Bindings SxpLib.Should Contain Binding ${bindings} ${local_sgt} ${local_prefix} SxpLib.Should Contain Binding ${bindings} ${network_sgt} ${network_prefix}