cactus-test-definitions 1.8.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. cactus_test_definitions/__init__.py +39 -0
  2. cactus_test_definitions/__pycache__/__init__.cpython-312.pyc +0 -0
  3. cactus_test_definitions/__pycache__/actions.cpython-312.pyc +0 -0
  4. cactus_test_definitions/__pycache__/checks.cpython-312.pyc +0 -0
  5. cactus_test_definitions/__pycache__/csipaus.cpython-312.pyc +0 -0
  6. cactus_test_definitions/__pycache__/errors.cpython-312.pyc +0 -0
  7. cactus_test_definitions/__pycache__/events.cpython-312.pyc +0 -0
  8. cactus_test_definitions/__pycache__/parameters.cpython-312.pyc +0 -0
  9. cactus_test_definitions/__pycache__/schema.cpython-312.pyc +0 -0
  10. cactus_test_definitions/__pycache__/test_procedures.cpython-312-pytest-8.3.5.pyc +0 -0
  11. cactus_test_definitions/__pycache__/test_procedures.cpython-312.pyc +0 -0
  12. cactus_test_definitions/__pycache__/variable_expressions.cpython-312.pyc +0 -0
  13. cactus_test_definitions/__pycache__/version.cpython-312.pyc +0 -0
  14. cactus_test_definitions/client/__init__.py +30 -0
  15. cactus_test_definitions/client/__pycache__/__init__.cpython-312.pyc +0 -0
  16. cactus_test_definitions/client/__pycache__/actions.cpython-312.pyc +0 -0
  17. cactus_test_definitions/client/__pycache__/checks.cpython-312.pyc +0 -0
  18. cactus_test_definitions/client/__pycache__/events.cpython-312.pyc +0 -0
  19. cactus_test_definitions/client/__pycache__/test_procedures.cpython-312-pytest-8.3.5.pyc +0 -0
  20. cactus_test_definitions/client/__pycache__/validate.cpython-312.pyc +0 -0
  21. cactus_test_definitions/client/actions.py +99 -0
  22. cactus_test_definitions/client/checks.py +128 -0
  23. cactus_test_definitions/client/events.py +71 -0
  24. cactus_test_definitions/client/procedures/ALL-01.yaml +94 -0
  25. cactus_test_definitions/client/procedures/ALL-02.yaml +113 -0
  26. cactus_test_definitions/client/procedures/ALL-03-REJ.yaml +69 -0
  27. cactus_test_definitions/client/procedures/ALL-03.yaml +110 -0
  28. cactus_test_definitions/client/procedures/ALL-04.yaml +69 -0
  29. cactus_test_definitions/client/procedures/ALL-05.yaml +117 -0
  30. cactus_test_definitions/client/procedures/ALL-06.yaml +128 -0
  31. cactus_test_definitions/client/procedures/ALL-07.yaml +76 -0
  32. cactus_test_definitions/client/procedures/ALL-08.yaml +78 -0
  33. cactus_test_definitions/client/procedures/ALL-09.yaml +111 -0
  34. cactus_test_definitions/client/procedures/ALL-10.yaml +128 -0
  35. cactus_test_definitions/client/procedures/ALL-11.yaml +111 -0
  36. cactus_test_definitions/client/procedures/ALL-12.yaml +126 -0
  37. cactus_test_definitions/client/procedures/ALL-13.yaml +112 -0
  38. cactus_test_definitions/client/procedures/ALL-14.yaml +165 -0
  39. cactus_test_definitions/client/procedures/ALL-15.yaml +109 -0
  40. cactus_test_definitions/client/procedures/ALL-16.yaml +102 -0
  41. cactus_test_definitions/client/procedures/ALL-17.yaml +63 -0
  42. cactus_test_definitions/client/procedures/ALL-18.yaml +289 -0
  43. cactus_test_definitions/client/procedures/ALL-19.yaml +78 -0
  44. cactus_test_definitions/client/procedures/ALL-20.yaml +136 -0
  45. cactus_test_definitions/client/procedures/ALL-21.yaml +203 -0
  46. cactus_test_definitions/client/procedures/ALL-22.yaml +82 -0
  47. cactus_test_definitions/client/procedures/ALL-23.yaml +158 -0
  48. cactus_test_definitions/client/procedures/ALL-24.yaml +132 -0
  49. cactus_test_definitions/client/procedures/ALL-25-EXT.yaml +228 -0
  50. cactus_test_definitions/client/procedures/ALL-25.yaml +136 -0
  51. cactus_test_definitions/client/procedures/ALL-26.yaml +147 -0
  52. cactus_test_definitions/client/procedures/ALL-27.yaml +144 -0
  53. cactus_test_definitions/client/procedures/ALL-28.yaml +273 -0
  54. cactus_test_definitions/client/procedures/ALL-29.yaml +87 -0
  55. cactus_test_definitions/client/procedures/ALL-30.yaml +188 -0
  56. cactus_test_definitions/client/procedures/BES-01.yaml +136 -0
  57. cactus_test_definitions/client/procedures/BES-02.yaml +137 -0
  58. cactus_test_definitions/client/procedures/BES-03.yaml +135 -0
  59. cactus_test_definitions/client/procedures/BES-04.yaml +228 -0
  60. cactus_test_definitions/client/procedures/DRA-01.yaml +54 -0
  61. cactus_test_definitions/client/procedures/DRA-02.yaml +64 -0
  62. cactus_test_definitions/client/procedures/DRD-01.yaml +667 -0
  63. cactus_test_definitions/client/procedures/DRL-01.yaml +327 -0
  64. cactus_test_definitions/client/procedures/GEN-01.yaml +73 -0
  65. cactus_test_definitions/client/procedures/GEN-02.yaml +72 -0
  66. cactus_test_definitions/client/procedures/GEN-03.yaml +160 -0
  67. cactus_test_definitions/client/procedures/GEN-04.yaml +161 -0
  68. cactus_test_definitions/client/procedures/GEN-05.yaml +89 -0
  69. cactus_test_definitions/client/procedures/GEN-06.yaml +90 -0
  70. cactus_test_definitions/client/procedures/GEN-07.yaml +145 -0
  71. cactus_test_definitions/client/procedures/GEN-08.yaml +145 -0
  72. cactus_test_definitions/client/procedures/GEN-09.yaml +117 -0
  73. cactus_test_definitions/client/procedures/GEN-10.yaml +793 -0
  74. cactus_test_definitions/client/procedures/GEN-11.yaml +402 -0
  75. cactus_test_definitions/client/procedures/GEN-12.yaml +402 -0
  76. cactus_test_definitions/client/procedures/GEN-13.yaml +70 -0
  77. cactus_test_definitions/client/procedures/LOA-01.yaml +73 -0
  78. cactus_test_definitions/client/procedures/LOA-02.yaml +73 -0
  79. cactus_test_definitions/client/procedures/LOA-03.yaml +160 -0
  80. cactus_test_definitions/client/procedures/LOA-04.yaml +161 -0
  81. cactus_test_definitions/client/procedures/LOA-05.yaml +89 -0
  82. cactus_test_definitions/client/procedures/LOA-06.yaml +89 -0
  83. cactus_test_definitions/client/procedures/LOA-07.yaml +145 -0
  84. cactus_test_definitions/client/procedures/LOA-08.yaml +145 -0
  85. cactus_test_definitions/client/procedures/LOA-09.yaml +117 -0
  86. cactus_test_definitions/client/procedures/LOA-10.yaml +793 -0
  87. cactus_test_definitions/client/procedures/LOA-11.yaml +402 -0
  88. cactus_test_definitions/client/procedures/LOA-12.yaml +402 -0
  89. cactus_test_definitions/client/procedures/LOA-13.yaml +71 -0
  90. cactus_test_definitions/client/procedures/MUL-01.yaml +92 -0
  91. cactus_test_definitions/client/procedures/MUL-02.yaml +80 -0
  92. cactus_test_definitions/client/procedures/MUL-03.yaml +74 -0
  93. cactus_test_definitions/client/test_procedures.py +185 -0
  94. cactus_test_definitions/client/validate.py +98 -0
  95. cactus_test_definitions/csipaus.py +83 -0
  96. cactus_test_definitions/errors.py +15 -0
  97. cactus_test_definitions/parameters.py +153 -0
  98. cactus_test_definitions/py.typed +0 -0
  99. cactus_test_definitions/schema.py +22 -0
  100. cactus_test_definitions/server/README.md +172 -0
  101. cactus_test_definitions/server/__init__.py +27 -0
  102. cactus_test_definitions/server/__pycache__/__init__.cpython-312.pyc +0 -0
  103. cactus_test_definitions/server/__pycache__/actions.cpython-312.pyc +0 -0
  104. cactus_test_definitions/server/__pycache__/checks.cpython-312.pyc +0 -0
  105. cactus_test_definitions/server/__pycache__/test_procedures.cpython-312-pytest-8.3.5.pyc +0 -0
  106. cactus_test_definitions/server/__pycache__/validate.cpython-312.pyc +0 -0
  107. cactus_test_definitions/server/actions.py +140 -0
  108. cactus_test_definitions/server/checks.py +152 -0
  109. cactus_test_definitions/server/procedures/S-ALL-01.yaml +45 -0
  110. cactus_test_definitions/server/procedures/S-ALL-02.yaml +65 -0
  111. cactus_test_definitions/server/procedures/S-ALL-03.yaml +65 -0
  112. cactus_test_definitions/server/procedures/S-ALL-04.yaml +137 -0
  113. cactus_test_definitions/server/procedures/S-ALL-05.yaml +111 -0
  114. cactus_test_definitions/server/procedures/S-ALL-06.yaml +111 -0
  115. cactus_test_definitions/server/procedures/S-ALL-07.yaml +100 -0
  116. cactus_test_definitions/server/procedures/S-ALL-08.yaml +77 -0
  117. cactus_test_definitions/server/procedures/S-ALL-09.yaml +43 -0
  118. cactus_test_definitions/server/procedures/S-ALL-10.yaml +68 -0
  119. cactus_test_definitions/server/procedures/S-ALL-11.yaml +36 -0
  120. cactus_test_definitions/server/procedures/S-ALL-12.yaml +36 -0
  121. cactus_test_definitions/server/procedures/S-ALL-13.yaml +36 -0
  122. cactus_test_definitions/server/procedures/S-ALL-14.yaml +36 -0
  123. cactus_test_definitions/server/procedures/S-ALL-15.yaml +79 -0
  124. cactus_test_definitions/server/procedures/S-ALL-16.yaml +79 -0
  125. cactus_test_definitions/server/procedures/S-ALL-17.yaml +39 -0
  126. cactus_test_definitions/server/procedures/S-ALL-18.yaml +35 -0
  127. cactus_test_definitions/server/procedures/S-ALL-19.yaml +34 -0
  128. cactus_test_definitions/server/procedures/S-ALL-20.yaml +34 -0
  129. cactus_test_definitions/server/procedures/S-ALL-21.yaml +34 -0
  130. cactus_test_definitions/server/procedures/S-ALL-22.yaml +34 -0
  131. cactus_test_definitions/server/procedures/S-ALL-23.yaml +34 -0
  132. cactus_test_definitions/server/procedures/S-ALL-24.yaml +37 -0
  133. cactus_test_definitions/server/procedures/S-ALL-25.yaml +151 -0
  134. cactus_test_definitions/server/procedures/S-ALL-41.yaml +343 -0
  135. cactus_test_definitions/server/procedures/S-ALL-42.yaml +81 -0
  136. cactus_test_definitions/server/procedures/S-ALL-43.yaml +146 -0
  137. cactus_test_definitions/server/procedures/S-ALL-44.yaml +51 -0
  138. cactus_test_definitions/server/procedures/S-ALL-45.yaml +34 -0
  139. cactus_test_definitions/server/procedures/S-ALL-48.yaml +29 -0
  140. cactus_test_definitions/server/procedures/S-ALL-49.yaml +56 -0
  141. cactus_test_definitions/server/procedures/S-ALL-51.yaml +35 -0
  142. cactus_test_definitions/server/procedures/S-ALL-52.yaml +35 -0
  143. cactus_test_definitions/server/procedures/S-ALL-53.yaml +42 -0
  144. cactus_test_definitions/server/procedures/S-ALL-55.yaml +45 -0
  145. cactus_test_definitions/server/procedures/S-ALL-56.yaml +36 -0
  146. cactus_test_definitions/server/procedures/S-ALL-57.yaml +62 -0
  147. cactus_test_definitions/server/procedures/S-OPT-01.yaml +42 -0
  148. cactus_test_definitions/server/procedures/S-OPT-02.yaml +40 -0
  149. cactus_test_definitions/server/procedures/S-OPT-03.yaml +47 -0
  150. cactus_test_definitions/server/procedures/S-OPT-04.yaml +32 -0
  151. cactus_test_definitions/server/procedures/S-OPT-05.yaml +33 -0
  152. cactus_test_definitions/server/test_procedures.py +156 -0
  153. cactus_test_definitions/server/validate.py +30 -0
  154. cactus_test_definitions/variable_expressions.py +419 -0
  155. cactus_test_definitions-1.8.0.dist-info/METADATA +289 -0
  156. cactus_test_definitions-1.8.0.dist-info/RECORD +173 -0
  157. cactus_test_definitions-1.8.0.dist-info/WHEEL +5 -0
  158. cactus_test_definitions-1.8.0.dist-info/licenses/LICENSE.txt +22 -0
  159. cactus_test_definitions-1.8.0.dist-info/top_level.txt +2 -0
  160. tests/__init__.py +0 -0
  161. tests/unit/__init__.py +0 -0
  162. tests/unit/client/__init__.py +0 -0
  163. tests/unit/client/test_actions.py +72 -0
  164. tests/unit/client/test_checks.py +71 -0
  165. tests/unit/client/test_events.py +36 -0
  166. tests/unit/client/test_test_procedures.py +103 -0
  167. tests/unit/client/test_validate.py +200 -0
  168. tests/unit/server/__init__.py +0 -0
  169. tests/unit/server/test_test_procedures.py +60 -0
  170. tests/unit/server/test_validate.py +75 -0
  171. tests/unit/test_csipaus.py +49 -0
  172. tests/unit/test_parameters.py +197 -0
  173. tests/unit/test_variable_expressions.py +402 -0
