cactus-test-definitions 1.0.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 (135) 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/actions.py +98 -0
  21. cactus_test_definitions/client/checks.py +117 -0
  22. cactus_test_definitions/client/events.py +71 -0
  23. cactus_test_definitions/client/procedures/ALL-01.yaml +94 -0
  24. cactus_test_definitions/client/procedures/ALL-02.yaml +108 -0
  25. cactus_test_definitions/client/procedures/ALL-03-REJ.yaml +69 -0
  26. cactus_test_definitions/client/procedures/ALL-03.yaml +110 -0
  27. cactus_test_definitions/client/procedures/ALL-04.yaml +69 -0
  28. cactus_test_definitions/client/procedures/ALL-05.yaml +117 -0
  29. cactus_test_definitions/client/procedures/ALL-06.yaml +128 -0
  30. cactus_test_definitions/client/procedures/ALL-07.yaml +76 -0
  31. cactus_test_definitions/client/procedures/ALL-08.yaml +78 -0
  32. cactus_test_definitions/client/procedures/ALL-09.yaml +103 -0
  33. cactus_test_definitions/client/procedures/ALL-10.yaml +128 -0
  34. cactus_test_definitions/client/procedures/ALL-11.yaml +111 -0
  35. cactus_test_definitions/client/procedures/ALL-12.yaml +108 -0
  36. cactus_test_definitions/client/procedures/ALL-13.yaml +112 -0
  37. cactus_test_definitions/client/procedures/ALL-14.yaml +165 -0
  38. cactus_test_definitions/client/procedures/ALL-15.yaml +109 -0
  39. cactus_test_definitions/client/procedures/ALL-16.yaml +102 -0
  40. cactus_test_definitions/client/procedures/ALL-17.yaml +63 -0
  41. cactus_test_definitions/client/procedures/ALL-18.yaml +288 -0
  42. cactus_test_definitions/client/procedures/ALL-19.yaml +78 -0
  43. cactus_test_definitions/client/procedures/ALL-20.yaml +136 -0
  44. cactus_test_definitions/client/procedures/ALL-21.yaml +203 -0
  45. cactus_test_definitions/client/procedures/ALL-22.yaml +82 -0
  46. cactus_test_definitions/client/procedures/ALL-23.yaml +158 -0
  47. cactus_test_definitions/client/procedures/ALL-24.yaml +132 -0
  48. cactus_test_definitions/client/procedures/ALL-25.yaml +136 -0
  49. cactus_test_definitions/client/procedures/ALL-26.yaml +147 -0
  50. cactus_test_definitions/client/procedures/ALL-27.yaml +144 -0
  51. cactus_test_definitions/client/procedures/ALL-28.yaml +274 -0
  52. cactus_test_definitions/client/procedures/ALL-29.yaml +87 -0
  53. cactus_test_definitions/client/procedures/ALL-30.yaml +188 -0
  54. cactus_test_definitions/client/procedures/BES-01.yaml +136 -0
  55. cactus_test_definitions/client/procedures/BES-02.yaml +137 -0
  56. cactus_test_definitions/client/procedures/BES-03.yaml +135 -0
  57. cactus_test_definitions/client/procedures/BES-04.yaml +228 -0
  58. cactus_test_definitions/client/procedures/DRA-01.yaml +54 -0
  59. cactus_test_definitions/client/procedures/DRA-02.yaml +64 -0
  60. cactus_test_definitions/client/procedures/DRD-01.yaml +667 -0
  61. cactus_test_definitions/client/procedures/DRL-01.yaml +327 -0
  62. cactus_test_definitions/client/procedures/GEN-01.yaml +73 -0
  63. cactus_test_definitions/client/procedures/GEN-02.yaml +72 -0
  64. cactus_test_definitions/client/procedures/GEN-03.yaml +160 -0
  65. cactus_test_definitions/client/procedures/GEN-04.yaml +161 -0
  66. cactus_test_definitions/client/procedures/GEN-05.yaml +89 -0
  67. cactus_test_definitions/client/procedures/GEN-06.yaml +90 -0
  68. cactus_test_definitions/client/procedures/GEN-07.yaml +145 -0
  69. cactus_test_definitions/client/procedures/GEN-08.yaml +145 -0
  70. cactus_test_definitions/client/procedures/GEN-09.yaml +117 -0
  71. cactus_test_definitions/client/procedures/GEN-10.yaml +737 -0
  72. cactus_test_definitions/client/procedures/GEN-11.yaml +376 -0
  73. cactus_test_definitions/client/procedures/GEN-12.yaml +376 -0
  74. cactus_test_definitions/client/procedures/GEN-13.yaml +70 -0
  75. cactus_test_definitions/client/procedures/LOA-01.yaml +73 -0
  76. cactus_test_definitions/client/procedures/LOA-02.yaml +73 -0
  77. cactus_test_definitions/client/procedures/LOA-03.yaml +160 -0
  78. cactus_test_definitions/client/procedures/LOA-04.yaml +161 -0
  79. cactus_test_definitions/client/procedures/LOA-05.yaml +85 -0
  80. cactus_test_definitions/client/procedures/LOA-06.yaml +85 -0
  81. cactus_test_definitions/client/procedures/LOA-07.yaml +145 -0
  82. cactus_test_definitions/client/procedures/LOA-08.yaml +145 -0
  83. cactus_test_definitions/client/procedures/LOA-09.yaml +117 -0
  84. cactus_test_definitions/client/procedures/LOA-10.yaml +739 -0
  85. cactus_test_definitions/client/procedures/LOA-11.yaml +376 -0
  86. cactus_test_definitions/client/procedures/LOA-12.yaml +376 -0
  87. cactus_test_definitions/client/procedures/LOA-13.yaml +71 -0
  88. cactus_test_definitions/client/procedures/MUL-01.yaml +92 -0
  89. cactus_test_definitions/client/procedures/MUL-02.yaml +80 -0
  90. cactus_test_definitions/client/procedures/MUL-03.yaml +78 -0
  91. cactus_test_definitions/client/procedures/OPT-1-IN-BAND.yaml +115 -0
  92. cactus_test_definitions/client/procedures/OPT-1-OUT-OF-BAND.yaml +101 -0
  93. cactus_test_definitions/client/procedures/test-procedures.yaml +75 -0
  94. cactus_test_definitions/client/test_procedures.py +296 -0
  95. cactus_test_definitions/csipaus.py +81 -0
  96. cactus_test_definitions/errors.py +15 -0
  97. cactus_test_definitions/parameters.py +149 -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/__pycache__/actions.cpython-312.pyc +0 -0
  102. cactus_test_definitions/server/__pycache__/checks.cpython-312.pyc +0 -0
  103. cactus_test_definitions/server/__pycache__/test_procedures.cpython-312-pytest-8.3.5.pyc +0 -0
  104. cactus_test_definitions/server/actions.py +139 -0
  105. cactus_test_definitions/server/checks.py +117 -0
  106. cactus_test_definitions/server/procedures/S-ALL-01.yaml +42 -0
  107. cactus_test_definitions/server/procedures/S-ALL-02.yaml +65 -0
  108. cactus_test_definitions/server/procedures/S-ALL-03.yaml +65 -0
  109. cactus_test_definitions/server/procedures/S-ALL-04.yaml +137 -0
  110. cactus_test_definitions/server/procedures/S-ALL-05.yaml +111 -0
  111. cactus_test_definitions/server/procedures/S-OPT-01.yaml +42 -0
  112. cactus_test_definitions/server/procedures/S-OPT-02.yaml +40 -0
  113. cactus_test_definitions/server/procedures/S-OPT-03.yaml +44 -0
  114. cactus_test_definitions/server/procedures/S-OPT-04.yaml +32 -0
  115. cactus_test_definitions/server/procedures/test-procedures.yaml +14 -0
  116. cactus_test_definitions/server/test_procedures.py +183 -0
  117. cactus_test_definitions/variable_expressions.py +419 -0
  118. cactus_test_definitions-1.0.0.dist-info/METADATA +288 -0
  119. cactus_test_definitions-1.0.0.dist-info/RECORD +135 -0
  120. cactus_test_definitions-1.0.0.dist-info/WHEEL +5 -0
  121. cactus_test_definitions-1.0.0.dist-info/licenses/LICENSE.txt +22 -0
  122. cactus_test_definitions-1.0.0.dist-info/top_level.txt +2 -0
  123. tests/__init__.py +0 -0
  124. tests/unit/__init__.py +0 -0
  125. tests/unit/client/__init__.py +0 -0
  126. tests/unit/client/test_actions.py +72 -0
  127. tests/unit/client/test_checks.py +47 -0
  128. tests/unit/client/test_config.py +61 -0
  129. tests/unit/client/test_events.py +36 -0
  130. tests/unit/client/test_test_procedures.py +150 -0
  131. tests/unit/server/__init__.py +0 -0
  132. tests/unit/server/test_test_procedures.py +86 -0
  133. tests/unit/test_csipaus.py +49 -0
  134. tests/unit/test_parameters.py +197 -0
  135. tests/unit/test_variable_expressions.py +402 -0
