2 Documentation Test suite for RESTCONF FRM
3 Suite Setup Create Session session http://${CONTROLLER}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS_XML}
4 Suite Teardown Delete All Sessions
6 Library RequestsLibrary
7 Library ../../../libraries/Common.py
8 Variables ../../../variables/Variables.py
9 Resource ../../../libraries/Utils.robot
12 ${REST_CON} /restconf/config/opendaylight-inventory:nodes
13 ${BODY2} <flow xmlns="urn:opendaylight:flow:inventory"><priority>2</priority><flow-name>Foo</flow-name><match><ethernet-match><ethernet-type><type>2048</type></ethernet-type></ethernet-match><ipv4-destination>10.0.20.1/32</ipv4-destination></match><id>152</id><table_id>0</table_id><instructions><instruction><order>0</order><apply-actions><action><order>0</order><output-action><output-node-connector>openflow:1:1</output-node-connector></output-action></action></apply-actions></instruction></instructions></flow>
16 Add a flow - Output to physical port#
17 [Documentation] Push a flow through REST-API
18 ${resp} RequestsLibrary.Put session ${REST_CON}/node/openflow:1/table/0/flow/152 headers=${HEADERS_XML} data=${BODY2}
19 Should Be Equal As Strings ${resp.status_code} 200
21 Verify after adding flow config - Output to physical port#
22 [Documentation] Verify the flow
23 ${resp} RequestsLibrary.Get session ${REST_CON}/node/openflow:1/table/0
24 Should Be Equal As Strings ${resp.status_code} 200
25 Should Contain ${resp.content} 152
27 Verify after adding flow operational - Output to physical port#
28 [Documentation] Verify the flow
29 ${elements}= Create List 10.0.20.1
30 Wait Until Keyword Succeeds 6s 2s Check For Elements At URI ${OPERATIONAL_NODES_API}/node/openflow:1/table/0/flow/152 ${elements}
32 Remove a flow - Output to physical port#
33 [Documentation] Remove a flow
34 ${resp} RequestsLibrary.Delete session ${REST_CON}/node/openflow:1/table/0/flow/152
35 Should Be Equal As Strings ${resp.status_code} 200
37 Verify after deleting flow config - Output to physical port#
38 [Documentation] Verify the flow
39 ${resp} RequestsLibrary.Get session ${REST_CON}/node/openflow:1/table/0
40 Should Be Equal As Strings ${resp.status_code} 200
41 Should Not Contain ${resp.content} 152
42 # Standing bug #368 - This has been fixed
44 Verify after deleting flow operational - Output to physical port#
45 [Documentation] Verify the flow
46 ${elements}= Create List 10.0.20.1
47 Wait Until Keyword Succeeds 6s 2s Check For Elements Not At URI ${OPERATIONAL_NODES_API}/node/openflow:1/table/0 ${elements}