Tidy new and updated test suites.
[integration/test.git] / csit / suites / iotdm / basic / 090_AccessControlPolicyTest.robot
1 *** Settings ***
2 Suite Teardown    Kill The Tree    ${ODL_SYSTEM_IP}    InCSE1    admin    admin
3 Library           ../../../libraries/criotdm.py
4 Library           Collections
5
6 *** Variables ***
7 ${httphost}       ${ODL_SYSTEM_IP}
8 ${httpuser}       admin
9 ${httppass}       admin
10 ${rt_ae}          2
11 ${rt_container}    3
12 ${rt_contentInstance}    4
13 ${rt_acp}         1
14
15 *** Test Cases ***
16 Set Suite Variable
17     [Documentation]    set a suite variable ${iserver}
18     ${iserver} =    Connect To Iotdm    ${httphost}    ${httpuser}    ${httppass}    http
19     Set Suite Variable    ${iserver}
20     #==================================================
21     #    Container Mandatory Attribute Test
22     #==================================================
23     # For Creation, there are no mandatory input attribute
24
25 1.0 Test whether default ACP exist
26     Modify Headers Origin    ${iserver}    //iotsandbox.cisco.com:10000
27     ${r} =    Retrieve Resource    ${iserver}    InCSE1/_defaultACP
28     ${text} =    Text    ${r}
29     LOG    ${text}
30     ${status_code} =    Status Code    ${r}
31     Should Be True    199 < ${status_code} < 299
32
33 1.1 Create ACP without context, test whether all the reponse mandatory attribtues are exist.
34     [Documentation]    After Created, test whether all the mandatory attribtues are exist.
35     ${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"
36     ${r}=    Create Resource    ${iserver}    InCSE1    ${rt_acp}    ${attr}
37     ${status_code} =    Status Code    ${r}
38     Should Be Equal As Integers    ${status_code}    201
39     ${text} =    Text    ${r}
40     Should Contain    ${text}    "ct":    "lt":    "ty"
41     Should Contain    ${text}    "ri":    "pi":
42
43 1.2 Create ACP with valid acip(ipv4)
44     [Documentation]    After Created, test whether all the mandatory attribtues are exist.
45     ${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"
46     ${r}=    Create Resource    ${iserver}    InCSE1    ${rt_acp}    ${attr}
47     ${status_code} =    Status Code    ${r}
48     Should Be Equal As Integers    ${status_code}    201
49     ${text} =    Text    ${r}
50     Should Contain    ${text}    "ct":    "lt":    "ty"
51     Should Contain    ${text}    "ri":    "pi":
52
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}
57     ...    ${attr}
58     Should Start with    ${error}    Cannot create this resource [400]
59     Should Contain    ${error}    not a valid Ipv4 address
60
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} =    Text    ${r}
68     Should Contain    ${text}    "ct":    "lt":    "ty"
69     Should Contain    ${text}    "ri":    "pi":
70
71 1.5 Create ACP with invalid acip(ipv6)
72     [Documentation]    input a invalid Ipv6 address and expect error
73     ${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"
74     ${error}=    Run Keyword And Expect Error    *    Create Resource    ${iserver}    InCSE1    ${rt_acp}
75     ...    ${attr}
76     Should Start with    ${error}    Cannot create this resource [400]
77     Should Contain    ${error}    not a valid Ipv6 address
78
79 *** Keywords ***
80 Connect And Create Resource
81     [Arguments]    ${targetURI}    ${resoutceType}    ${attr}    ${resourceName}=${EMPTY}
82     ${iserver} =    Connect To Iotdm    ${httphost}    ${httpuser}    ${httppass}    http
83     ${r} =    Create Resource    ${iserver}    ${targetURI}    ${resoutceType}    ${attr}    ${resourceName}
84     ${status_code} =    Status Code    ${r}
85     Should Be Equal As Integers    ${status_code}    201
86
87 Response Is Correct
88     [Arguments]    ${r}
89     ${text} =    Text    ${r}
90     LOG    ${text}
91     ${json} =    Json    ${r}
92     LOG    ${json}
93     ${status_code} =    Status Code    ${r}
94     Should Be True    199 < ${status_code} < 299