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,378 @@
1
+ Description: Variable Load Limit
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
+ - type: create-der-program
26
+ parameters:
27
+ primacy: 0
28
+
29
+ checks:
30
+ - type: end-device-contents
31
+ parameters: {}
32
+ - type: der-settings-contents
33
+ parameters: {}
34
+
35
+ Steps:
36
+
37
+ # (precondition) - Create a DERControl - set to 200% of max
38
+ GET-DERC-1:
39
+ event:
40
+ type: GET-request-received
41
+ parameters:
42
+ endpoint: /edev/1/derp/1/derc
43
+ actions:
44
+ - type: create-der-control
45
+ parameters:
46
+ start: $(now)
47
+ duration_seconds: 60
48
+ opModLoadLimW: $(setMaxW * 2)
49
+ - type: enable-steps
50
+ parameters:
51
+ steps:
52
+ - GET-DERC-2
53
+ - type: remove-steps
54
+ parameters:
55
+ steps:
56
+ - GET-DERC-1
57
+
58
+ # (a,b) - Create a DERControl - set to 100% of max
59
+ GET-DERC-2:
60
+ event:
61
+ type: GET-request-received
62
+ parameters:
63
+ endpoint: /edev/1/derp/1/derc
64
+ actions:
65
+ - type: create-der-control
66
+ parameters:
67
+ start: $(now)
68
+ duration_seconds: 60
69
+ opModLoadLimW: $(setMaxW)
70
+ - type: enable-steps
71
+ parameters:
72
+ steps:
73
+ - POST-DERC-2-RESPONSE-RECEIVED
74
+ - POST-DERC-2-RESPONSE-STARTED
75
+ - POST-DERC-2-RESPONSE-COMPLETE
76
+ - type: remove-steps
77
+ parameters:
78
+ steps:
79
+ - GET-DERC-2
80
+
81
+ # (b) Wait for "received" response from DERC-2
82
+ POST-DERC-2-RESPONSE-RECEIVED:
83
+ event:
84
+ type: POST-request-received
85
+ parameters:
86
+ endpoint: /edev/1/rsps/site_control/rsp
87
+ serve_request_first: true
88
+ checks:
89
+ - type: response-contents
90
+ parameters:
91
+ latest: true
92
+ status: 1
93
+ actions:
94
+ - type: remove-steps
95
+ parameters:
96
+ steps:
97
+ - POST-DERC-2-RESPONSE-RECEIVED
98
+
99
+ # (b) Wait for "Started" response from DERC-2
100
+ POST-DERC-2-RESPONSE-STARTED:
101
+ event:
102
+ type: POST-request-received
103
+ parameters:
104
+ endpoint: /edev/1/rsps/site_control/rsp
105
+ serve_request_first: true
106
+ checks:
107
+ - type: response-contents
108
+ parameters:
109
+ latest: true
110
+ status: 2
111
+ actions:
112
+ - type: remove-steps
113
+ parameters:
114
+ steps:
115
+ - POST-DERC-2-RESPONSE-STARTED
116
+
117
+ # (b) Wait for "complete" response from DERC-2 - this will trigger the injection of the next control
118
+ POST-DERC-2-RESPONSE-COMPLETE:
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: 3
129
+ actions:
130
+ - type: enable-steps
131
+ parameters:
132
+ steps:
133
+ - GET-DERC-3
134
+ - type: remove-steps
135
+ parameters:
136
+ steps:
137
+ - POST-DERC-2-RESPONSE-COMPLETE
138
+
139
+ # (c,d) - Create a DERControl - set to 40% of max
140
+ GET-DERC-3:
141
+ event:
142
+ type: GET-request-received
143
+ parameters:
144
+ endpoint: /edev/1/derp/1/derc
145
+ actions:
146
+ - type: create-der-control
147
+ parameters:
148
+ start: $(now)
149
+ duration_seconds: 60
150
+ opModLoadLimW: $(setMaxW * 0.4)
151
+ - type: enable-steps
152
+ parameters:
153
+ steps:
154
+ - POST-DERC-3-RESPONSE-RECEIVED
155
+ - POST-DERC-3-RESPONSE-STARTED
156
+ - POST-DERC-3-RESPONSE-COMPLETE
157
+ - type: remove-steps
158
+ parameters:
159
+ steps:
160
+ - GET-DERC-3
161
+
162
+ # (b) Wait for "received" response from DERC-3
163
+ POST-DERC-3-RESPONSE-RECEIVED:
164
+ event:
165
+ type: POST-request-received
166
+ parameters:
167
+ endpoint: /edev/1/rsps/site_control/rsp
168
+ serve_request_first: true
169
+ checks:
170
+ - type: response-contents
171
+ parameters:
172
+ latest: true
173
+ status: 1
174
+ actions:
175
+ - type: remove-steps
176
+ parameters:
177
+ steps:
178
+ - POST-DERC-3-RESPONSE-RECEIVED
179
+
180
+ # (b) Wait for "Started" response from DERC-3
181
+ POST-DERC-3-RESPONSE-STARTED:
182
+ event:
183
+ type: POST-request-received
184
+ parameters:
185
+ endpoint: /edev/1/rsps/site_control/rsp
186
+ serve_request_first: true
187
+ checks:
188
+ - type: response-contents
189
+ parameters:
190
+ latest: true
191
+ status: 2
192
+ actions:
193
+ - type: remove-steps
194
+ parameters:
195
+ steps:
196
+ - POST-DERC-3-RESPONSE-STARTED
197
+
198
+ # (b) Wait for "complete" response from DERC-3
199
+ POST-DERC-3-RESPONSE-COMPLETE:
200
+ event:
201
+ type: POST-request-received
202
+ parameters:
203
+ endpoint: /edev/1/rsps/site_control/rsp
204
+ serve_request_first: true
205
+ checks:
206
+ - type: response-contents
207
+ parameters:
208
+ latest: true
209
+ status: 3
210
+ actions:
211
+ - type: enable-steps
212
+ parameters:
213
+ steps:
214
+ - GET-DERC-4
215
+ - type: remove-steps
216
+ parameters:
217
+ steps:
218
+ - POST-DERC-3-RESPONSE-COMPLETE
219
+
220
+ # (e, f) - Create a DERControl - set to 25% of max
221
+ GET-DERC-4:
222
+ event:
223
+ type: GET-request-received
224
+ parameters:
225
+ endpoint: /edev/1/derp/1/derc
226
+ actions:
227
+ - type: create-der-control
228
+ parameters:
229
+ start: $(now)
230
+ duration_seconds: 60
231
+ opModLoadLimW: $(setMaxW * 0.25)
232
+ - type: enable-steps
233
+ parameters:
234
+ steps:
235
+ - POST-DERC-4-RESPONSE-RECEIVED
236
+ - POST-DERC-4-RESPONSE-STARTED
237
+ - POST-DERC-4-RESPONSE-COMPLETE
238
+ - type: remove-steps
239
+ parameters:
240
+ steps:
241
+ - GET-DERC-4
242
+
243
+ # (f) Wait for "received" response from DERC-4
244
+ POST-DERC-4-RESPONSE-RECEIVED:
245
+ event:
246
+ type: POST-request-received
247
+ parameters:
248
+ endpoint: /edev/1/rsps/site_control/rsp
249
+ serve_request_first: true
250
+ checks:
251
+ - type: response-contents
252
+ parameters:
253
+ latest: true
254
+ status: 1
255
+ actions:
256
+ - type: remove-steps
257
+ parameters:
258
+ steps:
259
+ - POST-DERC-4-RESPONSE-RECEIVED
260
+
261
+ # (f) Wait for "Started" response from DERC-4
262
+ POST-DERC-4-RESPONSE-STARTED:
263
+ event:
264
+ type: POST-request-received
265
+ parameters:
266
+ endpoint: /edev/1/rsps/site_control/rsp
267
+ serve_request_first: true
268
+ checks:
269
+ - type: response-contents
270
+ parameters:
271
+ latest: true
272
+ status: 2
273
+ actions:
274
+ - type: remove-steps
275
+ parameters:
276
+ steps:
277
+ - POST-DERC-4-RESPONSE-STARTED
278
+
279
+ # (f) Wait for "complete" response from DERC-4
280
+ POST-DERC-4-RESPONSE-COMPLETE:
281
+ event:
282
+ type: POST-request-received
283
+ parameters:
284
+ endpoint: /edev/1/rsps/site_control/rsp
285
+ serve_request_first: true
286
+ checks:
287
+ - type: response-contents
288
+ parameters:
289
+ latest: true
290
+ status: 3
291
+ actions:
292
+ - type: enable-steps
293
+ parameters:
294
+ steps:
295
+ - GET-DERC-5
296
+ - type: remove-steps
297
+ parameters:
298
+ steps:
299
+ - POST-DERC-4-RESPONSE-COMPLETE
300
+
301
+ # (g, h) - Create a DERControl - set to 0% of max
302
+ GET-DERC-5:
303
+ event:
304
+ type: GET-request-received
305
+ parameters:
306
+ endpoint: /edev/1/derp/1/derc
307
+ actions:
308
+ - type: create-der-control
309
+ parameters:
310
+ start: $(now)
311
+ duration_seconds: 60
312
+ opModLoadLimW: 0
313
+ - type: enable-steps
314
+ parameters:
315
+ steps:
316
+ - POST-DERC-5-RESPONSE-RECEIVED
317
+ - POST-DERC-5-RESPONSE-STARTED
318
+ - POST-DERC-5-RESPONSE-COMPLETE
319
+ - type: remove-steps
320
+ parameters:
321
+ steps:
322
+ - GET-DERC-5
323
+
324
+ # (h) Wait for "received" response from DERC-5
325
+ POST-DERC-5-RESPONSE-RECEIVED:
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: 1
336
+ actions:
337
+ - type: remove-steps
338
+ parameters:
339
+ steps:
340
+ - POST-DERC-5-RESPONSE-RECEIVED
341
+
342
+ # (h) Wait for "Started" response from DERC-5
343
+ POST-DERC-5-RESPONSE-STARTED:
344
+ event:
345
+ type: POST-request-received
346
+ parameters:
347
+ endpoint: /edev/1/rsps/site_control/rsp
348
+ serve_request_first: true
349
+ checks:
350
+ - type: response-contents
351
+ parameters:
352
+ latest: true
353
+ status: 2
354
+ actions:
355
+ - type: remove-steps
356
+ parameters:
357
+ steps:
358
+ - POST-DERC-5-RESPONSE-STARTED
359
+
360
+ # (f) Wait for "complete" response from DERC-5
361
+ POST-DERC-5-RESPONSE-COMPLETE:
362
+ event:
363
+ type: POST-request-received
364
+ parameters:
365
+ endpoint: /edev/1/rsps/site_control/rsp
366
+ serve_request_first: true
367
+ checks:
368
+ - type: response-contents
369
+ parameters:
370
+ latest: true
371
+ status: 3
372
+ actions:
373
+ - type: remove-steps
374
+ parameters:
375
+ steps:
376
+ - POST-DERC-5-RESPONSE-COMPLETE
377
+ - type: finish-test
378
+ parameters: {}
@@ -0,0 +1,71 @@
1
+ Description: Tracking import-limit through variable load
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
+ actions:
32
+ - type: create-der-control
33
+ parameters:
34
+ start: $(now)
35
+ duration_seconds: 60
36
+ opModImpLimW: $(setMaxW * 2)
37
+ - type: create-der-control
38
+ parameters:
39
+ start: $(now + '1 minute')
40
+ duration_seconds: 420
41
+ opModImpLimW: $(setMaxW * 0.2)
42
+ instructions:
43
+ - Connect a test load electrically in parallel with the DER.
44
+ - Set the load to consume 0W.
45
+
46
+ Steps:
47
+
48
+ # This test is purely following a sequence of DERControls. It's expected that the following events occurs out of band:
49
+ # at t=0 - Test load is consuming 0W
50
+ # at t=120s - Test load is consuming 20% of setMaxW
51
+ # at t=240s - Test load is consuming 10% of setMaxW
52
+ # at t=360s - Test load is consuming 0W
53
+ #
54
+ # Validation MUST be performed by power meter to ensure that the DER is adjusting its power in response to changing
55
+ # loads
56
+ WAIT-TEST-END:
57
+ instructions:
58
+ - At t=120s, set the load to consume 20% of the DER's rated active power.
59
+ - At t=240s, set the load to consume 10% of the DER's rated active power.
60
+ - At t=360s, set the load to consume 0W.
61
+ event:
62
+ type: wait
63
+ parameters:
64
+ duration_seconds: 500
65
+ actions:
66
+ - type: remove-steps
67
+ parameters:
68
+ steps:
69
+ - WAIT-TEST-END
70
+ - type: finish-test
71
+ parameters: {}
@@ -0,0 +1,92 @@
1
+ Description: Returning DERStatus Values for Multiple DER
2
+ Category: Monitoring
3
+ Classes:
4
+ - M
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
+
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
+ checks:
27
+ - type: end-device-contents
28
+ parameters: {}
29
+ - type: der-settings-contents
30
+ parameters: {}
31
+ - type: der-status-contents
32
+ parameters:
33
+ genConnectStatus_bit0: true
34
+ actions:
35
+ - type: create-der-control
36
+ parameters:
37
+ start: $(now)
38
+ duration_seconds: 900
39
+ opModExpLimW: $(setMaxW * 2)
40
+ opModImpLimW: $(setMaxW * 2)
41
+
42
+ Steps:
43
+
44
+ # The client powers off one DER
45
+ PUT-DERSTATUS-FIRST-DISCONNECT:
46
+ instructions:
47
+ - Power off one DER either by a hardware switch on the DER or by disconnection from the grid supply. Priority should be given to DER capable of generation.
48
+ event:
49
+ type: PUT-request-received
50
+ parameters:
51
+ endpoint: /edev/1/der/1/ders
52
+ serve_request_first: true # Run this AFTER server receives the request
53
+ # Only trigger this if the server has an updated DERStatus
54
+ checks:
55
+ - type: der-status-contents
56
+ parameters:
57
+ operationalModeStatus: 2
58
+ genConnectStatus_bit0: true
59
+ genConnectStatus_bit1: true
60
+ genConnectStatus_bit2: true
61
+ actions:
62
+ - type: enable-steps
63
+ parameters:
64
+ steps:
65
+ - PUT-DERSTATUS-FULL-DISCONNECT
66
+ - type: remove-steps
67
+ parameters:
68
+ steps:
69
+ - PUT-DERSTATUS-FIRST-DISCONNECT
70
+
71
+ # The client powers off all remaining DER
72
+ PUT-DERSTATUS-FULL-DISCONNECT:
73
+ instructions:
74
+ - Power off off remaining DER.
75
+ event:
76
+ type: PUT-request-received
77
+ parameters:
78
+ endpoint: /edev/1/der/1/ders
79
+ serve_request_first: true # Run this AFTER server receives the request
80
+ # Only trigger this if the server has an updated DERStatus
81
+ checks:
82
+ - type: der-status-contents
83
+ parameters:
84
+ operationalModeStatus: 1
85
+ genConnectStatus_bit0: false
86
+ genConnectStatus_bit1: false
87
+ genConnectStatus_bit2: false
88
+ actions:
89
+ - type: remove-steps
90
+ parameters:
91
+ steps:
92
+ - PUT-DERSTATUS-FULL-DISCONNECT
@@ -0,0 +1,80 @@
1
+ Description: Reporting Aggregated Telemetry for Multiple DER
2
+ Category: Monitoring
3
+ Classes:
4
+ - M
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
+ # Test is ~5 minutes of waiting which should leave enough time for at least 3 reading posts
16
+ - type: readings-site-active-power
17
+ parameters: {"minimum_count": 3}
18
+ - type: readings-site-reactive-power
19
+ parameters: {"minimum_count": 3}
20
+ - type: readings-voltage
21
+ parameters: {"minimum_count": 3}
22
+ - type: readings-der-active-power
23
+ parameters: {"minimum_count": 3}
24
+ - type: readings-der-reactive-power
25
+ parameters: {"minimum_count": 3}
26
+
27
+ Preconditions:
28
+ init_actions:
29
+ - type: set-comms-rate
30
+ parameters:
31
+ dcap_poll_seconds: 60
32
+ edev_list_poll_seconds: 60
33
+ fsa_list_poll_seconds: 60
34
+ der_list_poll_seconds: 60
35
+ derp_list_poll_seconds: 60
36
+ mup_post_seconds: 60
37
+
38
+ checks:
39
+ - type: end-device-contents
40
+ parameters: {}
41
+ - type: der-settings-contents
42
+ parameters: {}
43
+ actions:
44
+ - type: set-comms-rate
45
+ parameters:
46
+ der_list_poll_seconds: 60
47
+ mup_post_seconds: 60
48
+ - type: create-der-control
49
+ parameters:
50
+ start: $(now)
51
+ duration_seconds: 120
52
+ opModExpLimW: $(setMaxW * 2)
53
+ opModImpLimW: $(setMaxW * 2)
54
+ - type: create-der-control
55
+ parameters:
56
+ start: $(now + '2 minutes')
57
+ duration_seconds: 120
58
+ opModExpLimW: 0
59
+ opModImpLimW: 0
60
+ instructions:
61
+ - Connect a test load electrically in parallel with the DER.
62
+ - Set the load to consume 10% of the sum total of the DERs' rated active power.
63
+
64
+ Steps:
65
+
66
+ # Wait for the test end - validation of device response will need to be validated out of band
67
+ WAIT-TEST-END:
68
+ event:
69
+ type: wait
70
+ parameters:
71
+ duration_seconds: 300 # Wait for at least 4/5 sets of readings to arrive (with post rate 60 seconds)
72
+ actions:
73
+ - type: remove-steps
74
+ parameters:
75
+ steps:
76
+ - WAIT-TEST-END
77
+ - type: finish-test
78
+ parameters: {}
79
+ instructions:
80
+ - DER should send correct readings, aggregated according TS 5573 2025
@@ -0,0 +1,74 @@
1
+ Description: Validate DERCapability and DERSettings For Multiple DER
2
+ Category: Monitoring
3
+ Classes:
4
+ - M
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: der-capability-contents
15
+ parameters: {}
16
+ - type: der-settings-contents
17
+ parameters: {}
18
+ - type: der-status-contents
19
+ parameters: {}
20
+
21
+ Preconditions:
22
+ immediate_start: true # There will be no "init" phase - all interactions will be immediately logged against the test
23
+ init_actions:
24
+ - type: set-comms-rate
25
+ parameters:
26
+ dcap_poll_seconds: 60
27
+ edev_list_poll_seconds: 60
28
+ fsa_list_poll_seconds: 60
29
+ der_list_poll_seconds: 60
30
+ derp_list_poll_seconds: 60
31
+ mup_post_seconds: 60
32
+ - type: create-der-program
33
+ parameters:
34
+ primacy: 0
35
+
36
+ Steps:
37
+
38
+ # (a, b, c)
39
+ PUT-DERSETTINGS-FIRST:
40
+ event:
41
+ type: PUT-request-received
42
+ parameters:
43
+ endpoint: /edev/1/der/1/derg
44
+ actions:
45
+ - type: set-default-der-control
46
+ parameters:
47
+ setGradW: 100 # Value in hundredths, 100 = 1%
48
+ - type: remove-steps
49
+ parameters:
50
+ steps:
51
+ - PUT-DERSETTINGS-FIRST
52
+ - type: enable-steps
53
+ parameters:
54
+ steps:
55
+ - PUT-DERSETTINGS-UPDATED
56
+
57
+ # (d)
58
+ PUT-DERSETTINGS-UPDATED:
59
+ instructions:
60
+ - Modify the maximum rating of one DER in the device settings.
61
+ event:
62
+ type: PUT-request-received
63
+ parameters:
64
+ endpoint: /edev/1/der/1/derg
65
+ serve_request_first: true
66
+ checks:
67
+ - type: der-settings-contents
68
+ parameters:
69
+ setGradW: 100
70
+ actions:
71
+ - type: remove-steps
72
+ parameters:
73
+ steps:
74
+ - PUT-DERSETTINGS-UPDATED