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 Generators
2
+ Category: DER
3
+ Classes:
4
+ - DER-G
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
+ opModExpLimW: 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
+ opModExpLimW: $(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
+ opModExpLimW: $(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
+ opModExpLimW: 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
+ opModExpLimW: $(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, n) (i) Configure the first DERControl on DERP1
349
+ GET-DERC-4:
350
+ event:
351
+ type: GET-request-received
352
+ parameters:
353
+ endpoint: /edev/1/derp/1/derc
354
+ actions:
355
+ - type: create-der-control
356
+ parameters:
357
+ start: $(now)
358
+ duration_seconds: 300
359
+ opModGenLimW: 0
360
+ opModConnect: false
361
+ fsa_id: 1
362
+ primacy: 1
363
+ tag: DERC4
364
+ - type: enable-steps
365
+ parameters:
366
+ steps:
367
+ - POST-DERC-4-RESPONSE-STARTED
368
+ - type: remove-steps
369
+ parameters:
370
+ steps:
371
+ - GET-DERC-4
372
+
373
+ # (m, n) (ii) Configure the second DERControl on DERP6
374
+ GET-DERC-5:
375
+ event:
376
+ type: GET-request-received
377
+ parameters:
378
+ endpoint: /edev/1/derp/6/derc
379
+ actions:
380
+ - type: create-der-control
381
+ parameters:
382
+ start: $(now)
383
+ duration_seconds: 1200 # 20 minutes
384
+ opModExpLimW: $(setMaxW * 2)
385
+ fsa_id: 2
386
+ primacy: 2
387
+ tag: DERC5
388
+ - type: enable-steps
389
+ parameters:
390
+ steps:
391
+ - POST-DERC-5-RESPONSE-STARTED
392
+ - type: remove-steps
393
+ parameters:
394
+ steps:
395
+ - GET-DERC-5
396
+
397
+ # (o) Receive response started for DERControl 4
398
+ POST-DERC-4-RESPONSE-STARTED:
399
+ event:
400
+ type: POST-request-received
401
+ parameters:
402
+ endpoint: /edev/1/rsps/site_control/rsp
403
+ serve_request_first: true
404
+ checks:
405
+ - type: response-contents
406
+ parameters:
407
+ latest: true
408
+ status: 2
409
+ subject_tag: DERC4
410
+ actions:
411
+ - type: enable-steps
412
+ parameters:
413
+ steps:
414
+ - POST-DERC-4-RESPONSE-COMPLETED
415
+ - type: remove-steps
416
+ parameters:
417
+ steps:
418
+ - POST-DERC-4-RESPONSE-STARTED
419
+
420
+ # (o) Receive response started for DERControl 5
421
+ POST-DERC-5-RESPONSE-STARTED:
422
+ event:
423
+ type: POST-request-received
424
+ parameters:
425
+ endpoint: /edev/1/rsps/site_control/rsp
426
+ serve_request_first: true
427
+ checks:
428
+ - type: response-contents
429
+ parameters:
430
+ latest: true
431
+ status: 2
432
+ subject_tag: DERC5
433
+ actions:
434
+ - type: remove-steps
435
+ parameters:
436
+ steps:
437
+ - POST-DERC-5-RESPONSE-STARTED
438
+
439
+
440
+ # (p, q, r) Do nothing but wait for DERControl 4 to complete
441
+ POST-DERC-4-RESPONSE-COMPLETED:
442
+ event:
443
+ type: POST-request-received
444
+ parameters:
445
+ endpoint: /edev/1/rsps/site_control/rsp
446
+ serve_request_first: true
447
+ checks:
448
+ - type: response-contents
449
+ parameters:
450
+ latest: true
451
+ status: 3
452
+ subject_tag: DERC4
453
+ actions:
454
+ - type: enable-steps
455
+ parameters:
456
+ steps:
457
+ - GET-DERC-6
458
+ - type: remove-steps
459
+ parameters:
460
+ steps:
461
+ - POST-DERC-4-RESPONSE-COMPLETED
462
+
463
+ # (s) Create a DERControl on DERP6 at 50%
464
+ GET-DERC-6:
465
+ event:
466
+ type: GET-request-received
467
+ parameters:
468
+ endpoint: /edev/1/derp/6/derc
469
+ actions:
470
+ - type: create-der-control
471
+ parameters:
472
+ start: $(now)
473
+ duration_seconds: 300 # 20 minutes
474
+ opModExpLimW: $(setMaxW * 0.5)
475
+ fsa_id: 2
476
+ primacy: 2
477
+ tag: DERC6
478
+ - type: enable-steps
479
+ parameters:
480
+ steps:
481
+ - POST-DERC-5-RESPONSE-SUPERSEDED
482
+ - POST-DERC-6-RESPONSE-STARTED
483
+ - type: remove-steps
484
+ parameters:
485
+ steps:
486
+ - GET-DERC-6
487
+
488
+ # (t) Receive started Response for DERControl 6
489
+ POST-DERC-6-RESPONSE-STARTED:
490
+ event:
491
+ type: POST-request-received
492
+ parameters:
493
+ endpoint: /edev/1/rsps/site_control/rsp
494
+ serve_request_first: true
495
+ checks:
496
+ - type: response-contents
497
+ parameters:
498
+ latest: true
499
+ status: 2
500
+ subject_tag: DERC6
501
+ actions:
502
+ - type: enable-steps
503
+ parameters:
504
+ steps:
505
+ - GET-DERC-7
506
+ - GET-DERC-8
507
+ - type: remove-steps
508
+ parameters:
509
+ steps:
510
+ - POST-DERC-6-RESPONSE-STARTED
511
+
512
+ # (u) Receive started Response for DERControl 5
513
+ POST-DERC-5-RESPONSE-SUPERSEDED:
514
+ event:
515
+ type: POST-request-received
516
+ parameters:
517
+ endpoint: /edev/1/rsps/site_control/rsp
518
+ serve_request_first: true
519
+ checks:
520
+ - type: response-contents
521
+ parameters:
522
+ latest: true
523
+ status: 7
524
+ subject_tag: DERC5
525
+ actions:
526
+ - type: remove-steps
527
+ parameters:
528
+ steps:
529
+ - POST-DERC-5-RESPONSE-SUPERSEDED
530
+
531
+ # (v) (i) Create a DERControl on DERP1 at 0%
532
+ GET-DERC-7:
533
+ event:
534
+ type: GET-request-received
535
+ parameters:
536
+ endpoint: /edev/1/derp/1/derc
537
+ actions:
538
+ - type: create-der-control
539
+ parameters:
540
+ start: $(now)
541
+ duration_seconds: 300
542
+ opModExpLimW: 0
543
+ fsa_id: 1
544
+ primacy: 1
545
+ tag: DERC7
546
+ - type: enable-steps
547
+ parameters:
548
+ steps:
549
+ - POST-DERC-7-RESPONSE-STARTED
550
+ - type: remove-steps
551
+ parameters:
552
+ steps:
553
+ - GET-DERC-7
554
+
555
+ # (v) (ii) Create a DERControl on DERP6 at 50% / 30%
556
+ GET-DERC-8:
557
+ event:
558
+ type: GET-request-received
559
+ parameters:
560
+ endpoint: /edev/1/derp/6/derc
561
+ actions:
562
+ - type: create-der-control
563
+ parameters:
564
+ start: $(now)
565
+ duration_seconds: 300
566
+ opModExpLimW: $(setMaxW * 0.5)
567
+ opModGenLimW: $(setMaxW * 0.3)
568
+ fsa_id: 2
569
+ primacy: 2
570
+ tag: DERC8
571
+ - type: enable-steps
572
+ parameters:
573
+ steps:
574
+ - POST-DERC-8-RESPONSE-STARTED
575
+ - type: remove-steps
576
+ parameters:
577
+ steps:
578
+ - GET-DERC-8
579
+
580
+ # (w, x) Receive the DERControl Response started for DERControl 7
581
+ POST-DERC-7-RESPONSE-STARTED:
582
+ event:
583
+ type: POST-request-received
584
+ parameters:
585
+ endpoint: /edev/1/rsps/site_control/rsp
586
+ serve_request_first: true
587
+ checks:
588
+ - type: response-contents
589
+ parameters:
590
+ latest: true
591
+ status: 2
592
+ subject_tag: DERC7
593
+ actions:
594
+ - type: enable-steps
595
+ parameters:
596
+ steps:
597
+ - POST-DERC-7-RESPONSE-COMPLETED
598
+ - type: remove-steps
599
+ parameters:
600
+ steps:
601
+ - POST-DERC-7-RESPONSE-STARTED
602
+
603
+ # (w, x) Receive the DERControl Response started for DERControl 8
604
+ POST-DERC-8-RESPONSE-STARTED:
605
+ event:
606
+ type: POST-request-received
607
+ parameters:
608
+ endpoint: /edev/1/rsps/site_control/rsp
609
+ serve_request_first: true
610
+ checks:
611
+ - type: response-contents
612
+ parameters:
613
+ latest: true
614
+ status: 2
615
+ subject_tag: DERC8
616
+ actions:
617
+ - type: remove-steps
618
+ parameters:
619
+ steps:
620
+ - POST-DERC-8-RESPONSE-STARTED
621
+
622
+
623
+ # (x) This isn't strictly in the TS5573 definition but the intention is for this control to finish BEFORE
624
+ # enabling the subsequent DERControls
625
+ POST-DERC-7-RESPONSE-COMPLETED:
626
+ event:
627
+ type: POST-request-received
628
+ parameters:
629
+ endpoint: /edev/1/rsps/site_control/rsp
630
+ serve_request_first: true
631
+ checks:
632
+ - type: response-contents
633
+ parameters:
634
+ latest: true
635
+ status: 3
636
+ subject_tag: DERC7
637
+ actions:
638
+ - type: enable-steps
639
+ parameters:
640
+ steps:
641
+ - GET-DERC-9
642
+ - GET-DERC-10
643
+ - type: remove-steps
644
+ parameters:
645
+ steps:
646
+ - POST-DERC-7-RESPONSE-COMPLETED
647
+
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
+ opModGenLimW: $(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
+ opModExpLimW: $(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
+ opModExpLimW: $(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
+ opModExpLimW: $(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: {}