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.
- cactus_test_definitions/__init__.py +39 -0
- cactus_test_definitions/__pycache__/__init__.cpython-312.pyc +0 -0
- cactus_test_definitions/__pycache__/actions.cpython-312.pyc +0 -0
- cactus_test_definitions/__pycache__/checks.cpython-312.pyc +0 -0
- cactus_test_definitions/__pycache__/csipaus.cpython-312.pyc +0 -0
- cactus_test_definitions/__pycache__/errors.cpython-312.pyc +0 -0
- cactus_test_definitions/__pycache__/events.cpython-312.pyc +0 -0
- cactus_test_definitions/__pycache__/parameters.cpython-312.pyc +0 -0
- cactus_test_definitions/__pycache__/schema.cpython-312.pyc +0 -0
- cactus_test_definitions/__pycache__/test_procedures.cpython-312-pytest-8.3.5.pyc +0 -0
- cactus_test_definitions/__pycache__/test_procedures.cpython-312.pyc +0 -0
- cactus_test_definitions/__pycache__/variable_expressions.cpython-312.pyc +0 -0
- cactus_test_definitions/__pycache__/version.cpython-312.pyc +0 -0
- cactus_test_definitions/client/__init__.py +26 -0
- cactus_test_definitions/client/__pycache__/__init__.cpython-312.pyc +0 -0
- cactus_test_definitions/client/__pycache__/actions.cpython-312.pyc +0 -0
- cactus_test_definitions/client/__pycache__/checks.cpython-312.pyc +0 -0
- cactus_test_definitions/client/__pycache__/events.cpython-312.pyc +0 -0
- cactus_test_definitions/client/__pycache__/test_procedures.cpython-312-pytest-8.3.5.pyc +0 -0
- cactus_test_definitions/client/actions.py +98 -0
- cactus_test_definitions/client/checks.py +117 -0
- cactus_test_definitions/client/events.py +71 -0
- cactus_test_definitions/client/procedures/ALL-01.yaml +94 -0
- cactus_test_definitions/client/procedures/ALL-02.yaml +108 -0
- cactus_test_definitions/client/procedures/ALL-03-REJ.yaml +69 -0
- cactus_test_definitions/client/procedures/ALL-03.yaml +110 -0
- cactus_test_definitions/client/procedures/ALL-04.yaml +69 -0
- cactus_test_definitions/client/procedures/ALL-05.yaml +117 -0
- cactus_test_definitions/client/procedures/ALL-06.yaml +128 -0
- cactus_test_definitions/client/procedures/ALL-07.yaml +76 -0
- cactus_test_definitions/client/procedures/ALL-08.yaml +78 -0
- cactus_test_definitions/client/procedures/ALL-09.yaml +103 -0
- cactus_test_definitions/client/procedures/ALL-10.yaml +128 -0
- cactus_test_definitions/client/procedures/ALL-11.yaml +111 -0
- cactus_test_definitions/client/procedures/ALL-12.yaml +108 -0
- cactus_test_definitions/client/procedures/ALL-13.yaml +112 -0
- cactus_test_definitions/client/procedures/ALL-14.yaml +165 -0
- cactus_test_definitions/client/procedures/ALL-15.yaml +109 -0
- cactus_test_definitions/client/procedures/ALL-16.yaml +102 -0
- cactus_test_definitions/client/procedures/ALL-17.yaml +63 -0
- cactus_test_definitions/client/procedures/ALL-18.yaml +288 -0
- cactus_test_definitions/client/procedures/ALL-19.yaml +78 -0
- cactus_test_definitions/client/procedures/ALL-20.yaml +136 -0
- cactus_test_definitions/client/procedures/ALL-21.yaml +203 -0
- cactus_test_definitions/client/procedures/ALL-22.yaml +82 -0
- cactus_test_definitions/client/procedures/ALL-23.yaml +158 -0
- cactus_test_definitions/client/procedures/ALL-24.yaml +132 -0
- cactus_test_definitions/client/procedures/ALL-25.yaml +136 -0
- cactus_test_definitions/client/procedures/ALL-26.yaml +147 -0
- cactus_test_definitions/client/procedures/ALL-27.yaml +144 -0
- cactus_test_definitions/client/procedures/ALL-28.yaml +274 -0
- cactus_test_definitions/client/procedures/ALL-29.yaml +87 -0
- cactus_test_definitions/client/procedures/ALL-30.yaml +188 -0
- cactus_test_definitions/client/procedures/BES-01.yaml +136 -0
- cactus_test_definitions/client/procedures/BES-02.yaml +137 -0
- cactus_test_definitions/client/procedures/BES-03.yaml +135 -0
- cactus_test_definitions/client/procedures/BES-04.yaml +228 -0
- cactus_test_definitions/client/procedures/DRA-01.yaml +54 -0
- cactus_test_definitions/client/procedures/DRA-02.yaml +64 -0
- cactus_test_definitions/client/procedures/DRD-01.yaml +667 -0
- cactus_test_definitions/client/procedures/DRL-01.yaml +327 -0
- cactus_test_definitions/client/procedures/GEN-01.yaml +73 -0
- cactus_test_definitions/client/procedures/GEN-02.yaml +72 -0
- cactus_test_definitions/client/procedures/GEN-03.yaml +160 -0
- cactus_test_definitions/client/procedures/GEN-04.yaml +161 -0
- cactus_test_definitions/client/procedures/GEN-05.yaml +89 -0
- cactus_test_definitions/client/procedures/GEN-06.yaml +90 -0
- cactus_test_definitions/client/procedures/GEN-07.yaml +145 -0
- cactus_test_definitions/client/procedures/GEN-08.yaml +145 -0
- cactus_test_definitions/client/procedures/GEN-09.yaml +117 -0
- cactus_test_definitions/client/procedures/GEN-10.yaml +737 -0
- cactus_test_definitions/client/procedures/GEN-11.yaml +376 -0
- cactus_test_definitions/client/procedures/GEN-12.yaml +376 -0
- cactus_test_definitions/client/procedures/GEN-13.yaml +70 -0
- cactus_test_definitions/client/procedures/LOA-01.yaml +73 -0
- cactus_test_definitions/client/procedures/LOA-02.yaml +73 -0
- cactus_test_definitions/client/procedures/LOA-03.yaml +160 -0
- cactus_test_definitions/client/procedures/LOA-04.yaml +161 -0
- cactus_test_definitions/client/procedures/LOA-05.yaml +85 -0
- cactus_test_definitions/client/procedures/LOA-06.yaml +85 -0
- cactus_test_definitions/client/procedures/LOA-07.yaml +145 -0
- cactus_test_definitions/client/procedures/LOA-08.yaml +145 -0
- cactus_test_definitions/client/procedures/LOA-09.yaml +117 -0
- cactus_test_definitions/client/procedures/LOA-10.yaml +739 -0
- cactus_test_definitions/client/procedures/LOA-11.yaml +376 -0
- cactus_test_definitions/client/procedures/LOA-12.yaml +376 -0
- cactus_test_definitions/client/procedures/LOA-13.yaml +71 -0
- cactus_test_definitions/client/procedures/MUL-01.yaml +92 -0
- cactus_test_definitions/client/procedures/MUL-02.yaml +80 -0
- cactus_test_definitions/client/procedures/MUL-03.yaml +78 -0
- cactus_test_definitions/client/procedures/OPT-1-IN-BAND.yaml +115 -0
- cactus_test_definitions/client/procedures/OPT-1-OUT-OF-BAND.yaml +101 -0
- cactus_test_definitions/client/procedures/test-procedures.yaml +75 -0
- cactus_test_definitions/client/test_procedures.py +296 -0
- cactus_test_definitions/csipaus.py +81 -0
- cactus_test_definitions/errors.py +15 -0
- cactus_test_definitions/parameters.py +149 -0
- cactus_test_definitions/py.typed +0 -0
- cactus_test_definitions/schema.py +22 -0
- cactus_test_definitions/server/README.md +170 -0
- cactus_test_definitions/server/__pycache__/actions.cpython-312.pyc +0 -0
- cactus_test_definitions/server/__pycache__/checks.cpython-312.pyc +0 -0
- cactus_test_definitions/server/__pycache__/test_procedures.cpython-312-pytest-8.3.5.pyc +0 -0
- cactus_test_definitions/server/actions.py +139 -0
- cactus_test_definitions/server/checks.py +117 -0
- cactus_test_definitions/server/procedures/S-ALL-01.yaml +42 -0
- cactus_test_definitions/server/procedures/S-ALL-02.yaml +65 -0
- cactus_test_definitions/server/procedures/S-ALL-03.yaml +65 -0
- cactus_test_definitions/server/procedures/S-ALL-04.yaml +137 -0
- cactus_test_definitions/server/procedures/S-ALL-05.yaml +111 -0
- cactus_test_definitions/server/procedures/S-OPT-01.yaml +42 -0
- cactus_test_definitions/server/procedures/S-OPT-02.yaml +40 -0
- cactus_test_definitions/server/procedures/S-OPT-03.yaml +44 -0
- cactus_test_definitions/server/procedures/S-OPT-04.yaml +32 -0
- cactus_test_definitions/server/procedures/test-procedures.yaml +14 -0
- cactus_test_definitions/server/test_procedures.py +183 -0
- cactus_test_definitions/variable_expressions.py +419 -0
- cactus_test_definitions-1.0.0.dist-info/METADATA +288 -0
- cactus_test_definitions-1.0.0.dist-info/RECORD +135 -0
- cactus_test_definitions-1.0.0.dist-info/WHEEL +5 -0
- cactus_test_definitions-1.0.0.dist-info/licenses/LICENSE.txt +22 -0
- cactus_test_definitions-1.0.0.dist-info/top_level.txt +2 -0
- tests/__init__.py +0 -0
- tests/unit/__init__.py +0 -0
- tests/unit/client/__init__.py +0 -0
- tests/unit/client/test_actions.py +72 -0
- tests/unit/client/test_checks.py +47 -0
- tests/unit/client/test_config.py +61 -0
- tests/unit/client/test_events.py +36 -0
- tests/unit/client/test_test_procedures.py +150 -0
- tests/unit/server/__init__.py +0 -0
- tests/unit/server/test_test_procedures.py +86 -0
- tests/unit/test_csipaus.py +49 -0
- tests/unit/test_parameters.py +197 -0
- 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
|