@@ -0,0 +1,128 @@
1
+ Description: Update telemetry post rates
2
+ Category: Monitoring
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
+ # Test is ~11.5 minutes of waiting which should leave enough time for:
16
+ # one post @ 60 seconds (during startup - might not happen if timings line up)
17
+ # two posts @ 300 seconds
18
+ # one post @ 60 seconds (after update)
19
+ - type: readings-site-active-power
20
+ parameters: {"minimum_count": 3}
21
+ - type: readings-site-reactive-power
22
+ parameters: {"minimum_count": 3}
23
+ - type: readings-voltage
24
+ parameters: {"minimum_count": 3}
25
+ - type: readings-der-active-power
26
+ parameters: {"minimum_count": 3}
27
+ - type: readings-der-reactive-power
28
+ parameters: {"minimum_count": 3}
29
+
30
+ Preconditions:
31
+ init_actions:
32
+ - type: set-comms-rate
33
+ parameters:
34
+ dcap_poll_seconds: 60
35
+ edev_list_poll_seconds: 60
36
+ fsa_list_poll_seconds: 60
37
+ der_list_poll_seconds: 60
38
+ derp_list_poll_seconds: 60
39
+ mup_post_seconds: 60
40
+ checks:
41
+ - type: end-device-contents
42
+ parameters: {}
43
+
44
+ Steps:
45
+
46
+ # (a, b)
47
+ GET-MUP-INITIAL:
48
+ event:
49
+ type: GET-request-received
50
+ parameters:
51
+ endpoint: /mup
52
+ actions:
53
+ - type: set-comms-rate
54
+ parameters:
55
+ mup_post_seconds: 300
56
+ - type: enable-steps
57
+ parameters:
58
+ steps:
59
+ - WAIT-TILL-UPDATE
60
+ - type: remove-steps
61
+ parameters:
62
+ steps:
63
+ - GET-MUP-INITIAL
64
+
65
+ # NOTE - (c) will be evaluated via TestCriteria checks
66
+
67
+ # (d, e)
68
+ WAIT-TILL-UPDATE:
69
+ event:
70
+ type: wait
71
+ parameters:
72
+ duration_seconds: 600
73
+ actions:
74
+ - type: enable-steps
75
+ parameters:
76
+ steps:
77
+ - GET-MUP-UPDATED
78
+ - type: remove-steps
79
+ parameters:
80
+ steps:
81
+ - WAIT-TILL-UPDATE
82
+
83
+ # (d, e)
84
+ GET-MUP-UPDATED:
85
+ event:
86
+ type: GET-request-received
87
+ parameters:
88
+ endpoint: /mup
89
+ actions:
90
+ - type: set-comms-rate
91
+ parameters:
92
+ mup_post_seconds: 60
93
+ - type: enable-steps
94
+ parameters:
95
+ steps:
96
+ - POST-MUP-1
97
+ - WAIT-TILL-END
98
+ - type: remove-steps
99
+ parameters:
100
+ steps:
101
+ - GET-MUP-UPDATED
102
+
103
+ # (f) - This is our proxy for making sure that post rate has returned to 60s - it has 90 seconds to be hit after GET-MUP-UPDATED
104
+ POST-MUP-1:
105
+ event:
106
+ type: POST-request-received
107
+ parameters:
108
+ endpoint: /mup/*
109
+ actions:
110
+ - type: remove-steps
111
+ parameters:
112
+ steps:
113
+ - POST-MUP-1
114
+
115
+ # (f)
116
+ WAIT-TILL-END:
117
+ event:
118
+ type: wait
119
+ parameters:
120
+ duration_seconds: 90
121
+ actions:
122
+ - type: remove-steps
123
+ parameters:
124
+ steps:
125
+ - WAIT-TILL-END
126
+ - type: finish-test
127
+ parameters: {}
128
+
@@ -0,0 +1,111 @@
1
+ Description: Active Control – Energise / De-energise
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: 300
23
+ derp_list_poll_seconds: 300
24
+ mup_post_seconds: 60
25
+ checks:
26
+ - type: end-device-contents
27
+ parameters: {}
28
+ - type: der-settings-contents
29
+ parameters: {}
30
+ actions:
31
+ - type: create-der-control
32
+ parameters:
33
+ start: $(now)
34
+ duration_seconds: 900
35
+ opModEnergize: true
36
+ - type: create-der-control
37
+ parameters:
38
+ start: $(now + '5 minutes')
39
+ duration_seconds: 300
40
+ opModEnergize: false
41
+ instructions:
42
+ - DER shall be generating or consuming at least 50% of its active power rating.
43
+
44
+ Steps:
45
+
46
+ # (b) - Wait until just before the opModEnergize: False control before accepting a DERStatus update
47
+ WAIT-CONTROL-START:
48
+ event:
49
+ type: wait
50
+ parameters:
51
+ duration_seconds: 270
52
+ actions:
53
+ - type: enable-steps
54
+ parameters:
55
+ steps:
56
+ - PUT-DERSTATUS-DISCONNECT
57
+ - WAIT-CONTROL-END
58
+ - type: remove-steps
59
+ parameters:
60
+ steps:
61
+ - WAIT-CONTROL-START
62
+
63
+ # (c)
64
+ PUT-DERSTATUS-DISCONNECT:
65
+ event:
66
+ type: PUT-request-received
67
+ parameters:
68
+ endpoint: /edev/1/der/1/ders
69
+ serve_request_first: true # Run this AFTER server receives the request
70
+ checks:
71
+ type: der-status-contents
72
+ parameters:
73
+ genConnectStatus_bit0: false
74
+ actions:
75
+ - type: remove-steps
76
+ parameters:
77
+ steps:
78
+ - PUT-DERSTATUS-DISCONNECT
79
+
80
+ # (d) - This is soley to prevent a client from reporting reconnect too early
81
+ WAIT-CONTROL-END:
82
+ event:
83
+ type: wait
84
+ parameters:
85
+ duration_seconds: 600
86
+ actions:
87
+ - type: enable-steps
88
+ parameters:
89
+ steps:
90
+ - PUT-DERSTATUS-RECONNECT
91
+ - type: remove-steps
92
+ parameters:
93
+ steps:
94
+ - WAIT-CONTROL-END
95
+
96
+ # (d)
97
+ PUT-DERSTATUS-RECONNECT:
98
+ event:
99
+ type: PUT-request-received
100
+ parameters:
101
+ endpoint: /edev/1/der/1/ders
102
+ serve_request_first: true # Run this AFTER server receives the request
103
+ checks:
104
+ type: der-status-contents
105
+ parameters:
106
+ genConnectStatus_bit0: true
107
+ actions:
108
+ - type: remove-steps
109
+ parameters:
110
+ steps:
111
+ - PUT-DERSTATUS-RECONNECT
@@ -0,0 +1,108 @@
1
+ Description: Active Control – Disconnect
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
+ actions:
29
+ - type: create-der-program
30
+ parameters:
31
+ primacy: 0
32
+
33
+ instructions:
34
+ - DER shall be generating or consuming at least 50% of its active power rating.
35
+
36
+ Steps:
37
+ # (precondition, a, b)
38
+ GET-DERC:
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 + '5 minutes')
47
+ duration_seconds: 600
48
+ opModConnect: false
49
+ - type: enable-steps
50
+ parameters:
51
+ steps:
52
+ - WAIT-TILL-END
53
+ - PUT-DERSTATUS-DISCONNECT
54
+ - type: remove-steps
55
+ parameters:
56
+ steps:
57
+ - GET-DERC
58
+
59
+ # (c) This will wait until the client POST's a DERStatus saying it has disconnected
60
+ PUT-DERSTATUS-DISCONNECT:
61
+ event:
62
+ type: PUT-request-received
63
+ parameters:
64
+ endpoint: /edev/1/der/1/ders
65
+ serve_request_first: true # Run this AFTER server receives the request
66
+ checks:
67
+ type: der-status-contents
68
+ parameters:
69
+ genConnectStatus_bit0: false
70
+ actions:
71
+ - type: enable-steps
72
+ parameters:
73
+ steps:
74
+ - PUT-DERSTATUS-RECONNECT
75
+ - type: remove-steps
76
+ parameters:
77
+ steps:
78
+ - PUT-DERSTATUS-DISCONNECT
79
+
80
+ # (d) This will wait until the client POST's a DERStatus saying it has reconnected
81
+ PUT-DERSTATUS-RECONNECT:
82
+ event:
83
+ type: PUT-request-received
84
+ parameters:
85
+ endpoint: /edev/1/der/1/ders
86
+ serve_request_first: true # Run this AFTER server receives the request
87
+ checks:
88
+ type: der-status-contents
89
+ parameters:
90
+ genConnectStatus_bit0: true
91
+ actions:
92
+ - type: remove-steps
93
+ parameters:
94
+ steps:
95
+ - PUT-DERSTATUS-RECONNECT
96
+
97
+ WAIT-TILL-END:
98
+ event:
99
+ type: wait
100
+ parameters:
101
+ duration_seconds: 960
102
+ actions:
103
+ - type: remove-steps
104
+ parameters:
105
+ steps:
106
+ - WAIT-TILL-END
107
+ - type: finish-test
108
+ parameters: {}
@@ -0,0 +1,112 @@
1
+ Description: Default Controls – Ramp Rate
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
+ - type: create-der-program
26
+ parameters:
27
+ primacy: 0
28
+ checks:
29
+ - type: end-device-contents
30
+ parameters: {}
31
+
32
+ Steps:
33
+
34
+ # (a, b)
35
+ # On first poll of default control - set setGradW to 1%/s
36
+ GET-DEFAULT-DERC-100:
37
+ event:
38
+ type: GET-request-received
39
+ parameters:
40
+ endpoint: /edev/1/derp/1/dderc
41
+ actions:
42
+ - type: set-default-der-control
43
+ parameters:
44
+ setGradW: 100 # hundredths of a percent - this is 1%
45
+ - type: enable-steps
46
+ parameters:
47
+ steps:
48
+ - PUT-DERSETTINGS-SET-GRAD-W-100
49
+ - type: remove-steps
50
+ parameters:
51
+ steps:
52
+ - GET-DEFAULT-DERC-100
53
+
54
+ # (c)
55
+ # This will wait until the client POST's a DERSettings with the 1% setGradW
56
+ PUT-DERSETTINGS-SET-GRAD-W-100:
57
+ event:
58
+ type: PUT-request-received
59
+ parameters:
60
+ endpoint: /edev/1/der/1/derg
61
+ serve_request_first: true # Run this AFTER server receives the request
62
+ checks:
63
+ type: der-settings-contents
64
+ parameters:
65
+ setGradW: 100
66
+ actions:
67
+ - type: enable-steps
68
+ parameters:
69
+ steps:
70
+ - GET-DEFAULT-DERC-27
71
+ - type: remove-steps
72
+ parameters:
73
+ steps:
74
+ - PUT-DERSETTINGS-SET-GRAD-W-100
75
+
76
+ # (after)
77
+ GET-DEFAULT-DERC-27:
78
+ event:
79
+ type: GET-request-received
80
+ parameters:
81
+ endpoint: /edev/1/derp/1/dderc
82
+ actions:
83
+ - type: set-default-der-control
84
+ parameters:
85
+ setGradW: 27 # hundredths of a percent - this is 0.27%
86
+ - type: enable-steps
87
+ parameters:
88
+ steps:
89
+ - PUT-DERSETTINGS-SET-GRAD-W-27
90
+ - type: remove-steps
91
+ parameters:
92
+ steps:
93
+ - GET-DEFAULT-DERC-27
94
+
95
+ # (after)
96
+ # This will wait until the client POST's a DERSettings with the 0.27% setGradW
97
+ PUT-DERSETTINGS-SET-GRAD-W-27:
98
+ event:
99
+ type: PUT-request-received
100
+ parameters:
101
+ endpoint: /edev/1/der/1/derg
102
+ serve_request_first: true # Run this AFTER server receives the request
103
+ checks:
104
+ type: der-settings-contents
105
+ parameters:
106
+ setGradW: 27
107
+ actions:
108
+ - type: remove-steps
109
+ parameters:
110
+ steps:
111
+ - PUT-DERSETTINGS-SET-GRAD-W-27
112
+
@@ -0,0 +1,165 @@
1
+ Description: Subscribe
2
+ Category: Control
3
+ Classes:
4
+ - S
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: all-notifications-transmitted
15
+ parameters: {}
16
+
17
+ Preconditions:
18
+ immediate_start: true # There will be no "init" phase - all interactions will be immediately logged against the test
19
+ init_actions:
20
+ - type: set-comms-rate
21
+ parameters:
22
+ dcap_poll_seconds: 60
23
+ edev_list_poll_seconds: 60
24
+ fsa_list_poll_seconds: 60
25
+ der_list_poll_seconds: 60
26
+ derp_list_poll_seconds: 60
27
+ mup_post_seconds: 60
28
+
29
+ actions:
30
+ - type: create-der-program
31
+ parameters:
32
+ primacy: 0
33
+ # Start by enabling everything at the beginning as each step is (mostly) independent of the others
34
+ - type: enable-steps
35
+ parameters:
36
+ steps:
37
+ - POST-SUBSCRIPTION-FSAL
38
+ - POST-SUBSCRIPTION-DERP
39
+ - POST-SUBSCRIPTION-DERC
40
+ - POST-SUBSCRIPTION-DEFAULT-DERC
41
+
42
+ Steps:
43
+
44
+ # (a, b, c, d, e, f)
45
+ # Wait for a subscription to EndDeviceList and then update the active EndDevice's postRate to trigger a notification
46
+ POST-SUBSCRIPTION-EDEV:
47
+ instructions:
48
+ - Trigger an EndDeviceList subscription request from the aggregator client system (this can be an automated response to completing the Discovery process).
49
+ event:
50
+ type: POST-request-received
51
+ parameters:
52
+ endpoint: /edev/0/sub
53
+ serve_request_first: true
54
+ checks:
55
+ - type: subscription-contents
56
+ parameters:
57
+ subscribed_resource: /edev
58
+ actions:
59
+ # Trigger notification
60
+ - type: set-comms-rate
61
+ parameters:
62
+ edev_post_seconds: 30
63
+ - type: remove-steps
64
+ parameters:
65
+ steps:
66
+ - POST-SUBSCRIPTION-EDEV
67
+
68
+ # (g, h, i, j, k, l)
69
+ # Wait for a subscription to FunctionSetAssignmentList and then update the active fsa list to trigger a notification
70
+ POST-SUBSCRIPTION-FSAL:
71
+ instructions:
72
+ - Trigger a FunctionSetAssignmentsList subscription request from the aggregator client system.
73
+ event:
74
+ type: POST-request-received
75
+ parameters:
76
+ endpoint: /edev/0/sub
77
+ serve_request_first: true
78
+ checks:
79
+ - type: subscription-contents
80
+ parameters:
81
+ subscribed_resource: /edev/1/fsa
82
+ actions:
83
+ # Trigger notification
84
+ - type: set-comms-rate
85
+ parameters:
86
+ fsa_list_poll_seconds: 30
87
+ - type: remove-steps
88
+ parameters:
89
+ steps:
90
+ - POST-SUBSCRIPTION-FSAL
91
+
92
+ # (m, n, o, p, q, r)
93
+ # Wait for a DERProgram subscription and then update the active DERProgram list to trigger a notification
94
+ POST-SUBSCRIPTION-DERP:
95
+ instructions:
96
+ - Trigger a DERProgramList subscription request from the aggregator client system.
97
+ event:
98
+ type: POST-request-received
99
+ parameters:
100
+ endpoint: /edev/0/sub
101
+ serve_request_first: true
102
+ checks:
103
+ - type: subscription-contents
104
+ parameters:
105
+ subscribed_resource: /edev/1/fsa/1/derp
106
+ actions:
107
+ # Trigger notification
108
+ - type: create-der-program
109
+ parameters:
110
+ primacy: 99
111
+ - type: remove-steps
112
+ parameters:
113
+ steps:
114
+ - POST-SUBSCRIPTION-DERP
115
+
116
+ # (s, t, u, v, w, x)
117
+ # Wait for a subscription to /edev/1/derp/1/derc and then create a DERControl to trigger a notification
118
+ POST-SUBSCRIPTION-DERC:
119
+ instructions:
120
+ - Trigger a DERControlList subscription request from the aggregator client system.
121
+ event:
122
+ type: POST-request-received
123
+ parameters:
124
+ endpoint: /edev/0/sub
125
+ serve_request_first: true
126
+ checks:
127
+ - type: subscription-contents
128
+ parameters:
129
+ subscribed_resource: /edev/1/derp/1/derc
130
+ actions:
131
+ # Trigger notification
132
+ - type: create-der-control
133
+ parameters:
134
+ start: $(now)
135
+ duration_seconds: 600
136
+ primacy: 0
137
+ opModExpLimW: 0
138
+ - type: remove-steps
139
+ parameters:
140
+ steps:
141
+ - POST-SUBSCRIPTION-DERC
142
+
143
+ # (y, z, aa, bb, cc)
144
+ # Wait for a subscription to /edev/1/derp/1/dderc and then update the DefaultDERControl to trigger a notification
145
+ POST-SUBSCRIPTION-DEFAULT-DERC:
146
+ instructions:
147
+ - Trigger a DefaultDERControl subscription request from the aggregator client system.
148
+ event:
149
+ type: POST-request-received
150
+ parameters:
151
+ endpoint: /edev/0/sub
152
+ serve_request_first: true
153
+ checks:
154
+ - type: subscription-contents
155
+ parameters:
156
+ subscribed_resource: /edev/1/derp/1/dderc
157
+ actions:
158
+ # Trigger notification
159
+ - type: set-default-der-control
160
+ parameters:
161
+ opModImpLimW: 1234
162
+ - type: remove-steps
163
+ parameters:
164
+ steps:
165
+ - POST-SUBSCRIPTION-DEFAULT-DERC