2 Documentation Tests for Access Control Policy (ACP) resource attributes
3 Suite Teardown Kill The Tree ${ODL_SYSTEM_IP} InCSE1 admin admin
4 Resource ../../../libraries/SubStrings.robot
5 Library ../../../libraries/criotdm.py
9 ${httphost} ${ODL_SYSTEM_IP}
14 ${rt_contentInstance} 4
19 [Documentation] set a suite variable ${iserver}
20 ${iserver} = Connect To Iotdm ${httphost} ${httpuser} ${httppass} http
21 Set Suite Variable ${iserver}
22 #==================================================
23 # Container Mandatory Attribute Test
24 #==================================================
25 # For Creation, there are no mandatory input attribute
27 1.0 Test whether default ACP exist
28 Modify Headers Origin ${iserver} admin
29 ${r} = Retrieve Resource ${iserver} InCSE1/_defaultACP
32 ${status_code} = Status Code ${r}
33 Should Be True 199 < ${status_code} < 299
35 1.1 Create ACP without context, test whether all the reponse mandatory attribtues exist.
36 [Documentation] After Created, test whether all the mandatory attribtues exist.
37 ${attr} = Set Variable "pv":{"acr":[{"acor" : ["111","222"],"acop":35},{"acor" : ["111","222"],"acop":35}]},"pvs":{"acr":[{"acor" : ["111","222"],"acop":7},{"acor" : ["111","222"],"acop":9}]},"rn":"Acp1"
38 ${r}= Create Resource ${iserver} InCSE1 ${rt_acp} ${attr}
39 ${status_code} = Status Code ${r}
40 Should Be Equal As Integers ${status_code} 201
41 ${text} = Convert To String ${r.text}
42 Should Contain All Sub Strings ${text} "ct": "lt": "ty" "ri": "pi":
44 1.2 Create ACP with valid acip(ipv4)
45 [Documentation] After Created, test whether all the mandatory attribtues are exist.
46 ${attr} = Set Variable "pv":{"acr":[{"acor" : ["111","222"],"acop":35,"acco":[{"acip":{"ipv4":["127.0.0.1"]}}]},{"acor" : ["111","222"],"acop":35}]},"pvs":{"acr":[{"acor" : ["111","222"],"acop":7},{"acor" : ["111","222"],"acop":9}]},"rn":"Acp2"
47 ${r}= Create Resource ${iserver} InCSE1 ${rt_acp} ${attr}
48 ${status_code} = Status Code ${r}
49 Should Be Equal As Integers ${status_code} 201
50 ${text} = Convert To String ${r.text}
51 Should Contain All Sub Strings ${text} "ct": "lt": "ty" "ri": "pi":
53 1.3 Create ACP with invalid acip(ipv4)
54 [Documentation] input a invalid ipv4 address and expect error
55 ${attr} = Set Variable "pv":{"acr":[{"acor" : ["111","222"],"acop":35,"acco":[{"acip":{"ipv4":["127.0.01"]}}]},{"acor" : ["111","222"],"acop":35}]},"pvs":{"acr":[{"acor" : ["111","222"],"acop":7},{"acor" : ["111","222"],"acop":9}]},"rn":"Acp3"
56 ${error}= Run Keyword And Expect Error * Create Resource ${iserver} InCSE1 ${rt_acp}
58 Should Start with ${error} Cannot create this resource [400]
59 Should Contain ${error} not a valid Ipv4 address
61 1.4 Create ACP with valid acip(ipv6)
62 [Documentation] After Created, test whether all the mandatory attribtues are exist.
63 ${attr} = Set Variable "pv":{"acr":[{"acor" : ["111","222"],"acop":35,"acco":[{"acip":{"ipv6":["2001:db8:0:0:0:ff00:42:8329"]}}]},{"acor" : ["111","222"],"acop":35}]},"pvs":{"acr":[{"acor" : ["111","222"],"acop":7},{"acor" : ["111","222"],"acop":9}]},"rn":"Acp4"
64 ${r}= Create Resource ${iserver} InCSE1 ${rt_acp} ${attr}
65 ${status_code} = Status Code ${r}
66 Should Be Equal As Integers ${status_code} 201
67 ${text} = Convert To String ${r.text}
68 Should Contain All Sub Strings ${text} "ct": "lt": "ty" "ri": "pi":
70 1.5 Create ACP with invalid acip(ipv6)
71 [Documentation] input a invalid Ipv6 address and expect error
72 ${attr} = Set Variable "pv":{"acr":[{"acor" : ["111","222"],"acop":35,"acco":[{"acip":{"ipv6":["2001:db8:0:0:0:ff00:42"]}}]},{"acor" : ["111","222"],"acop":35}]},"pvs":{"acr":[{"acor" : ["111","222"],"acop":7},{"acor" : ["111","222"],"acop":9}]},"rn":"Acp3"
73 ${error}= Run Keyword And Expect Error * Create Resource ${iserver} InCSE1 ${rt_acp}
75 Should Start with ${error} Cannot create this resource [400]
76 Should Contain ${error} not a valid Ipv6 address
79 Connect And Create Resource
80 [Arguments] ${targetURI} ${resoutceType} ${attr} ${resourceName}=${EMPTY}
81 ${iserver} = Connect To Iotdm ${httphost} ${httpuser} ${httppass} http
82 ${r} = Create Resource ${iserver} ${targetURI} ${resoutceType} ${attr} ${resourceName}
83 ${status_code} = Status Code ${r}
84 Should Be Equal As Integers ${status_code} 201
92 ${status_code} = Status Code ${r}
93 Should Be True 199 < ${status_code} < 299