Migrate request invocations (controller)
[integration/test.git] / csit / libraries / IoTDM / IoTDMResources.robot
1 *** Settings ***
2 Documentation       Keywords for sanity test suites testing basic functionality
3 ...                 using multiple communication protocols
4
5 Library             Collections
6 Resource            ../../variables/Variables.robot
7 Resource            IoTDMKeywords.robot
8 Library             iotdm_comm.py
9 Library             OperatingSystem
10 Variables           client_libs/onem2m_primitive.py
11
12
13 *** Variables ***
14 ${defCseBaseName}           InCSE1
15 ${defAeId}                  robotTestAe
16 # when AeId and resourceName of the AE are equal
17 ${defAeUri}                 ${defCseBaseName}/${defAeId}
18 ${defTestApp}               testApp
19 ${defSubscriptionName}      TestSubscription
20
21
22 *** Keywords ***
23 Log Primitive
24     [Documentation]    Logs primitive parameters, content and protocol specific parameters
25     [Arguments]    ${primitive}
26     ${primitive_params} =    Get Primitive Parameters    ${primitive}
27     ${content} =    Get Primitive Content    ${primitive}
28     ${proto_specific_params} =    Get Primitive Protocol Specific Parameters    ${primitive}
29     ${debug} =    Catenate
30     ...    Parameters:
31     ...    ${primitive_params}
32     ...    Content:
33     ...    ${content}
34     ...    ProtocolParams: ${proto_specific_params}
35     Log    ${debug}
36
37 Create Resource
38     [Documentation]    Create resource, verify response and return the response
39     [Arguments]    ${resourceContent}    ${parentResourceUri}    ${resourceType}
40     ${primitive} =    New Create Request Primitive    ${parentResourceUri}    ${resourceContent}    ${resourceType}
41     Log Primitive    ${primitive}
42     ${rsp_primitive} =    Send Primitive    ${primitive}
43     Log Primitive    ${rsp_primitive}
44     Verify Exchange    ${primitive}    ${rsp_primitive}
45     RETURN    ${rsp_primitive}
46
47 Update Resource
48     [Documentation]    Update resource, verify response and return the response
49     [Arguments]    ${update_content}    ${resourceUri}
50     ${primitive} =    New Update Request Primitive    ${resourceUri}    ${update_content}
51     Log Primitive    ${primitive}
52     ${rsp_primitive} =    Send Primitive    ${primitive}
53     Log Primitive    ${rsp_primitive}
54     Verify Exchange    ${primitive}    ${rsp_primitive}
55     RETURN    ${rsp_primitive}
56
57 Retrieve Resource
58     [Documentation]    Retrieve resource, verify response and return the response
59     [Arguments]    ${resourceUri}
60     ${primitive} =    New Retrieve Request Primitive    ${resourceUri}
61     Log Primitive    ${primitive}
62     ${rsp_primitive} =    Send Primitive    ${primitive}
63     Log Primitive    ${rsp_primitive}
64     Verify Exchange    ${primitive}    ${rsp_primitive}
65     RETURN    ${rsp_primitive}
66
67 Delete Resource
68     [Documentation]    Delete resource, verify response and return the response
69     [Arguments]    ${resourceUri}
70     ${primitive} =    New Delete Request Primitive    ${resourceUri}
71     Log Primitive    ${primitive}
72     ${rsp_primitive} =    Send Primitive    ${primitive}
73     Log Primitive    ${rsp_primitive}
74     Verify Exchange    ${primitive}    ${rsp_primitive}
75     RETURN    ${rsp_primitive}
76
77 Create Resource AE
78     [Documentation]    Create AE resource and verify response
79     [Arguments]    ${cseBaseName}=${defCseBaseName}    ${aeId}=${defAeId}    ${appId}=${defTestApp}
80     ${attr} =    Set Variable    {"m2m:ae": {"api":"${appId}", "rr":true, "rn":"${aeId}"}}
81     Run Keyword And Return
82     ...    Create Resource
83     ...    resourceContent=${attr}
84     ...    parentResourceUri=${cseBaseName}
85     ...    resourceType=${OneM2M.resource_type_application_entity}
86
87 Create Resource Container
88     [Documentation]    Create Container resource and verify response
89     [Arguments]    ${parentResourceUri}    ${resourceName}
90     ${content} =    Set Variable    {"m2m:cnt": {"rn": "${resourceName}"}}
91     Run Keyword And Return
92     ...    Create Resource
93     ...    resourceContent=${content}
94     ...    parentResourceUri=${parentResourceUri}
95     ...    resourceType=${OneM2M.resource_type_container}
96
97 Create Resource ContentInstance
98     [Documentation]    Create ContentInstance resource and verify response
99     [Arguments]    ${parentResourceUri}    ${contentValue}    ${resourceName}=${EMPTY}
100     ${resourceName} =    Set Variable If
101     ...    """${resourceName}""" != """${EMPTY}"""
102     ...    """, "rn":"${resourceName}"""
103     ...    ${EMPTY}
104     ${content} =    Set Variable    {"m2m:cin":{"con":"${contentValue}"${resourceName}}}
105     Run Keyword And Return
106     ...    Create Resource
107     ...    resourceContent=${content}
108     ...    parentResourceUri=${parentResourceUri}
109     ...    resourceType=${OneM2M.resource_type_content_instance}
110
111 Create Resource Subscription
112     [Documentation]    Create Suscription resource and verify response
113     [Arguments]    ${parentResourceUri}    ${notificationUri}    ${resourceName}=${defSubscriptionName}    ${notifEventType}=${OneM2M.net_update_of_resource}    ${notifContentType}=${OneM2M.nct_all_attributes}
114     ${attr} =    Set Variable
115     ...    {"m2m:sub":{"nu":["${notificationUri}"],"nct": ${notifContentType},"rn":"${resourceName}", "enc":{"net":[${notifEventType}]}}}
116     Create Resource    ${attr}    ${parentResourceUri}    ${OneM2M.resource_type_subscription}