cactus-test-definitions 1.6.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.

Potentially problematic release.


This version of cactus-test-definitions might be problematic. Click here for more details.

Files changed (139) 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 +26 -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 +98 -0
  22. cactus_test_definitions/client/checks.py +127 -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 +108 -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 +288 -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 +274 -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 +739 -0
  74. cactus_test_definitions/client/procedures/GEN-11.yaml +378 -0
  75. cactus_test_definitions/client/procedures/GEN-12.yaml +378 -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 +741 -0
  87. cactus_test_definitions/client/procedures/LOA-11.yaml +378 -0
  88. cactus_test_definitions/client/procedures/LOA-12.yaml +378 -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 +81 -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 +170 -0
  101. cactus_test_definitions/server/__init__.py +23 -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 +139 -0
  108. cactus_test_definitions/server/checks.py +117 -0
  109. cactus_test_definitions/server/procedures/S-ALL-01.yaml +42 -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-OPT-01.yaml +42 -0
  115. cactus_test_definitions/server/procedures/S-OPT-02.yaml +40 -0
  116. cactus_test_definitions/server/procedures/S-OPT-03.yaml +44 -0
  117. cactus_test_definitions/server/procedures/S-OPT-04.yaml +32 -0
  118. cactus_test_definitions/server/test_procedures.py +122 -0
  119. cactus_test_definitions/server/validate.py +30 -0
  120. cactus_test_definitions/variable_expressions.py +419 -0
  121. cactus_test_definitions-1.6.0.dist-info/METADATA +289 -0
  122. cactus_test_definitions-1.6.0.dist-info/RECORD +139 -0
  123. cactus_test_definitions-1.6.0.dist-info/WHEEL +5 -0
  124. cactus_test_definitions-1.6.0.dist-info/licenses/LICENSE.txt +22 -0
  125. cactus_test_definitions-1.6.0.dist-info/top_level.txt +2 -0
  126. tests/__init__.py +0 -0
  127. tests/unit/__init__.py +0 -0
  128. tests/unit/client/__init__.py +0 -0
  129. tests/unit/client/test_actions.py +72 -0
  130. tests/unit/client/test_checks.py +71 -0
  131. tests/unit/client/test_events.py +36 -0
  132. tests/unit/client/test_test_procedures.py +103 -0
  133. tests/unit/client/test_validate.py +153 -0
  134. tests/unit/server/__init__.py +0 -0
  135. tests/unit/server/test_test_procedures.py +60 -0
  136. tests/unit/server/test_validate.py +62 -0
  137. tests/unit/test_csipaus.py +49 -0
  138. tests/unit/test_parameters.py +197 -0
  139. tests/unit/test_variable_expressions.py +402 -0
