Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
module DeviceApplicationInterfaceAPI_Functions {
// JSON
import from JSON all;
// LibCommon
import from LibCommon_BasicTypesAndValues all;
import from LibCommon_Time all;
import from LibCommon_VerdictControl all;
import from LibCommon_Sync all;
// LibHttp
import from LibItsHttp_TypesAndValues all;
import from LibItsHttp_Functions all;
import from LibItsHttp_Templates all;
import from LibItsHttp_JsonTemplates all;
import from LibItsHttp_TestSystem all;
// LibMec/DeviceApplicationInterfaceAPI
import from DeviceApplicationInterfaceAPI_TypesAndValues all;
import from DeviceApplicationInterfaceAPI_Templates all;
import from DeviceApplicationInterfaceAPI_Pixits all;
// LibMec
import from LibMec_Templates all;
import from LibMec_Functions all;
import from LibMec_Pics all;
import from LibMec_Pixits all;
function f_create_application_context(
out AppContext p_device_info_app_context
) runs on HttpComponent {
var Headers v_headers;
var HttpMessage v_response;
f_init_default_headers_list(-, -, v_headers);
httpPort.send(
m_http_request(
m_http_request_post(
PICS_ROOT_API & PX_DEVICE_APP_CTX_URI,
v_headers,
m_http_message_body_json(
m_body_json_device_info_app_context(
m_device_app_context(
PX_ASSOCIATE_DEV_APPID,
m_app_context_info(
PX_APPD_ID,
PX_UNKNOWN_APP_NAME,
PX_APP_PROVIDER,
PX_APPD_VERSION
),
PX_DEVICE_APP_CALLBACK
)
)
)
)
)
);
tc_ac.start;
alt {
[] httpPort.receive(
mw_http_response(
mw_http_response_201_created(
mw_http_message_body_json(
mw_body_json_device_info_app_context(
mw_device_app_context(
-,
PX_ASSOCIATE_DEV_APPID,
mw_app_context_info,
PX_DEVICE_APP_CALLBACK
)))))) -> value v_response {
tc_ac.stop;
// TODO Check presence of Location HTTP header
p_device_info_app_context := v_response.response.body.json_body.appContext_device_info;
log("f_create_application_context: INFO: IUT successfully responds with an Application Context: ", p_device_info_app_context);
}
[] tc_ac.timeout {
log("f_create_application_context: INCONC: Expected message not received");
}
} // End of 'alt' statement
} // End of function f_create_application_context
function f_delete_application_context(
in AppContext p_device_info_app_context
) runs on HttpComponent {
var Headers v_headers;
f_init_default_headers_list(-, -, v_headers);
httpPort.send(
m_http_request(
m_http_request_delete(
PICS_ROOT_API & PX_DEVICE_APP_CTX_URI & "/" & p_device_info_app_context.contextId,
v_headers
)
)
);
tc_ac.start;
alt {
[] httpPort.receive(
mw_http_response(
mw_http_response_204_no_content
)) {
tc_ac.stop;
log("f_delete_application_context: INFO: IUT successfully deletes the Application Context: ", p_device_info_app_context.contextId);
}
[] tc_ac.timeout {
log("f_delete_application_context: INCONC: Expected message not received");
}
} // End of 'alt' statement
} // End of function f_delete_application_context
} // End of module DeviceApplicationInterfaceAPI_Functions