go.ligato.io/vpp-agent/v3@v3.5.0/tests/robot/suites/crud/nat44_crud.robot (about) 1 *** Settings *** 2 Library OperatingSystem 3 #Library RequestsLibrary 4 #Library SSHLibrary timeout=60s 5 #Library String 6 7 Resource ../../variables/${VARIABLES}_variables.robot 8 9 Resource ../../libraries/all_libs.robot 10 Resource ../../libraries/pretty_keywords.robot 11 12 Force Tags crud IPv4 13 Suite Setup Testsuite Setup 14 Suite Teardown Testsuite Teardown 15 Test Setup TestSetup 16 Test Teardown TestTeardown 17 18 *** Variables *** 19 ${VARIABLES}= common 20 ${ENV}= common 21 ${WAIT_TIMEOUT}= 20s 22 ${SYNC_SLEEP}= 3s 23 ${IP_1}= 10.0.1.1 24 ${IP_2}= 10.0.1.1 25 ${IP_3}= 20.0.1.1 26 ${IP_4}= 21.0.1.1 27 ${LOCAL_PORT_1}= 80 28 ${EXT_PORT_1}= 8080 29 ${INTERFACE_NAME_1}= memif1 30 ${INTERFACE_NAME_2}= memif2 31 ${MEMIF11_MAC}= 1a:00:00:11:11:11 32 ${MEMIF12_MAC}= 3a:00:00:33:33:33 33 ${error_message_1}= Evaluating expression 'json.loads('''None''')' failed: ValueError: No JSON object could be decoded 34 35 36 *** Test Cases *** 37 Configure Environment 38 [Tags] setup 39 Configure Environment 8 40 41 Show NATs Aren't Created Before Setup 42 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} Run Keyword And Expect Error ${error_message_1} Get VPP NAT44 Config As Json agent_vpp_1 dnat1 43 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} Run Keyword And Expect Error ${error_message_1} Get VPP NAT44 Config As Json agent_vpp_1 dnat2 44 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} Run Keyword And Expect Error ${error_message_1} Get VPP NAT44 Global Config As Json agent_vpp_1 45 46 Add VPP1_memif1 And VPP1_memif2 Interface 47 vpp_term: Interface Not Exists node=agent_vpp_1 mac=${MEMIF11_MAC} 48 Put Memif Interface With IP node=agent_vpp_1 name=memif1 mac=${MEMIF11_MAC} master=true id=1 ip=${IP_3} prefix=24 socket=default.sock 49 vpp_term: Interface Not Exists node=agent_vpp_1 mac=${MEMIF12_MAC} 50 Put Memif Interface With IP node=agent_vpp_1 name=memif2 mac=${MEMIF12_MAC} master=true id=2 ip=${IP_4} prefix=24 socket=default.sock 51 52 Add NAT1 And Nat Global And Check Are Created 53 Create DNat On agent_vpp_1 With Name dnat1 Local IP ${IP_1} Local Port ${LOCAL_PORT_1} External IP ${IP_3} External Interface ${INTERFACE_NAME_1} External Port ${EXT_PORT_1} Vrf Id 0 54 Create Interface GlobalNat On agent_vpp_1 With First IP ${IP_3} On Inteface ${INTERFACE_NAME_1} And Second IP ${IP_4} On Interface ${INTERFACE_NAME_2} Vrf Id 0 Config File nat-global.json 55 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} Get VPP NAT44 Config As Json agent_vpp_1 dnat1 56 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} Get VPP NAT44 Global Config As Json agent_vpp_1 57 vpp_term: Check DNAT Global exists agent_vpp_1 dnat_global_output_match.txt 58 59 Add NAT2 And Check Is Created 60 Create DNat On agent_vpp_1 With Name dnat2 Local IP ${IP_2} Local Port ${LOCAL_PORT_1} External IP ${IP_4} External Interface ${INTERFACE_NAME_2} External Port ${EXT_PORT_1} Vrf Id 0 61 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} Get VPP NAT44 Config As Json agent_vpp_1 dnat1 62 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} Get VPP NAT44 Config As Json agent_vpp_1 dnat2 63 vpp_term: Check DNAT exists agent_vpp_1 dnat_all_output_match.txt 64 65 Delete NAT1 And Check NAT2 After Delete 66 Remove DNat On agent_vpp_1 With Name dnat1 67 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} Run Keyword And Expect Error ${error_message_1} Get VPP NAT44 Config As Json agent_vpp_1 dnat1 68 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} Get VPP NAT44 Config As Json agent_vpp_1 dnat2 69 vpp_term: Check DNAT exists agent_vpp_1 dnat_output_match.txt 70 71 Rewrite NAT Global And Check 72 Create Interface GlobalNat On agent_vpp_1 With First IP ${IP_3} On Inteface ${INTERFACE_NAME_1} And Second IP ${IP_4} On Interface ${INTERFACE_NAME_2} Vrf Id 0 Config File nat-global-reduced.json 73 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} Get VPP NAT44 Global Config As Json agent_vpp_1 74 75 Delete NAT Global And Check 76 Remove Global Nat On agent_vpp_1 77 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} Run Keyword And Expect Error ${error_message_1} Get VPP NAT44 Global Config As Json agent_vpp_1 78 79 *** Keywords *** 80 TestSetup 81 Make Datastore Snapshots ${TEST_NAME}_test_setup 82 83 TestTeardown 84 Make Datastore Snapshots ${TEST_NAME}_test_teardown