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,793 @@
1
+ Description: Primacy Validation for loads
2
+ Category: DER
3
+ Classes:
4
+ - DER-L
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
+
26
+ checks:
27
+ - type: end-device-contents
28
+ parameters: {}
29
+ - type: der-settings-contents
30
+ parameters: {}
31
+
32
+ actions:
33
+ # FSA1 has 5 DERPrograms at higher PRIORITY (lower primacy)
34
+ - type: create-der-program
35
+ parameters:
36
+ primacy: 1
37
+ fsa_id: 1
38
+ - type: create-der-program
39
+ parameters:
40
+ primacy: 1
41
+ fsa_id: 1
42
+ - type: create-der-program
43
+ parameters:
44
+ primacy: 1
45
+ fsa_id: 1
46
+ - type: create-der-program
47
+ parameters:
48
+ primacy: 1
49
+ fsa_id: 1
50
+ - type: create-der-program
51
+ parameters:
52
+ primacy: 1
53
+ fsa_id: 1
54
+
55
+ # FSA2 has 10 DERPrograms at lower PRIORITY (higher primacy)
56
+ - type: create-der-program
57
+ parameters:
58
+ primacy: 2
59
+ fsa_id: 2
60
+ - type: create-der-program
61
+ parameters:
62
+ primacy: 2
63
+ fsa_id: 2
64
+ - type: create-der-program
65
+ parameters:
66
+ primacy: 2
67
+ fsa_id: 2
68
+ - type: create-der-program
69
+ parameters:
70
+ primacy: 2
71
+ fsa_id: 2
72
+ - type: create-der-program
73
+ parameters:
74
+ primacy: 2
75
+ fsa_id: 2
76
+ - type: create-der-program
77
+ parameters:
78
+ primacy: 2
79
+ fsa_id: 2
80
+ - type: create-der-program
81
+ parameters:
82
+ primacy: 2
83
+ fsa_id: 2
84
+ - type: create-der-program
85
+ parameters:
86
+ primacy: 2
87
+ fsa_id: 2
88
+ - type: create-der-program
89
+ parameters:
90
+ primacy: 2
91
+ fsa_id: 2
92
+ - type: create-der-program
93
+ parameters:
94
+ primacy: 2
95
+ fsa_id: 2
96
+ - type: set-default-der-control
97
+ parameters:
98
+ derp_id: 1
99
+ opModImpLimW: 0
100
+
101
+ Steps:
102
+
103
+ # (a, b) - Create a Default DERControl at DERP 1 - set to 30% of max
104
+ GET-DEFAULT-DERC:
105
+ event:
106
+ type: GET-request-received
107
+ parameters:
108
+ endpoint: /edev/1/derp/1/dderc
109
+ actions:
110
+ - type: set-default-der-control
111
+ parameters:
112
+ derp_id: 1
113
+ opModImpLimW: $(setMaxW * 0.3)
114
+ - type: enable-steps
115
+ parameters:
116
+ steps:
117
+ - GET-DERC-1
118
+ - type: remove-steps
119
+ parameters:
120
+ steps:
121
+ - GET-DEFAULT-DERC
122
+
123
+ # (c, d) - Create a DERControl at DERP 6 - set to 200% of max
124
+ GET-DERC-1:
125
+ event:
126
+ type: GET-request-received
127
+ parameters:
128
+ endpoint: /edev/1/derp/6/derc
129
+ actions:
130
+ - type: create-der-control
131
+ parameters:
132
+ start: $(now)
133
+ duration_seconds: 600
134
+ opModImpLimW: $(setMaxW * 2)
135
+ fsa_id: 2
136
+ primacy: 2
137
+ tag: DERC1
138
+ - type: enable-steps
139
+ parameters:
140
+ steps:
141
+ - POST-DERC-1-RESPONSE-STARTED
142
+ - type: remove-steps
143
+ parameters:
144
+ steps:
145
+ - GET-DERC-1
146
+
147
+ # (d) Wait for "Started" response from DERC-1
148
+ POST-DERC-1-RESPONSE-STARTED:
149
+ event:
150
+ type: POST-request-received
151
+ parameters:
152
+ endpoint: /edev/1/rsps/site_control/rsp
153
+ serve_request_first: true
154
+ checks:
155
+ - type: response-contents
156
+ parameters:
157
+ latest: true
158
+ status: 2
159
+ subject_tag: DERC1
160
+ actions:
161
+ - type: enable-steps
162
+ parameters:
163
+ steps:
164
+ - WAIT-DERC-2
165
+ - type: remove-steps
166
+ parameters:
167
+ steps:
168
+ - POST-DERC-1-RESPONSE-STARTED
169
+
170
+ # (e) Wait for a short period
171
+ WAIT-DERC-2:
172
+ event:
173
+ type: wait
174
+ parameters:
175
+ duration_seconds: 60
176
+ actions:
177
+ - type: enable-steps
178
+ parameters:
179
+ steps:
180
+ - GET-DERC-2
181
+ - type: remove-steps
182
+ parameters:
183
+ steps:
184
+ - WAIT-DERC-2
185
+
186
+ # (e) After the short period - configure a DERControl on DERP 1 - set to 0%
187
+ GET-DERC-2:
188
+ event:
189
+ type: GET-request-received
190
+ parameters:
191
+ endpoint: /edev/1/derp/1/derc
192
+ actions:
193
+ - type: create-der-control
194
+ parameters:
195
+ start: $(now)
196
+ duration_seconds: 840 # Should run for 5 minutes after DERC 1 is due to expire
197
+ opModImpLimW: 0
198
+ fsa_id: 1
199
+ primacy: 1
200
+ tag: DERC2
201
+ - type: enable-steps
202
+ parameters:
203
+ steps:
204
+ - POST-DERC-2-RESPONSE-STARTED
205
+ - POST-DERC-1-RESPONSE-SUPERSEDED
206
+ - type: remove-steps
207
+ parameters:
208
+ steps:
209
+ - GET-DERC-2
210
+
211
+ # (f) Receive response started for DERControl 2
212
+ POST-DERC-2-RESPONSE-STARTED:
213
+ event:
214
+ type: POST-request-received
215
+ parameters:
216
+ endpoint: /edev/1/rsps/site_control/rsp
217
+ serve_request_first: true
218
+ checks:
219
+ - type: response-contents
220
+ parameters:
221
+ latest: true
222
+ status: 2
223
+ subject_tag: DERC2
224
+ actions:
225
+ - type: enable-steps
226
+ parameters:
227
+ steps:
228
+ - POST-DERC-2-RESPONSE-COMPLETED
229
+ - type: remove-steps
230
+ parameters:
231
+ steps:
232
+ - POST-DERC-2-RESPONSE-STARTED
233
+
234
+ # (g) Client should get a superseded response for DERControl 1
235
+ POST-DERC-1-RESPONSE-SUPERSEDED:
236
+ event:
237
+ type: POST-request-received
238
+ parameters:
239
+ endpoint: /edev/1/rsps/site_control/rsp
240
+ serve_request_first: true
241
+ checks:
242
+ - type: response-contents
243
+ parameters:
244
+ latest: true
245
+ status: 7
246
+ subject_tag: DERC1
247
+ actions:
248
+ - type: remove-steps
249
+ parameters:
250
+ steps:
251
+ - POST-DERC-1-RESPONSE-SUPERSEDED
252
+
253
+
254
+ # (h) Client should get a completed response for DERControl 2
255
+ POST-DERC-2-RESPONSE-COMPLETED:
256
+ event:
257
+ type: POST-request-received
258
+ parameters:
259
+ endpoint: /edev/1/rsps/site_control/rsp
260
+ serve_request_first: true
261
+ checks:
262
+ - type: response-contents
263
+ parameters:
264
+ latest: true
265
+ status: 3
266
+ subject_tag: DERC2
267
+ actions:
268
+ - type: enable-steps
269
+ parameters:
270
+ steps:
271
+ - GET-DERC-3
272
+ - type: remove-steps
273
+ parameters:
274
+ steps:
275
+ - POST-DERC-2-RESPONSE-COMPLETED
276
+
277
+ # (i) Create a new DERControl on DERP6 - set to 200%
278
+ GET-DERC-3:
279
+ event:
280
+ type: GET-request-received
281
+ parameters:
282
+ endpoint: /edev/1/derp/6/derc
283
+ actions:
284
+ - type: create-der-control
285
+ parameters:
286
+ start: $(now)
287
+ duration_seconds: 300
288
+ opModImpLimW: $(setMaxW * 2)
289
+ fsa_id: 2
290
+ primacy: 2
291
+ tag: DERC3
292
+ - type: enable-steps
293
+ parameters:
294
+ steps:
295
+ - POST-DERC-3-RESPONSE-STARTED
296
+ - type: remove-steps
297
+ parameters:
298
+ steps:
299
+ - GET-DERC-3
300
+
301
+ # (j) Receive response started for DERControl 3
302
+ POST-DERC-3-RESPONSE-STARTED:
303
+ event:
304
+ type: POST-request-received
305
+ parameters:
306
+ endpoint: /edev/1/rsps/site_control/rsp
307
+ serve_request_first: true
308
+ checks:
309
+ - type: response-contents
310
+ parameters:
311
+ latest: true
312
+ status: 2
313
+ subject_tag: DERC3
314
+ actions:
315
+ - type: enable-steps
316
+ parameters:
317
+ steps:
318
+ - POST-DERC-3-RESPONSE-COMPLETED
319
+ - type: remove-steps
320
+ parameters:
321
+ steps:
322
+ - POST-DERC-3-RESPONSE-STARTED
323
+
324
+ # (k, l) Wait for completed response on DERC 3
325
+ POST-DERC-3-RESPONSE-COMPLETED:
326
+ event:
327
+ type: POST-request-received
328
+ parameters:
329
+ endpoint: /edev/1/rsps/site_control/rsp
330
+ serve_request_first: true
331
+ checks:
332
+ - type: response-contents
333
+ parameters:
334
+ latest: true
335
+ status: 3
336
+ subject_tag: DERC3
337
+ actions:
338
+ - type: enable-steps
339
+ parameters:
340
+ steps:
341
+ - GET-DERC-4
342
+ - GET-DERC-5
343
+ - type: remove-steps
344
+ parameters:
345
+ steps:
346
+ - POST-DERC-3-RESPONSE-COMPLETED
347
+
348
+ # (m) (i) Configure the first DERControl on DERP1
349
+ # (n)
350
+ GET-DERC-4:
351
+ event:
352
+ type: GET-request-received
353
+ parameters:
354
+ endpoint: /edev/1/derp/1/derc
355
+ actions:
356
+ - type: create-der-control
357
+ parameters:
358
+ start: $(now)
359
+ duration_seconds: 300
360
+ opModLoadLimW: 0
361
+ opModConnect: false
362
+ fsa_id: 1
363
+ primacy: 1
364
+ tag: DERC4
365
+ - type: enable-steps
366
+ parameters:
367
+ steps:
368
+ - POST-DERC-4-RESPONSE-STARTED
369
+ - type: remove-steps
370
+ parameters:
371
+ steps:
372
+ - GET-DERC-4
373
+
374
+ # (m) (ii) Configure the second DERControl on DERP6
375
+ # (n)
376
+ GET-DERC-5:
377
+ event:
378
+ type: GET-request-received
379
+ parameters:
380
+ endpoint: /edev/1/derp/6/derc
381
+ actions:
382
+ - type: create-der-control
383
+ parameters:
384
+ start: $(now)
385
+ duration_seconds: 1200 # 20 minutes
386
+ opModImpLimW: $(setMaxW * 2)
387
+ fsa_id: 2
388
+ primacy: 2
389
+ tag: DERC5
390
+ - type: enable-steps
391
+ parameters:
392
+ steps:
393
+ - POST-DERC-5-RESPONSE-STARTED
394
+ - type: remove-steps
395
+ parameters:
396
+ steps:
397
+ - GET-DERC-5
398
+
399
+ # (o) Receive response started for DERControl 4
400
+ POST-DERC-4-RESPONSE-STARTED:
401
+ event:
402
+ type: POST-request-received
403
+ parameters:
404
+ endpoint: /edev/1/rsps/site_control/rsp
405
+ serve_request_first: true
406
+ checks:
407
+ - type: response-contents
408
+ parameters:
409
+ latest: true
410
+ status: 2
411
+ subject_tag: DERC4
412
+ actions:
413
+ - type: enable-steps
414
+ parameters:
415
+ steps:
416
+ - POST-DERC-4-RESPONSE-COMPLETED
417
+ - type: remove-steps
418
+ parameters:
419
+ steps:
420
+ - POST-DERC-4-RESPONSE-STARTED
421
+
422
+ # (o) Receive response started for DERControl 5
423
+ POST-DERC-5-RESPONSE-STARTED:
424
+ event:
425
+ type: POST-request-received
426
+ parameters:
427
+ endpoint: /edev/1/rsps/site_control/rsp
428
+ serve_request_first: true
429
+ checks:
430
+ - type: response-contents
431
+ parameters:
432
+ latest: true
433
+ status: 2
434
+ subject_tag: DERC5
435
+ actions:
436
+ - type: remove-steps
437
+ parameters:
438
+ steps:
439
+ - POST-DERC-5-RESPONSE-STARTED
440
+
441
+
442
+ # (p, q, r) Do nothing but wait for DERControl 4 to complete
443
+ POST-DERC-4-RESPONSE-COMPLETED:
444
+ event:
445
+ type: POST-request-received
446
+ parameters:
447
+ endpoint: /edev/1/rsps/site_control/rsp
448
+ serve_request_first: true
449
+ checks:
450
+ - type: response-contents
451
+ parameters:
452
+ latest: true
453
+ status: 3
454
+ subject_tag: DERC4
455
+ actions:
456
+ - type: enable-steps
457
+ parameters:
458
+ steps:
459
+ - GET-DERC-6
460
+ - type: remove-steps
461
+ parameters:
462
+ steps:
463
+ - POST-DERC-4-RESPONSE-COMPLETED
464
+
465
+ # (s) Create a DERControl on DERP6 at 50%
466
+ GET-DERC-6:
467
+ event:
468
+ type: GET-request-received
469
+ parameters:
470
+ endpoint: /edev/1/derp/6/derc
471
+ actions:
472
+ - type: create-der-control
473
+ parameters:
474
+ start: $(now)
475
+ duration_seconds: 300 # 20 minutes
476
+ opModImpLimW: $(setMaxW * 0.5)
477
+ fsa_id: 2
478
+ primacy: 2
479
+ tag: DERC6
480
+ - type: enable-steps
481
+ parameters:
482
+ steps:
483
+ - POST-DERC-5-RESPONSE-SUPERSEDED
484
+ - POST-DERC-6-RESPONSE-STARTED
485
+ - type: remove-steps
486
+ parameters:
487
+ steps:
488
+ - GET-DERC-6
489
+
490
+ # (t) Receive started Response for DERControl 6
491
+ POST-DERC-6-RESPONSE-STARTED:
492
+ event:
493
+ type: POST-request-received
494
+ parameters:
495
+ endpoint: /edev/1/rsps/site_control/rsp
496
+ serve_request_first: true
497
+ checks:
498
+ - type: response-contents
499
+ parameters:
500
+ latest: true
501
+ status: 2
502
+ subject_tag: DERC6
503
+ actions:
504
+ - type: enable-steps
505
+ parameters:
506
+ steps:
507
+ - GET-DERC-7
508
+ - GET-DERC-8
509
+ - type: remove-steps
510
+ parameters:
511
+ steps:
512
+ - POST-DERC-6-RESPONSE-STARTED
513
+
514
+ # (u) Receive superseded Response for DERControl 5
515
+ POST-DERC-5-RESPONSE-SUPERSEDED:
516
+ event:
517
+ type: POST-request-received
518
+ parameters:
519
+ endpoint: /edev/1/rsps/site_control/rsp
520
+ serve_request_first: true
521
+ checks:
522
+ - type: response-contents
523
+ parameters:
524
+ latest: true
525
+ status: 7
526
+ subject_tag: DERC5
527
+ actions:
528
+ - type: remove-steps
529
+ parameters:
530
+ steps:
531
+ - POST-DERC-5-RESPONSE-SUPERSEDED
532
+
533
+ # (v) (i) Create a DERControl on DERP1 at 0%
534
+ GET-DERC-7:
535
+ event:
536
+ type: GET-request-received
537
+ parameters:
538
+ endpoint: /edev/1/derp/1/derc
539
+ actions:
540
+ - type: create-der-control
541
+ parameters:
542
+ start: $(now)
543
+ duration_seconds: 300
544
+ opModImpLimW: 0
545
+ fsa_id: 1
546
+ primacy: 1
547
+ tag: DERC7
548
+ - type: enable-steps
549
+ parameters:
550
+ steps:
551
+ - POST-DERC-7-RESPONSE-STARTED
552
+ - type: remove-steps
553
+ parameters:
554
+ steps:
555
+ - GET-DERC-7
556
+
557
+ # (v) (ii) Create a DERControl on DERP6 at 50% / 30%
558
+ GET-DERC-8:
559
+ event:
560
+ type: GET-request-received
561
+ parameters:
562
+ endpoint: /edev/1/derp/6/derc
563
+ actions:
564
+ - type: create-der-control
565
+ parameters:
566
+ start: $(now)
567
+ duration_seconds: 300
568
+ opModImpLimW: $(setMaxW * 0.5)
569
+ opModLoadLimW: $(setMaxW * 0.3)
570
+ fsa_id: 2
571
+ primacy: 2
572
+ tag: DERC8
573
+ - type: enable-steps
574
+ parameters:
575
+ steps:
576
+ - POST-DERC-8-RESPONSE-STARTED
577
+ - type: remove-steps
578
+ parameters:
579
+ steps:
580
+ - GET-DERC-8
581
+
582
+ # (w, x) Receive the DERControl Response started for DERControl 7
583
+ POST-DERC-7-RESPONSE-STARTED:
584
+ event:
585
+ type: POST-request-received
586
+ parameters:
587
+ endpoint: /edev/1/rsps/site_control/rsp
588
+ serve_request_first: true
589
+ checks:
590
+ - type: response-contents
591
+ parameters:
592
+ latest: true
593
+ status: 2
594
+ subject_tag: DERC7
595
+ actions:
596
+ - type: enable-steps
597
+ parameters:
598
+ steps:
599
+ - POST-DERC-7-RESPONSE-COMPLETED
600
+ - type: remove-steps
601
+ parameters:
602
+ steps:
603
+ - POST-DERC-7-RESPONSE-STARTED
604
+
605
+ # (w, x) Receive the DERControl Response started for DERControl 8
606
+ POST-DERC-8-RESPONSE-STARTED:
607
+ event:
608
+ type: POST-request-received
609
+ parameters:
610
+ endpoint: /edev/1/rsps/site_control/rsp
611
+ serve_request_first: true
612
+ checks:
613
+ - type: response-contents
614
+ parameters:
615
+ latest: true
616
+ status: 2
617
+ subject_tag: DERC8
618
+ actions:
619
+ - type: remove-steps
620
+ parameters:
621
+ steps:
622
+ - POST-DERC-8-RESPONSE-STARTED
623
+
624
+ # (x) This isn't strictly in the TS5573 definition but the intention is for this control to finish BEFORE
625
+ # enabling the subsequent DERControls
626
+ POST-DERC-7-RESPONSE-COMPLETED:
627
+ event:
628
+ type: POST-request-received
629
+ parameters:
630
+ endpoint: /edev/1/rsps/site_control/rsp
631
+ serve_request_first: true
632
+ checks:
633
+ - type: response-contents
634
+ parameters:
635
+ latest: true
636
+ status: 3
637
+ subject_tag: DERC7
638
+ actions:
639
+ - type: enable-steps
640
+ parameters:
641
+ steps:
642
+ - GET-DERC-9
643
+ - GET-DERC-10
644
+ - type: remove-steps
645
+ parameters:
646
+ steps:
647
+ - POST-DERC-7-RESPONSE-COMPLETED
648
+
649
+ # (y) (i) Configure DERControl on DERP1
650
+ GET-DERC-9:
651
+ event:
652
+ type: GET-request-received
653
+ parameters:
654
+ endpoint: /edev/1/derp/1/derc
655
+ actions:
656
+ - type: create-der-control
657
+ parameters:
658
+ start: $(now)
659
+ duration_seconds: 300
660
+ opModLoadLimW: $(setMaxW * 0.5)
661
+ fsa_id: 1
662
+ primacy: 1
663
+ tag: DERC9
664
+ - type: enable-steps
665
+ parameters:
666
+ steps:
667
+ - POST-DERC-9-RESPONSE-STARTED
668
+ - type: remove-steps
669
+ parameters:
670
+ steps:
671
+ - GET-DERC-9
672
+
673
+ # (y) (ii) Configure DERControl on DERP6
674
+ GET-DERC-10:
675
+ event:
676
+ type: GET-request-received
677
+ parameters:
678
+ endpoint: /edev/1/derp/6/derc
679
+ actions:
680
+ - type: create-der-control
681
+ parameters:
682
+ start: $(now)
683
+ duration_seconds: 300
684
+ opModImpLimW: $(setMaxW * 0.2)
685
+ fsa_id: 2
686
+ primacy: 2
687
+ tag: DERC10
688
+ - type: enable-steps
689
+ parameters:
690
+ steps:
691
+ - POST-DERC-10-RESPONSE-STARTED
692
+ - type: remove-steps
693
+ parameters:
694
+ steps:
695
+ - GET-DERC-10
696
+
697
+ # (z, aa) Wait for Response started for DERControl 9
698
+ POST-DERC-9-RESPONSE-STARTED:
699
+ event:
700
+ type: POST-request-received
701
+ parameters:
702
+ endpoint: /edev/1/rsps/site_control/rsp
703
+ serve_request_first: true
704
+ checks:
705
+ - type: response-contents
706
+ parameters:
707
+ latest: true
708
+ status: 2
709
+ subject_tag: DERC9
710
+ actions:
711
+ - type: enable-steps
712
+ parameters:
713
+ steps:
714
+ - GET-UPDATED-DEFAULT-DERP-1
715
+ - GET-UPDATED-DEFAULT-DERP-6
716
+ - type: remove-steps
717
+ parameters:
718
+ steps:
719
+ - POST-DERC-9-RESPONSE-STARTED
720
+
721
+ # (z, aa) Wait for Response started for DERControl 10
722
+ POST-DERC-10-RESPONSE-STARTED:
723
+ event:
724
+ type: POST-request-received
725
+ parameters:
726
+ endpoint: /edev/1/rsps/site_control/rsp
727
+ serve_request_first: true
728
+ checks:
729
+ - type: response-contents
730
+ parameters:
731
+ latest: true
732
+ status: 2
733
+ subject_tag: DERC10
734
+ actions:
735
+ - type: remove-steps
736
+ parameters:
737
+ steps:
738
+ - POST-DERC-10-RESPONSE-STARTED
739
+
740
+ # (bb) (i) Create an updated default for DERProgram 1 at 50%
741
+ # (cc)
742
+ GET-UPDATED-DEFAULT-DERP-1:
743
+ event:
744
+ type: GET-request-received
745
+ parameters:
746
+ endpoint: /edev/1/derp/1/dderc
747
+ actions:
748
+ - type: set-default-der-control
749
+ parameters:
750
+ derp_id: 1
751
+ opModImpLimW: $(setMaxW * 0.5)
752
+ - type: remove-steps
753
+ parameters:
754
+ steps:
755
+ - GET-UPDATED-DEFAULT-DERP-1
756
+
757
+ # (bb) (ii) Create an updated default for DERProgram 6 at 20%
758
+ # (cc)
759
+ # (dd) - Also cancel active controls
760
+ GET-UPDATED-DEFAULT-DERP-6:
761
+ event:
762
+ type: GET-request-received
763
+ parameters:
764
+ endpoint: /edev/1/derp/6/dderc
765
+ actions:
766
+ - type: set-default-der-control
767
+ parameters:
768
+ derp_id: 6
769
+ opModImpLimW: $(setMaxW * 0.2)
770
+ - type: cancel-active-der-controls
771
+ parameters: {}
772
+ - type: enable-steps
773
+ parameters:
774
+ steps:
775
+ - WAIT-TEST-FINISH
776
+ - type: remove-steps
777
+ parameters:
778
+ steps:
779
+ - GET-UPDATED-DEFAULT-DERP-6
780
+
781
+ # (ee) Wait for DER to increase to 50%
782
+ WAIT-TEST-FINISH:
783
+ event:
784
+ type: wait
785
+ parameters:
786
+ duration_seconds: 60
787
+ actions:
788
+ - type: remove-steps
789
+ parameters:
790
+ steps:
791
+ - WAIT-TEST-FINISH
792
+ - type: finish-test
793
+ parameters: {}