@@ -0,0 +1,288 @@
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
+
15
+ Preconditions:
16
+ init_actions:
17
+ - type: set-comms-rate
18
+ parameters:
19
+ dcap_poll_seconds: 60
20
+ edev_list_poll_seconds: 60
21
+ fsa_list_poll_seconds: 60
22
+ der_list_poll_seconds: 60
23
+ derp_list_poll_seconds: 60
24
+ mup_post_seconds: 60
25
+ checks:
26
+ - type: end-device-contents
27
+ parameters: {}
28
+ - type: der-settings-contents
29
+ parameters: {}
30
+ - type: response-contents
31
+ parameters:
32
+ all: true
33
+ status: 1
34
+ actions:
35
+ # (a)
36
+ - type: create-der-control
37
+ parameters:
38
+ start: $(now)
39
+ duration_seconds: 120
40
+ opModExpLimW: $(setMaxW * 2)
41
+ opModImpLimW: $(setMaxW * 2)
42
+
43
+ Steps:
44
+
45
+ # (b)
46
+ POST-RESPONSE-RECEIVED:
47
+ event:
48
+ type: POST-request-received
49
+ parameters:
50
+ endpoint: /edev/1/rsps/site_control/rsp
51
+ serve_request_first: true
52
+ checks:
53
+ - type: response-contents
54
+ parameters:
55
+ latest: true
56
+ status: 1
57
+ actions:
58
+ - type: enable-steps
59
+ parameters:
60
+ steps:
61
+ - POST-RESPONSE-STARTED
62
+ - type: remove-steps
63
+ parameters:
64
+ steps:
65
+ - POST-RESPONSE-RECEIVED
66
+
67
+ # (c, d)
68
+ POST-RESPONSE-STARTED:
69
+ event:
70
+ type: POST-request-received
71
+ parameters:
72
+ endpoint: /edev/1/rsps/site_control/rsp
73
+ serve_request_first: true
74
+ checks:
75
+ - type: response-contents
76
+ parameters:
77
+ latest: true
78
+ status: 2
79
+ actions:
80
+ - type: enable-steps
81
+ parameters:
82
+ steps:
83
+ - POST-RESPONSE-COMPLETED
84
+ - type: remove-steps
85
+ parameters:
86
+ steps:
87
+ - POST-RESPONSE-STARTED
88
+
89
+ # (e, f, g)
90
+ POST-RESPONSE-COMPLETED:
91
+ event:
92
+ type: POST-request-received
93
+ parameters:
94
+ endpoint: /edev/1/rsps/site_control/rsp
95
+ serve_request_first: true
96
+ checks:
97
+ - type: response-contents
98
+ parameters:
99
+ latest: true
100
+ status: 3
101
+ actions:
102
+ - type: enable-steps
103
+ parameters:
104
+ steps:
105
+ - POST-SECOND-RESPONSE-RECEIVED
106
+ - type: create-der-control
107
+ parameters:
108
+ start: $(now + '5 minutes')
109
+ duration_seconds: 600
110
+ opModExpLimW: $(setMaxW * 2)
111
+ opModImpLimW: $(setMaxW * 2)
112
+ - type: remove-steps
113
+ parameters:
114
+ steps:
115
+ - POST-RESPONSE-COMPLETED
116
+
117
+ # (h)
118
+ POST-SECOND-RESPONSE-RECEIVED:
119
+ event:
120
+ type: POST-request-received
121
+ parameters:
122
+ endpoint: /edev/1/rsps/site_control/rsp
123
+ serve_request_first: true
124
+ checks:
125
+ - type: response-contents
126
+ parameters:
127
+ latest: true
128
+ status: 1
129
+ actions:
130
+ - type: enable-steps
131
+ parameters:
132
+ steps:
133
+ - POST-SECOND-RESPONSE-STARTED
134
+ - type: remove-steps
135
+ parameters:
136
+ steps:
137
+ - POST-SECOND-RESPONSE-RECEIVED
138
+
139
+ # (i, j)
140
+ POST-SECOND-RESPONSE-STARTED:
141
+ event:
142
+ type: POST-request-received
143
+ parameters:
144
+ endpoint: /edev/1/rsps/site_control/rsp
145
+ serve_request_first: true
146
+ checks:
147
+ - type: response-contents
148
+ parameters:
149
+ latest: true
150
+ status: 1
151
+ actions:
152
+ - type: cancel-active-der-controls
153
+ parameters: {}
154
+ - type: enable-steps
155
+ parameters:
156
+ steps:
157
+ - POST-SECOND-RESPONSE-CANCELLED
158
+ - type: remove-steps
159
+ parameters:
160
+ steps:
161
+ - POST-SECOND-RESPONSE-STARTED
162
+
163
+
164
+ # (k, l)
165
+ POST-SECOND-RESPONSE-CANCELLED:
166
+ event:
167
+ type: POST-request-received
168
+ parameters:
169
+ endpoint: /edev/1/rsps/site_control/rsp
170
+ serve_request_first: true
171
+ checks:
172
+ - type: response-contents
173
+ parameters:
174
+ latest: true
175
+ status: 6
176
+ actions:
177
+ - type: create-der-control
178
+ parameters:
179
+ start: $(now + '10 minutes')
180
+ duration_seconds: 120
181
+ opModExpLimW: 0
182
+ opModImpLimW: 0
183
+ - type: enable-steps
184
+ parameters:
185
+ steps:
186
+ - POST-THIRD-RESPONSE-RECEIVED
187
+ - type: remove-steps
188
+ parameters:
189
+ steps:
190
+ - POST-SECOND-RESPONSE-CANCELLED
191
+
192
+ # (m, n)
193
+ POST-THIRD-RESPONSE-RECEIVED:
194
+ event:
195
+ type: POST-request-received
196
+ parameters:
197
+ endpoint: /edev/1/rsps/site_control/rsp
198
+ serve_request_first: true
199
+ checks:
200
+ - type: response-contents
201
+ parameters:
202
+ latest: true
203
+ status: 1
204
+ actions:
205
+ - type: cancel-active-der-controls
206
+ parameters: {}
207
+ - type: enable-steps
208
+ parameters:
209
+ steps:
210
+ - POST-THIRD-RESPONSE-CANCELLED
211
+ - type: remove-steps
212
+ parameters:
213
+ steps:
214
+ - POST-THIRD-RESPONSE-RECEIVED
215
+
216
+ # (o, p)
217
+ POST-THIRD-RESPONSE-CANCELLED:
218
+ event:
219
+ type: POST-request-received
220
+ parameters:
221
+ endpoint: /edev/1/rsps/site_control/rsp
222
+ serve_request_first: true
223
+ checks:
224
+ - type: response-contents
225
+ parameters:
226
+ latest: true
227
+ status: 6
228
+ actions:
229
+ - type: create-der-control
230
+ parameters:
231
+ start: $(now + '10 minutes')
232
+ duration_seconds: 600
233
+ opModExpLimW: $(setMaxW * 2)
234
+ opModImpLimW: $(setMaxW * 2)
235
+ - type: enable-steps
236
+ parameters:
237
+ steps:
238
+ - POST-FOURTH-RESPONSE-RECEIVED
239
+ - type: remove-steps
240
+ parameters:
241
+ steps:
242
+ - POST-THIRD-RESPONSE-CANCELLED
243
+
244
+ # (q, r)
245
+ POST-FOURTH-RESPONSE-RECEIVED:
246
+ event:
247
+ type: POST-request-received
248
+ parameters:
249
+ endpoint: /edev/1/rsps/site_control/rsp
250
+ serve_request_first: true
251
+ checks:
252
+ - type: response-contents
253
+ parameters:
254
+ latest: true
255
+ status: 1
256
+ actions:
257
+ - type: create-der-control
258
+ parameters:
259
+ start: $(now + '10 minutes')
260
+ duration_seconds: 60
261
+ opModExpLimW: 0
262
+ opModImpLimW: 0
263
+ - type: enable-steps
264
+ parameters:
265
+ steps:
266
+ - POST-FOURTH-RESPONSE-SUPERSEDED
267
+ - type: remove-steps
268
+ parameters:
269
+ steps:
270
+ - POST-FOURTH-RESPONSE-RECEIVED
271
+
272
+ # (s)
273
+ POST-FOURTH-RESPONSE-SUPERSEDED:
274
+ event:
275
+ type: POST-request-received
276
+ parameters:
277
+ endpoint: /edev/1/rsps/site_control/rsp
278
+ serve_request_first: true
279
+ checks:
280
+ - type: response-contents
281
+ parameters:
282
+ latest: true
283
+ status: 7
284
+ actions:
285
+ - type: remove-steps
286
+ parameters:
287
+ steps:
288
+ - 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
+