Update iotdm library and tests.
[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}    ${attr}
57     Should Start with    ${error}    Cannot create this resource [400]
58     Should Contain    ${error}    not a valid Ipv4 address
59
60 1.4 Create ACP with valid acip(ipv6)
61     [Documentation]    After Created, test whether all the mandatory attribtues are exist.
62     ${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"
63     ${r}=    Create Resource    ${iserver}    InCSE1    ${rt_acp}    ${attr}
64     ${status_code} =    Status Code    ${r}
65     Should Be Equal As Integers    ${status_code}    201
66     ${text} =    Text    ${r}
67     Should Contain    ${text}    "ct":    "lt":    "ty"
68     Should Contain    ${text}    "ri":    "pi":
69
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}    ${attr}
74     Should Start with    ${error}    Cannot create this resource [400]
75     Should Contain    ${error}    not a valid Ipv6 address
76
77
78 *** Keywords ***
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
85
86 Response Is Correct
87     [Arguments]    ${r}
88     ${text} =    Text    ${r}
89     LOG    ${text}
90     ${json} =    Json    ${r}
91     LOG    ${json}
92     ${status_code} =    Status Code    ${r}
93     Should Be True    199 < ${status_code} < 299