@@ -0,0 +1,289 @@
1
+ Description: Control Responses
2
+ Category: Control
3
+ Classes:
4
+ - A
5
+
6
+ TargetVersions:
7
+ - v1.2
8
+ - v1.3-beta/storage
9
+
10
+ Criteria:
11
+ checks:
12
+ - type: all-steps-complete
13
+ parameters: {}
14
+ - type: response-contents
15
+ parameters:
16
+ all: true
17
+ status: 1
18
+
19
+ Preconditions:
20
+ init_actions:
21
+ - type: set-comms-rate
22
+ parameters:
23
+ dcap_poll_seconds: 60
24
+ edev_list_poll_seconds: 60
25
+ fsa_list_poll_seconds: 60
26
+ der_list_poll_seconds: 60
27
+ derp_list_poll_seconds: 60
28
+ mup_post_seconds: 60
29
+ checks:
30
+ - type: end-device-contents
31
+ parameters: {}
32
+ - type: der-settings-contents
33
+ parameters: {}
34
+
35
+ actions:
36
+ # (a)
37
+ - type: create-der-control
38
+ parameters:
39
+ start: $(now)
40
+ duration_seconds: 120
41
+ opModExpLimW: $(setMaxW * 2)
42
+ opModImpLimW: $(setMaxW * 2)
43
+
44
+ Steps:
45
+
46
+ # (b)
47
+ POST-RESPONSE-RECEIVED:
48
+ event:
49
+ type: POST-request-received
50
+ parameters:
51
+ endpoint: /edev/1/rsps/site_control/rsp
52
+ serve_request_first: true
53
+ checks:
54
+ - type: response-contents
55
+ parameters:
56
+ latest: true
57
+ status: 1
58
+ actions:
59
+ - type: enable-steps
60
+ parameters:
61
+ steps:
62
+ - POST-RESPONSE-STARTED
63
+ - type: remove-steps
64
+ parameters:
65
+ steps:
66
+ - POST-RESPONSE-RECEIVED
67
+
68
+ # (c, d)
69
+ POST-RESPONSE-STARTED:
70
+ event:
71
+ type: POST-request-received
72
+ parameters:
73
+ endpoint: /edev/1/rsps/site_control/rsp
74
+ serve_request_first: true
75
+ checks:
76
+ - type: response-contents
77
+ parameters:
78
+ latest: true
79
+ status: 2
80
+ actions:
81
+ - type: enable-steps
82
+ parameters:
83
+ steps:
84
+ - POST-RESPONSE-COMPLETED
85
+ - type: remove-steps
86
+ parameters:
87
+ steps:
88
+ - POST-RESPONSE-STARTED
89
+
90
+ # (e, f, g)
91
+ POST-RESPONSE-COMPLETED:
92
+ event:
93
+ type: POST-request-received
94
+ parameters:
95
+ endpoint: /edev/1/rsps/site_control/rsp
96
+ serve_request_first: true
97
+ checks:
98
+ - type: response-contents
99
+ parameters:
100
+ latest: true
101
+ status: 3
102
+ actions:
103
+ - type: enable-steps
104
+ parameters:
105
+ steps:
106
+ - POST-SECOND-RESPONSE-RECEIVED
107
+ - type: create-der-control
108
+ parameters:
109
+ start: $(now + '5 minutes')
110
+ duration_seconds: 600
111
+ opModExpLimW: $(setMaxW * 2)
112
+ opModImpLimW: $(setMaxW * 2)
113
+ - type: remove-steps
114
+ parameters:
115
+ steps:
116
+ - POST-RESPONSE-COMPLETED
117
+
118
+ # (h)
119
+ POST-SECOND-RESPONSE-RECEIVED:
120
+ event:
121
+ type: POST-request-received
122
+ parameters:
123
+ endpoint: /edev/1/rsps/site_control/rsp
124
+ serve_request_first: true
125
+ checks:
126
+ - type: response-contents
127
+ parameters:
128
+ latest: true
129
+ status: 1
130
+ actions:
131
+ - type: enable-steps
132
+ parameters:
133
+ steps:
134
+ - POST-SECOND-RESPONSE-STARTED
135
+ - type: remove-steps
136
+ parameters:
137
+ steps:
138
+ - POST-SECOND-RESPONSE-RECEIVED
139
+
140
+ # (i, j)
141
+ POST-SECOND-RESPONSE-STARTED:
142
+ event:
143
+ type: POST-request-received
144
+ parameters:
145
+ endpoint: /edev/1/rsps/site_control/rsp
146
+ serve_request_first: true
147
+ checks:
148
+ - type: response-contents
149
+ parameters:
150
+ latest: true
151
+ status: 2
152
+ actions:
153
+ - type: cancel-active-der-controls
154
+ parameters: {}
155
+ - type: enable-steps
156
+ parameters:
157
+ steps:
158
+ - POST-SECOND-RESPONSE-CANCELLED
159
+ - type: remove-steps
160
+ parameters:
161
+ steps:
162
+ - POST-SECOND-RESPONSE-STARTED
163
+
164
+
165
+ # (k, l)
166
+ POST-SECOND-RESPONSE-CANCELLED:
167
+ event:
168
+ type: POST-request-received
169
+ parameters:
170
+ endpoint: /edev/1/rsps/site_control/rsp
171
+ serve_request_first: true
172
+ checks:
173
+ - type: response-contents
174
+ parameters:
175
+ latest: true
176
+ status: 6
177
+ actions:
178
+ - type: create-der-control
179
+ parameters:
180
+ start: $(now + '10 minutes')
181
+ duration_seconds: 120
182
+ opModExpLimW: 0
183
+ opModImpLimW: 0
184
+ - type: enable-steps
185
+ parameters:
186
+ steps:
187
+ - POST-THIRD-RESPONSE-RECEIVED
188
+ - type: remove-steps
189
+ parameters:
190
+ steps:
191
+ - POST-SECOND-RESPONSE-CANCELLED
192
+
193
+ # (m, n)
194
+ POST-THIRD-RESPONSE-RECEIVED:
195
+ event:
196
+ type: POST-request-received
197
+ parameters:
198
+ endpoint: /edev/1/rsps/site_control/rsp
199
+ serve_request_first: true
200
+ checks:
201
+ - type: response-contents
202
+ parameters:
203
+ latest: true
204
+ status: 1
205
+ actions:
206
+ - type: cancel-active-der-controls
207
+ parameters: {}
208
+ - type: enable-steps
209
+ parameters:
210
+ steps:
211
+ - POST-THIRD-RESPONSE-CANCELLED
212
+ - type: remove-steps
213
+ parameters:
214
+ steps:
215
+ - POST-THIRD-RESPONSE-RECEIVED
216
+
217
+ # (o, p)
218
+ POST-THIRD-RESPONSE-CANCELLED:
219
+ event:
220
+ type: POST-request-received
221
+ parameters:
222
+ endpoint: /edev/1/rsps/site_control/rsp
223
+ serve_request_first: true
224
+ checks:
225
+ - type: response-contents
226
+ parameters:
227
+ latest: true
228
+ status: 6
229
+ actions:
230
+ - type: create-der-control
231
+ parameters:
232
+ start: $(now + '10 minutes')
233
+ duration_seconds: 600
234
+ opModExpLimW: $(setMaxW * 2)
235
+ opModImpLimW: $(setMaxW * 2)
236
+ - type: enable-steps
237
+ parameters:
238
+ steps:
239
+ - POST-FOURTH-RESPONSE-RECEIVED
240
+ - type: remove-steps
241
+ parameters:
242
+ steps:
243
+ - POST-THIRD-RESPONSE-CANCELLED
244
+
245
+ # (q, r)
246
+ POST-FOURTH-RESPONSE-RECEIVED:
247
+ event:
248
+ type: POST-request-received
249
+ parameters:
250
+ endpoint: /edev/1/rsps/site_control/rsp
251
+ serve_request_first: true
252
+ checks:
253
+ - type: response-contents
254
+ parameters:
255
+ latest: true
256
+ status: 1
257
+ actions:
258
+ - type: create-der-control
259
+ parameters:
260
+ start: $(now + '10 minutes')
261
+ duration_seconds: 60
262
+ opModExpLimW: 0
263
+ opModImpLimW: 0
264
+ - type: enable-steps
265
+ parameters:
266
+ steps:
267
+ - POST-FOURTH-RESPONSE-SUPERSEDED
268
+ - type: remove-steps
269
+ parameters:
270
+ steps:
271
+ - POST-FOURTH-RESPONSE-RECEIVED
272
+
273
+ # (s)
274
+ POST-FOURTH-RESPONSE-SUPERSEDED:
275
+ event:
276
+ type: POST-request-received
277
+ parameters:
278
+ endpoint: /edev/1/rsps/site_control/rsp
279
+ serve_request_first: true
280
+ checks:
281
+ - type: response-contents
282
+ parameters:
283
+ latest: true
284
+ status: 7
285
+ actions:
286
+ - type: remove-steps
287
+ parameters:
288
+ steps:
289
+ - POST-FOURTH-RESPONSE-SUPERSEDED
@@ -0,0 +1,78 @@
1
+ Description: Update Function Set Assignments Poll Rate
2
+ Category: Control
3
+ Classes:
4
+ - A
5
+ - DR-A
6
+
7
+ TargetVersions:
8
+ - v1.2
9
+ - v1.3-beta/storage
10
+
11
+ Criteria:
12
+ checks:
13
+ - type: all-steps-complete
14
+ parameters: {}
15
+
16
+ Preconditions:
17
+ init_actions:
18
+ - type: set-comms-rate
19
+ parameters:
20
+ dcap_poll_seconds: 60
21
+ edev_list_poll_seconds: 60
22
+ fsa_list_poll_seconds: 300
23
+ der_list_poll_seconds: 60
24
+ derp_list_poll_seconds: 60
25
+ mup_post_seconds: 60
26
+ checks:
27
+ - type: end-device-contents
28
+ parameters: {}
29
+
30
+ Steps:
31
+
32
+ # (a)
33
+ GET-FSA-LIST:
34
+ event:
35
+ type: GET-request-received
36
+ parameters:
37
+ endpoint: /edev/1/fsa
38
+
39
+ actions:
40
+ - type: set-comms-rate
41
+ parameters:
42
+ fsa_list_poll_seconds: 60
43
+ - type: enable-steps
44
+ parameters:
45
+ steps:
46
+ - GET-FSA-LIST-AGAIN
47
+ - WAIT-TEST-END
48
+ - type: remove-steps
49
+ parameters:
50
+ steps:
51
+ - GET-FSA-LIST
52
+
53
+ # (c)
54
+ WAIT-TEST-END:
55
+ event:
56
+ type: wait
57
+ parameters:
58
+ duration_seconds: 120
59
+ actions:
60
+ - type: remove-steps
61
+ parameters:
62
+ steps:
63
+ - WAIT-TEST-END
64
+ - type: finish-test
65
+ parameters: {}
66
+
67
+ # (b, c)
68
+ GET-FSA-LIST-AGAIN:
69
+ event:
70
+ type: GET-request-received
71
+ parameters:
72
+ endpoint: /edev/1/fsa
73
+
74
+ actions:
75
+ - type: remove-steps
76
+ parameters:
77
+ steps:
78
+ - GET-FSA-LIST-AGAIN
@@ -0,0 +1,136 @@
1
+ Description: Update DER Program Poll Rate
2
+ Category: Control
3
+ Classes:
4
+ - A
5
+ - DR-A
6
+
7
+ TargetVersions:
8
+ - v1.2
9
+ - v1.3-beta/storage
10
+
11
+ Criteria:
12
+ checks:
13
+ - type: all-steps-complete
14
+ parameters: {}
15
+
16
+ Preconditions:
17
+ init_actions:
18
+ - type: set-comms-rate
19
+ parameters:
20
+ dcap_poll_seconds: 60
21
+ edev_list_poll_seconds: 60
22
+ fsa_list_poll_seconds: 60
23
+ der_list_poll_seconds: 60
24
+ derp_list_poll_seconds: 60
25
+ mup_post_seconds: 60
26
+ - type: create-der-program
27
+ parameters:
28
+ primacy: 0
29
+ checks:
30
+ - type: end-device-contents
31
+ parameters: {}
32
+
33
+ Steps:
34
+
35
+ # (a, b)
36
+ WAIT-POLL-UPDATE:
37
+ event:
38
+ type: wait
39
+ parameters:
40
+ duration_seconds: 60
41
+ actions:
42
+ - type: set-comms-rate
43
+ parameters:
44
+ derp_list_poll_seconds: 120
45
+ - type: enable-steps
46
+ parameters:
47
+ steps:
48
+ - GET-DERP-LIST-1
49
+ - WAIT-10-MINS
50
+ - type: remove-steps
51
+ parameters:
52
+ steps:
53
+ - WAIT-POLL-UPDATE
54
+
55
+ # (c)
56
+ GET-DERP-LIST-1:
57
+ event:
58
+ type: GET-request-received
59
+ parameters:
60
+ endpoint: /edev/1/fsa/1/derp
61
+ actions:
62
+ - type: remove-steps
63
+ parameters:
64
+ steps:
65
+ - GET-DERP-LIST-1
66
+
67
+ # (a, e)
68
+ WAIT-10-MINS:
69
+ event:
70
+ type: wait
71
+ parameters:
72
+ duration_seconds: 600
73
+ actions:
74
+ - type: enable-steps
75
+ parameters:
76
+ steps:
77
+ - GET-DERP-LIST-2
78
+ - type: remove-steps
79
+ parameters:
80
+ steps:
81
+ - WAIT-10-MINS
82
+ instructions:
83
+ - Client shall maintain changed DERProgramList poll rate of 120s
84
+
85
+ # (h)
86
+ # We will start a "timer" as soon as the client picks up the updated poll rate
87
+ GET-DERP-LIST-2:
88
+ event:
89
+ type: GET-request-received
90
+ parameters:
91
+ endpoint: /edev/1/fsa/1/derp
92
+ actions:
93
+ - type: set-comms-rate
94
+ parameters:
95
+ derp_list_poll_seconds: 60
96
+ - type: enable-steps
97
+ parameters:
98
+ steps:
99
+ - GET-DERP-LIST-3
100
+ - WAIT-TEST-END
101
+ - type: remove-steps
102
+ parameters:
103
+ steps:
104
+ - GET-DERP-LIST-2
105
+
106
+
107
+ # (h)
108
+ # This step waiting for an updated poll and WAIT-TEST-END will ensure it happens within 60 seconds (the new poll rate)
109
+ GET-DERP-LIST-3:
110
+ event:
111
+ type: GET-request-received
112
+ parameters:
113
+ endpoint: /edev/1/fsa/1/derp
114
+ actions:
115
+ - type: remove-steps
116
+ parameters:
117
+ steps:
118
+ - GET-DERP-LIST-3
119
+
120
+ # (g)
121
+ WAIT-TEST-END:
122
+ event:
123
+ type: wait
124
+ parameters:
125
+ duration_seconds: 90
126
+ actions:
127
+ - type: remove-steps
128
+ parameters:
129
+ steps:
130
+ - WAIT-TEST-END
131
+ - type: finish-test
132
+ parameters: {}
133
+ instructions:
134
+ - Client shall return to 60s polling
135
+
136
+
@@ -0,0 +1,203 @@
1
+ Description: Scheduling
2
+ Category: Control
3
+ Classes:
4
+ - A
5
+ - DR-A
6
+
7
+ TargetVersions:
8
+ - v1.2
9
+ - v1.3-beta/storage
10
+
11
+ Criteria:
12
+ checks:
13
+ - type: all-steps-complete
14
+ parameters: {}
15
+ - type: response-contents
16
+ parameters:
17
+ all: true
18
+ status: 1 # Every control has a received response
19
+ - type: response-contents
20
+ parameters:
21
+ all: true
22
+ status: 2 # Every control has a started response
23
+ - type: response-contents
24
+ parameters:
25
+ all: true
26
+ status: 3 # Every control has a completed response
27
+
28
+ Preconditions:
29
+ init_actions:
30
+ - type: set-comms-rate
31
+ parameters:
32
+ dcap_poll_seconds: 60
33
+ edev_list_poll_seconds: 60
34
+ fsa_list_poll_seconds: 60
35
+ der_list_poll_seconds: 60
36
+ derp_list_poll_seconds: 60
37
+ mup_post_seconds: 60
38
+ checks:
39
+ - type: end-device-contents
40
+ parameters: {}
41
+ - type: der-settings-contents
42
+ parameters: {}
43
+ actions:
44
+ # 24 minutes of sequential, non overlapping controls with random values (chosen by rolling a D10)
45
+ - type: create-der-control
46
+ parameters:
47
+ start: $(now)
48
+ duration_seconds: 60
49
+ opModExpLimW: $(setMaxW * 0.3)
50
+ opModImpLimW: $(setMaxW * 0.3)
51
+ - type: create-der-control
52
+ parameters:
53
+ start: $(now + '1 minute')
54
+ duration_seconds: 60
55
+ opModExpLimW: $(setMaxW * 0.6)
56
+ opModImpLimW: $(setMaxW * 0.6)
57
+ - type: create-der-control
58
+ parameters:
59
+ start: $(now + '2 minutes')
60
+ duration_seconds: 60
61
+ opModExpLimW: $(setMaxW * 0.4)
62
+ opModImpLimW: $(setMaxW * 0.4)
63
+ - type: create-der-control
64
+ parameters:
65
+ start: $(now + '3 minutes')
66
+ duration_seconds: 60
67
+ opModExpLimW: $(setMaxW * 0.5)
68
+ opModImpLimW: $(setMaxW * 0.5)
69
+ - type: create-der-control
70
+ parameters:
71
+ start: $(now + '4 minutes')
72
+ duration_seconds: 60
73
+ opModExpLimW: $(setMaxW * 0.2)
74
+ opModImpLimW: $(setMaxW * 0.2)
75
+ - type: create-der-control
76
+ parameters:
77
+ start: $(now + '5 minutes')
78
+ duration_seconds: 60
79
+ opModExpLimW: $(setMaxW * 0.1)
80
+ opModImpLimW: $(setMaxW * 0.1)
81
+ - type: create-der-control
82
+ parameters:
83
+ start: $(now + '6 minutes')
84
+ duration_seconds: 60
85
+ opModExpLimW: $(setMaxW * 0.7)
86
+ opModImpLimW: $(setMaxW * 0.7)
87
+ - type: create-der-control
88
+ parameters:
89
+ start: $(now + '7 minutes')
90
+ duration_seconds: 60
91
+ opModExpLimW: $(setMaxW * 0.2)
92
+ opModImpLimW: $(setMaxW * 0.2)
93
+ - type: create-der-control
94
+ parameters:
95
+ start: $(now + '8 minutes')
96
+ duration_seconds: 60
97
+ opModExpLimW: $(setMaxW * 0.3)
98
+ opModImpLimW: $(setMaxW * 0.3)
99
+ - type: create-der-control
100
+ parameters:
101
+ start: $(now + '9 minutes')
102
+ duration_seconds: 60
103
+ opModExpLimW: $(setMaxW * 0.3)
104
+ opModImpLimW: $(setMaxW * 0.3)
105
+ - type: create-der-control
106
+ parameters:
107
+ start: $(now + '10 minutes')
108
+ duration_seconds: 60
109
+ opModExpLimW: $(setMaxW * 0.5)
110
+ opModImpLimW: $(setMaxW * 0.5)
111
+ - type: create-der-control
112
+ parameters:
113
+ start: $(now + '11 minutes')
114
+ duration_seconds: 60
115
+ opModExpLimW: $(setMaxW * 0.9)
116
+ opModImpLimW: $(setMaxW * 0.9)
117
+ - type: create-der-control
118
+ parameters:
119
+ start: $(now + '12 minutes')
120
+ duration_seconds: 60
121
+ opModExpLimW: $(setMaxW * 0.1)
122
+ opModImpLimW: $(setMaxW * 0.1)
123
+ - type: create-der-control
124
+ parameters:
125
+ start: $(now + '13 minutes')
126
+ duration_seconds: 60
127
+ opModExpLimW: $(setMaxW * 0.1)
128
+ opModImpLimW: $(setMaxW * 0.1)
129
+ - type: create-der-control
130
+ parameters:
131
+ start: $(now + '14 minutes')
132
+ duration_seconds: 60
133
+ opModExpLimW: $(setMaxW * 0.5)
134
+ opModImpLimW: $(setMaxW * 0.5)
135
+ - type: create-der-control
136
+ parameters:
137
+ start: $(now + '15 minutes')
138
+ duration_seconds: 60
139
+ opModExpLimW: $(setMaxW * 0.4)
140
+ opModImpLimW: $(setMaxW * 0.4)
141
+ - type: create-der-control
142
+ parameters:
143
+ start: $(now + '16 minutes')
144
+ duration_seconds: 60
145
+ opModExpLimW: $(setMaxW * 0.1)
146
+ opModImpLimW: $(setMaxW * 0.1)
147
+ - type: create-der-control
148
+ parameters:
149
+ start: $(now + '17 minutes')
150
+ duration_seconds: 60
151
+ opModExpLimW: $(setMaxW * 0.7)
152
+ opModImpLimW: $(setMaxW * 0.7)
153
+ - type: create-der-control
154
+ parameters:
155
+ start: $(now + '18 minutes')
156
+ duration_seconds: 60
157
+ opModExpLimW: $(setMaxW * 0.9)
158
+ opModImpLimW: $(setMaxW * 0.9)
159
+ - type: create-der-control
160
+ parameters:
161
+ start: $(now + '19 minutes')
162
+ duration_seconds: 60
163
+ opModExpLimW: $(setMaxW * 0.1)
164
+ opModImpLimW: $(setMaxW * 0.1)
165
+ - type: create-der-control
166
+ parameters:
167
+ start: $(now + '20 minutes')
168
+ duration_seconds: 60
169
+ opModExpLimW: $(setMaxW * 0.4)
170
+ opModImpLimW: $(setMaxW * 0.4)
171
+ - type: create-der-control
172
+ parameters:
173
+ start: $(now + '21 minutes')
174
+ duration_seconds: 60
175
+ opModExpLimW: $(setMaxW * 0.3)
176
+ opModImpLimW: $(setMaxW * 0.3)
177
+ - type: create-der-control
178
+ parameters:
179
+ start: $(now + '22 minutes')
180
+ duration_seconds: 60
181
+ opModExpLimW: $(setMaxW * 0.7)
182
+ opModImpLimW: $(setMaxW * 0.7)
183
+ - type: create-der-control
184
+ parameters:
185
+ start: $(now + '23 minutes')
186
+ duration_seconds: 60
187
+ opModExpLimW: $(setMaxW)
188
+ opModImpLimW: $(setMaxW)
189
+
190
+ Steps:
191
+ WAIT-TEST-END:
192
+ event:
193
+ type: wait
194
+ parameters:
195
+ duration_seconds: 1500 # 25 minutes
196
+ actions:
197
+ - type: remove-steps
198
+ parameters:
199
+ steps:
200
+ - WAIT-TEST-END
201
+ - type: finish-test
202
+ parameters: {}
203
+