+++ /dev/null
-*** Settings ***
-Library SSHLibrary
-Library String
-Library DateTime
-Library Collections
-Library json
-Library RequestsLibrary
-Variables ../variables/Variables.py
-Resource ./Utils.robot
-Resource Scalability.robot
-
-*** Variables ***
-${switches} 2
-${REST_CONTEXT_INTENT} restconf/config/intent:intents/intent
-${INTENTS} restconf/config/intent:intents
-${VTN_INVENTORY} restconf/operational/vtn-inventory:vtn-nodes
-${INTENT_ID} b9a13232-525e-4d8c-be21-cd65e3436033
-
-*** Keywords ***
-Start NIC VTN Renderer Suite
- [Documentation] Start Nic VTN Renderer Init Test Suite
- Create Session session http://${CONTROLLER}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS}
- BuiltIn.Wait_Until_Keyword_Succeeds 30 3 Fetch Intent List
-
-Stop NIC VTN Renderer Suite
- [Documentation] Stop Nic VTN Renderer Test Suite
- Delete All Sessions
-
-Start NIC VTN Rest Test Suite
- [Documentation] Start Nic VTN Renderer Rest Test Suite
- Create Session session http://${CONTROLLER}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS}
- Clean Mininet System
- Start Mininet Linear ${switches}
-
-Stop NIC VTN Rest Test Suite
- [Documentation] Stop Nic VTN Renderer Test Suite
- Stop Mininet ${mininet_conn_id}
-
-Fetch Intent List
- [Documentation] Check if VTN Renderer feature is installed.
- ${resp}= RequestsLibrary.Get session ${INTENTS}
- Should Be Equal As Strings ${resp.status_code} 200
-
-Add Intent Using RestConf
- [Arguments] ${intent_id} ${intent_data}
- [Documentation] Create a intent with specified parameters.
- ${resp}= RequestsLibrary.put session ${REST_CONTEXT_INTENT}/${intent_id} data=${intent_data}
- Should Be Equal As Strings ${resp.status_code} 200
-
-Verify Intent Using RestConf
- [Arguments] ${intent_id}
- [Documentation] Verify If intent is created.
- ${resp}= RequestsLibrary.Get session ${REST_CONTEXT_INTENT}/${intent_id}
- Should Be Equal As Strings ${resp.status_code} 200
-
-Update Intent Using RestConf
- [Arguments] ${intent_id} ${intent_data}
- [Documentation] Update a intent with specified parameters.
- ${resp}= RequestsLibrary.put session ${REST_CONTEXT_INTENT}/${intent_id} data=${intent_data}
- Should Be Equal As Strings ${resp.status_code} 200
-
-Delete Intent Using RestConf
- [Arguments] ${intent_id}
- [Documentation] Delete a intent with specified parameters.
- ${resp}= RequestsLibrary.Delete session ${REST_CONTEXT_INTENT}/${intent_id}
- Should Be Equal As Strings ${resp.status_code} 200
-
-Add Intent From Karaf Console
- [Arguments] ${intent_from} ${intent_to} ${intent_permission}
- [Documentation] Adds an intent to the controller, and returns the id of the intent created.
- ${output}= Issue Command On Karaf Console intent:add -f ${intent_from} -t ${intent_to} -a ${intent_permission}
- Should Contain ${output} Intent created
- ${output}= Fetch From Left ${output} )
- ${output_split}= Split String ${output} ${SPACE}
- ${id}= Get From List ${output_split} 3
- [Return] ${id}
-
-Remove Intent From Karaf Console
- [Arguments] ${id}
- [Documentation] Removes an intent from the controller via the provided intent id.
- ${output}= Issue Command On Karaf Console intent:remove ${id}
- Should Contain ${output} Intent successfully removed
- ${output}= Issue Command On Karaf Console log:display |grep "Removed VTN configuration associated with the deleted Intent: "
- Should Contain ${output} Removed VTN configuration associated with the deleted Intent ${id}
-
-Mininet Ping Should Succeed
- [Arguments] ${host1} ${host2}
- [Timeout] 2 minute
- Write ${host1} ping -c 10 ${host2}
- ${result} Read Until mininet>
- Should Contain ${result} 64 bytes
-
-Mininet Ping Should Not Succeed
- [Arguments] ${host1} ${host2}
- [Timeout] 2 minute
- Write ${host1} ping -c 10 ${host2}
- ${result} Read Until mininet>
- Should Not Contain ${result} 64 bytes