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,110 @@
|
|
|
1
|
+
Description: Connection Point registration
|
|
2
|
+
Category: Registration
|
|
3
|
+
Classes:
|
|
4
|
+
- C
|
|
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: end-device-contents
|
|
15
|
+
parameters:
|
|
16
|
+
has_connection_point_id: true
|
|
17
|
+
check_lfdi: true
|
|
18
|
+
|
|
19
|
+
Preconditions:
|
|
20
|
+
immediate_start: true # There will be no "init" phase - all interactions will be immediately logged against the test
|
|
21
|
+
init_actions:
|
|
22
|
+
- type: set-comms-rate
|
|
23
|
+
parameters:
|
|
24
|
+
dcap_poll_seconds: 60
|
|
25
|
+
edev_list_poll_seconds: 60
|
|
26
|
+
fsa_list_poll_seconds: 60
|
|
27
|
+
der_list_poll_seconds: 60
|
|
28
|
+
derp_list_poll_seconds: 60
|
|
29
|
+
mup_post_seconds: 60
|
|
30
|
+
|
|
31
|
+
Steps:
|
|
32
|
+
GET-DCAP:
|
|
33
|
+
event:
|
|
34
|
+
type: GET-request-received
|
|
35
|
+
parameters:
|
|
36
|
+
endpoint: /dcap
|
|
37
|
+
actions:
|
|
38
|
+
- type: enable-steps
|
|
39
|
+
parameters:
|
|
40
|
+
steps:
|
|
41
|
+
- GET-EDEV
|
|
42
|
+
- GET-TM
|
|
43
|
+
- type: remove-steps
|
|
44
|
+
parameters:
|
|
45
|
+
steps:
|
|
46
|
+
- GET-DCAP
|
|
47
|
+
|
|
48
|
+
GET-EDEV:
|
|
49
|
+
event:
|
|
50
|
+
type: GET-request-received
|
|
51
|
+
parameters:
|
|
52
|
+
endpoint: /edev
|
|
53
|
+
actions:
|
|
54
|
+
- type: enable-steps
|
|
55
|
+
parameters:
|
|
56
|
+
steps:
|
|
57
|
+
- POST-EDEV
|
|
58
|
+
- type: remove-steps
|
|
59
|
+
parameters:
|
|
60
|
+
steps:
|
|
61
|
+
- GET-EDEV
|
|
62
|
+
|
|
63
|
+
GET-TM:
|
|
64
|
+
event:
|
|
65
|
+
type: GET-request-received
|
|
66
|
+
parameters:
|
|
67
|
+
endpoint: /tm
|
|
68
|
+
actions:
|
|
69
|
+
- type: remove-steps
|
|
70
|
+
parameters:
|
|
71
|
+
steps:
|
|
72
|
+
- GET-TM
|
|
73
|
+
|
|
74
|
+
POST-EDEV:
|
|
75
|
+
event:
|
|
76
|
+
type: POST-request-received
|
|
77
|
+
parameters:
|
|
78
|
+
endpoint: /edev
|
|
79
|
+
actions:
|
|
80
|
+
- type: enable-steps
|
|
81
|
+
parameters:
|
|
82
|
+
steps:
|
|
83
|
+
- GET-DER
|
|
84
|
+
- PUT-CP
|
|
85
|
+
- type: remove-steps
|
|
86
|
+
parameters:
|
|
87
|
+
steps:
|
|
88
|
+
- POST-EDEV
|
|
89
|
+
|
|
90
|
+
GET-DER:
|
|
91
|
+
event:
|
|
92
|
+
type: GET-request-received
|
|
93
|
+
parameters:
|
|
94
|
+
endpoint: /edev/1/der
|
|
95
|
+
actions:
|
|
96
|
+
- type: remove-steps
|
|
97
|
+
parameters:
|
|
98
|
+
steps:
|
|
99
|
+
- GET-DER
|
|
100
|
+
|
|
101
|
+
PUT-CP:
|
|
102
|
+
event:
|
|
103
|
+
type: PUT-request-received
|
|
104
|
+
parameters:
|
|
105
|
+
endpoint: /edev/1/cp
|
|
106
|
+
actions:
|
|
107
|
+
- type: remove-steps
|
|
108
|
+
parameters:
|
|
109
|
+
steps:
|
|
110
|
+
- PUT-CP
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
Description: Client Registration and PIN Validation
|
|
2
|
+
Category: Registration
|
|
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
|
+
immediate_start: true # There will be no "init" phase - all interactions will be immediately logged against the test
|
|
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
|
+
actions:
|
|
27
|
+
- type: register-end-device
|
|
28
|
+
parameters:
|
|
29
|
+
registration_pin: 11111 # With checksum is 111115
|
|
30
|
+
aggregator_lfdi: 3E4F45AB31EDFE5B67E343E5E4562E3100000000 # Trailing PEN digits set to 0
|
|
31
|
+
aggregator_sfdi: 16726121139
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
Steps:
|
|
35
|
+
# (e, f, g)
|
|
36
|
+
GET-REGISTRATION:
|
|
37
|
+
instructions:
|
|
38
|
+
- "An EndDevice has already been registered (out of band) with PIN 111115"
|
|
39
|
+
- "[Aggregator Client Only] LFDI: 3E4F45AB31EDFE5B67E343E5E4562E31XXXXXXXX (The X values will match your client PEN)"
|
|
40
|
+
- "[Aggregator Client Only] SFDI: 16726121139"
|
|
41
|
+
event:
|
|
42
|
+
type: GET-request-received
|
|
43
|
+
parameters:
|
|
44
|
+
endpoint: /edev/1/rg
|
|
45
|
+
actions:
|
|
46
|
+
- type: enable-steps
|
|
47
|
+
parameters:
|
|
48
|
+
steps:
|
|
49
|
+
- WAIT-TEST-END
|
|
50
|
+
- type: remove-steps
|
|
51
|
+
parameters:
|
|
52
|
+
steps:
|
|
53
|
+
- GET-REGISTRATION
|
|
54
|
+
|
|
55
|
+
# (h)
|
|
56
|
+
WAIT-TEST-END:
|
|
57
|
+
instructions:
|
|
58
|
+
- The client should continue communicating with the utility server after validating that the PIN matches.
|
|
59
|
+
event:
|
|
60
|
+
type: wait
|
|
61
|
+
parameters:
|
|
62
|
+
duration_seconds: 120
|
|
63
|
+
actions:
|
|
64
|
+
- type: remove-steps
|
|
65
|
+
parameters:
|
|
66
|
+
steps:
|
|
67
|
+
- WAIT-TEST-END
|
|
68
|
+
- type: finish-test
|
|
69
|
+
parameters: {}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
Description: Client Response to Lack of RegistrationLink
|
|
2
|
+
Category: Registration
|
|
3
|
+
Classes:
|
|
4
|
+
- A
|
|
5
|
+
|
|
6
|
+
TargetVersions:
|
|
7
|
+
- v1.2
|
|
8
|
+
- v1.3-beta/storage
|
|
9
|
+
|
|
10
|
+
Preconditions:
|
|
11
|
+
immediate_start: true # There will be no "init" phase - all interactions will be immediately logged against the test
|
|
12
|
+
init_actions:
|
|
13
|
+
- type: set-comms-rate
|
|
14
|
+
parameters:
|
|
15
|
+
dcap_poll_seconds: 60
|
|
16
|
+
edev_list_poll_seconds: 60
|
|
17
|
+
fsa_list_poll_seconds: 60
|
|
18
|
+
der_list_poll_seconds: 60
|
|
19
|
+
derp_list_poll_seconds: 60
|
|
20
|
+
mup_post_seconds: 60
|
|
21
|
+
actions:
|
|
22
|
+
- type: 'edev-registration-links'
|
|
23
|
+
parameters:
|
|
24
|
+
enabled: false
|
|
25
|
+
|
|
26
|
+
Criteria:
|
|
27
|
+
checks:
|
|
28
|
+
- type: all-steps-complete
|
|
29
|
+
parameters: {}
|
|
30
|
+
|
|
31
|
+
# Note - these steps aren't annotated with the TS 5573 test procedure steps due to them having some dubious
|
|
32
|
+
# references to links appearing in the wrong entities / unusual ordering
|
|
33
|
+
#
|
|
34
|
+
# The steps still represent the "intended" interpretation of a client continuing to undergo normal in band registration
|
|
35
|
+
# despite the EndDevice registration links being removed.
|
|
36
|
+
Steps:
|
|
37
|
+
GET-DCAP:
|
|
38
|
+
event:
|
|
39
|
+
type: GET-request-received
|
|
40
|
+
parameters:
|
|
41
|
+
endpoint: /dcap
|
|
42
|
+
actions:
|
|
43
|
+
- type: enable-steps
|
|
44
|
+
parameters:
|
|
45
|
+
steps:
|
|
46
|
+
- GET-EDEV
|
|
47
|
+
- GET-TM
|
|
48
|
+
- type: remove-steps
|
|
49
|
+
parameters:
|
|
50
|
+
steps:
|
|
51
|
+
- GET-DCAP
|
|
52
|
+
|
|
53
|
+
GET-EDEV:
|
|
54
|
+
event:
|
|
55
|
+
type: GET-request-received
|
|
56
|
+
parameters:
|
|
57
|
+
endpoint: /edev
|
|
58
|
+
actions:
|
|
59
|
+
- type: enable-steps
|
|
60
|
+
parameters:
|
|
61
|
+
steps:
|
|
62
|
+
- POST-EDEV
|
|
63
|
+
- type: remove-steps
|
|
64
|
+
parameters:
|
|
65
|
+
steps:
|
|
66
|
+
- GET-EDEV
|
|
67
|
+
|
|
68
|
+
GET-TM:
|
|
69
|
+
event:
|
|
70
|
+
type: GET-request-received
|
|
71
|
+
parameters:
|
|
72
|
+
endpoint: /tm
|
|
73
|
+
actions:
|
|
74
|
+
- type: remove-steps
|
|
75
|
+
parameters:
|
|
76
|
+
steps:
|
|
77
|
+
- GET-TM
|
|
78
|
+
|
|
79
|
+
POST-EDEV:
|
|
80
|
+
event:
|
|
81
|
+
type: POST-request-received
|
|
82
|
+
parameters:
|
|
83
|
+
endpoint: /edev
|
|
84
|
+
actions:
|
|
85
|
+
- type: enable-steps
|
|
86
|
+
parameters:
|
|
87
|
+
steps:
|
|
88
|
+
- GET-DER
|
|
89
|
+
- GET-FSA
|
|
90
|
+
- type: remove-steps
|
|
91
|
+
parameters:
|
|
92
|
+
steps:
|
|
93
|
+
- POST-EDEV
|
|
94
|
+
|
|
95
|
+
GET-FSA:
|
|
96
|
+
event:
|
|
97
|
+
type: GET-request-received
|
|
98
|
+
parameters:
|
|
99
|
+
endpoint: /edev/1/fsa
|
|
100
|
+
actions:
|
|
101
|
+
- type: remove-steps
|
|
102
|
+
parameters:
|
|
103
|
+
steps:
|
|
104
|
+
- GET-FSA
|
|
105
|
+
|
|
106
|
+
GET-DER:
|
|
107
|
+
event:
|
|
108
|
+
type: GET-request-received
|
|
109
|
+
parameters:
|
|
110
|
+
endpoint: /edev/1/der
|
|
111
|
+
actions:
|
|
112
|
+
- type: remove-steps
|
|
113
|
+
parameters:
|
|
114
|
+
steps:
|
|
115
|
+
- GET-DER
|
|
116
|
+
|
|
117
|
+
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
Description: Individual Readings
|
|
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
|
+
|
|
16
|
+
# Test is ~8 minutes of waiting which should leave enough time for at least 6 reading posts
|
|
17
|
+
- type: readings-site-active-power
|
|
18
|
+
parameters: {"minimum_count": 6}
|
|
19
|
+
- type: readings-site-reactive-power
|
|
20
|
+
parameters: {"minimum_count": 6}
|
|
21
|
+
- type: readings-voltage
|
|
22
|
+
parameters: {"minimum_count": 6}
|
|
23
|
+
- type: readings-der-active-power
|
|
24
|
+
parameters: {"minimum_count": 6}
|
|
25
|
+
- type: readings-der-reactive-power
|
|
26
|
+
parameters: {"minimum_count": 6}
|
|
27
|
+
|
|
28
|
+
Preconditions:
|
|
29
|
+
immediate_start: true # There will be no "init" phase - all interactions will be immediately logged against the test
|
|
30
|
+
init_actions:
|
|
31
|
+
- type: set-comms-rate
|
|
32
|
+
parameters:
|
|
33
|
+
dcap_poll_seconds: 60
|
|
34
|
+
edev_list_poll_seconds: 60
|
|
35
|
+
fsa_list_poll_seconds: 60
|
|
36
|
+
der_list_poll_seconds: 60
|
|
37
|
+
derp_list_poll_seconds: 60
|
|
38
|
+
mup_post_seconds: 60
|
|
39
|
+
instructions:
|
|
40
|
+
- Connect a test load electrically in parallel with the DER.
|
|
41
|
+
- Set the load to consume 25% of the DER's rated active power.
|
|
42
|
+
|
|
43
|
+
Steps:
|
|
44
|
+
# (b, c)
|
|
45
|
+
GET-MUP:
|
|
46
|
+
event:
|
|
47
|
+
type: GET-request-received
|
|
48
|
+
parameters:
|
|
49
|
+
endpoint: /mup
|
|
50
|
+
actions:
|
|
51
|
+
- type: enable-steps
|
|
52
|
+
parameters:
|
|
53
|
+
steps:
|
|
54
|
+
- POST-MUP
|
|
55
|
+
- type: remove-steps
|
|
56
|
+
parameters:
|
|
57
|
+
steps:
|
|
58
|
+
- GET-MUP
|
|
59
|
+
# (d, e)
|
|
60
|
+
POST-MUP:
|
|
61
|
+
event:
|
|
62
|
+
type: POST-request-received
|
|
63
|
+
parameters:
|
|
64
|
+
endpoint: /mup
|
|
65
|
+
actions:
|
|
66
|
+
- type: enable-steps
|
|
67
|
+
parameters:
|
|
68
|
+
steps:
|
|
69
|
+
- GET-MUP-2
|
|
70
|
+
- type: remove-steps
|
|
71
|
+
parameters:
|
|
72
|
+
steps:
|
|
73
|
+
- POST-MUP
|
|
74
|
+
|
|
75
|
+
# (f, g)
|
|
76
|
+
GET-MUP-2:
|
|
77
|
+
event:
|
|
78
|
+
type: GET-request-received
|
|
79
|
+
parameters:
|
|
80
|
+
endpoint: /mup
|
|
81
|
+
actions:
|
|
82
|
+
- type: enable-steps
|
|
83
|
+
parameters:
|
|
84
|
+
steps:
|
|
85
|
+
- SET-CONTROL
|
|
86
|
+
- type: remove-steps
|
|
87
|
+
parameters:
|
|
88
|
+
steps:
|
|
89
|
+
- GET-MUP-2
|
|
90
|
+
|
|
91
|
+
# (h) - Will be validated via test criteria
|
|
92
|
+
# (i, j, k)
|
|
93
|
+
SET-CONTROL:
|
|
94
|
+
event:
|
|
95
|
+
type: wait
|
|
96
|
+
parameters:
|
|
97
|
+
duration_seconds: 300 # Wait for at least 4 sets of readings to arrive (with post rate 60 seconds)
|
|
98
|
+
actions:
|
|
99
|
+
- type: create-der-control
|
|
100
|
+
parameters:
|
|
101
|
+
start: $(now)
|
|
102
|
+
duration_seconds: 300
|
|
103
|
+
opModImpLimW: 0
|
|
104
|
+
opModExpLimW: 0
|
|
105
|
+
- type: enable-steps
|
|
106
|
+
parameters:
|
|
107
|
+
steps:
|
|
108
|
+
- WAIT-CONTROL
|
|
109
|
+
- type: remove-steps
|
|
110
|
+
parameters:
|
|
111
|
+
steps:
|
|
112
|
+
- SET-CONTROL
|
|
113
|
+
|
|
114
|
+
# This just lets the test run for a few more posts after the control comes into effect
|
|
115
|
+
# after which, we will force the test to shutdown (as Criteria is partially defined by this ONLY running for a few posts)
|
|
116
|
+
# (j, k)
|
|
117
|
+
WAIT-CONTROL:
|
|
118
|
+
event:
|
|
119
|
+
type: wait
|
|
120
|
+
parameters:
|
|
121
|
+
duration_seconds: 180 # Wait for at least 3 sets of readings to arrive (with post rate 60 seconds)
|
|
122
|
+
actions:
|
|
123
|
+
- type: remove-steps
|
|
124
|
+
parameters:
|
|
125
|
+
steps:
|
|
126
|
+
- WAIT-CONTROL
|
|
127
|
+
- type: finish-test
|
|
128
|
+
parameters: {}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
Description: Connection Status
|
|
2
|
+
Category: Monitoring
|
|
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
|
+
- type: der-status-contents
|
|
29
|
+
parameters:
|
|
30
|
+
genConnectStatus_bit0: true
|
|
31
|
+
|
|
32
|
+
Steps:
|
|
33
|
+
|
|
34
|
+
# (b, c)
|
|
35
|
+
PUT-DERSTATUS-DISCONNECT:
|
|
36
|
+
instructions:
|
|
37
|
+
- Disconnect all DER from the grid.
|
|
38
|
+
event:
|
|
39
|
+
type: PUT-request-received
|
|
40
|
+
parameters:
|
|
41
|
+
endpoint: /edev/1/der/1/ders
|
|
42
|
+
serve_request_first: true # Run this AFTER server receives the request
|
|
43
|
+
# Only trigger this if the server has an updated DERStatus
|
|
44
|
+
checks:
|
|
45
|
+
- type: der-status-contents
|
|
46
|
+
parameters:
|
|
47
|
+
genConnectStatus_bit0: false
|
|
48
|
+
actions:
|
|
49
|
+
- type: enable-steps
|
|
50
|
+
parameters:
|
|
51
|
+
steps:
|
|
52
|
+
- PUT-DERSTATUS-CONNECT
|
|
53
|
+
- type: remove-steps
|
|
54
|
+
parameters:
|
|
55
|
+
steps:
|
|
56
|
+
- PUT-DERSTATUS-DISCONNECT
|
|
57
|
+
|
|
58
|
+
# (d, e)
|
|
59
|
+
PUT-DERSTATUS-CONNECT:
|
|
60
|
+
instructions:
|
|
61
|
+
- Reconnect all DER to the grid.
|
|
62
|
+
event:
|
|
63
|
+
type: PUT-request-received
|
|
64
|
+
parameters:
|
|
65
|
+
endpoint: /edev/1/der/1/ders
|
|
66
|
+
serve_request_first: true # Run this AFTER server receives the request
|
|
67
|
+
# Only trigger this if the server has an updated DERStatus
|
|
68
|
+
checks:
|
|
69
|
+
- type: der-status-contents
|
|
70
|
+
parameters:
|
|
71
|
+
genConnectStatus_bit0: true
|
|
72
|
+
actions:
|
|
73
|
+
- type: remove-steps
|
|
74
|
+
parameters:
|
|
75
|
+
steps:
|
|
76
|
+
- PUT-DERSTATUS-CONNECT
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
Description: Operational Mode Status
|
|
2
|
+
Category: Monitoring
|
|
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
|
+
- type: der-status-contents
|
|
29
|
+
parameters:
|
|
30
|
+
operationalModeStatus: 2
|
|
31
|
+
instructions:
|
|
32
|
+
- DER shall be generating or consuming at least 50% of the DER's active power rating.
|
|
33
|
+
|
|
34
|
+
Steps:
|
|
35
|
+
|
|
36
|
+
# (c, d)
|
|
37
|
+
PUT-DERSTATUS-DISCONNECT:
|
|
38
|
+
instructions:
|
|
39
|
+
- Stop DER from generating or consuming active power. (e.g. power source/sink is set to 0W)
|
|
40
|
+
event:
|
|
41
|
+
type: PUT-request-received
|
|
42
|
+
parameters:
|
|
43
|
+
endpoint: /edev/1/der/1/ders
|
|
44
|
+
serve_request_first: true # Run this AFTER server receives the request
|
|
45
|
+
# Only trigger this if the server has an updated DERStatus
|
|
46
|
+
checks:
|
|
47
|
+
- type: der-status-contents
|
|
48
|
+
parameters:
|
|
49
|
+
operationalModeStatus: 1
|
|
50
|
+
actions:
|
|
51
|
+
- type: enable-steps
|
|
52
|
+
parameters:
|
|
53
|
+
steps:
|
|
54
|
+
- PUT-DERSTATUS-CONNECT
|
|
55
|
+
- type: remove-steps
|
|
56
|
+
parameters:
|
|
57
|
+
steps:
|
|
58
|
+
- PUT-DERSTATUS-DISCONNECT
|
|
59
|
+
|
|
60
|
+
# (e, f)
|
|
61
|
+
PUT-DERSTATUS-CONNECT:
|
|
62
|
+
instructions:
|
|
63
|
+
- Re-enable ability of DER to generate or consume active power.
|
|
64
|
+
event:
|
|
65
|
+
type: PUT-request-received
|
|
66
|
+
parameters:
|
|
67
|
+
endpoint: /edev/1/der/1/ders
|
|
68
|
+
serve_request_first: true # Run this AFTER server receives the request
|
|
69
|
+
# Only trigger this if the server has an updated DERStatus
|
|
70
|
+
checks:
|
|
71
|
+
- type: der-status-contents
|
|
72
|
+
parameters:
|
|
73
|
+
operationalModeStatus: 2
|
|
74
|
+
actions:
|
|
75
|
+
- type: remove-steps
|
|
76
|
+
parameters:
|
|
77
|
+
steps:
|
|
78
|
+
- PUT-DERSTATUS-CONNECT
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
Description: Capabilities and Settings
|
|
2
|
+
Category: Monitoring
|
|
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
|
+
- type: der-capability-contents
|
|
15
|
+
parameters:
|
|
16
|
+
rtgMaxChargeRateW: true # Maximum rate of energy transfer received
|
|
17
|
+
rtgMaxDischargeRateW: true # Maximum rate of energy transfer delivered
|
|
18
|
+
rtgMaxVA: true # Maximum apparent power
|
|
19
|
+
rtgMaxVar: true # Maximum reactive power delivered
|
|
20
|
+
rtgMaxVarNeg: true # Maximum reactive power received
|
|
21
|
+
rtgMaxW: true # Maximum active power
|
|
22
|
+
rtgMinPFOverExcited: true # Minimum power factor displacement
|
|
23
|
+
rtgMinPFUnderExcited: true # Minimum power factor displacement
|
|
24
|
+
doeModesSupported: true # CSIP-Aus DOE modes supported
|
|
25
|
+
- type: der-settings-contents
|
|
26
|
+
parameters:
|
|
27
|
+
setMaxChargeRateW: true # Maximum rate of energy transfer received
|
|
28
|
+
setMaxDischargeRateW: true # Maximum rate of energy transfer delivered
|
|
29
|
+
setMaxVA: true # Maximum apparent power
|
|
30
|
+
setMaxVar: true # Maximum reactive power delivered
|
|
31
|
+
setMaxVarNeg: true # Maximum reactive power received
|
|
32
|
+
setMaxW: true # Maximum active power
|
|
33
|
+
setMinPFOverExcited: true # Minimum power factor displacement
|
|
34
|
+
setMinPFUnderExcited: true # Minimum power factor displacement
|
|
35
|
+
doeModesEnabled: true # CSIP-Aus DOE modes enabled
|
|
36
|
+
- type: der-status-contents
|
|
37
|
+
parameters: {}
|
|
38
|
+
|
|
39
|
+
Preconditions:
|
|
40
|
+
immediate_start: true # There will be no "init" phase - all interactions will be immediately logged against the test
|
|
41
|
+
init_actions:
|
|
42
|
+
- type: set-comms-rate
|
|
43
|
+
parameters:
|
|
44
|
+
dcap_poll_seconds: 60
|
|
45
|
+
edev_list_poll_seconds: 60
|
|
46
|
+
fsa_list_poll_seconds: 60
|
|
47
|
+
der_list_poll_seconds: 60
|
|
48
|
+
derp_list_poll_seconds: 60
|
|
49
|
+
mup_post_seconds: 60
|
|
50
|
+
|
|
51
|
+
Steps:
|
|
52
|
+
# (a) - This is a proxy that assumes the device has underwent initial registration / discovery
|
|
53
|
+
GET-DER:
|
|
54
|
+
event:
|
|
55
|
+
type: GET-request-received
|
|
56
|
+
parameters:
|
|
57
|
+
endpoint: /edev/1/der
|
|
58
|
+
actions:
|
|
59
|
+
- type: enable-steps
|
|
60
|
+
parameters:
|
|
61
|
+
steps:
|
|
62
|
+
- PUT-DERSTATUS
|
|
63
|
+
- PUT-DERCAPABILITY
|
|
64
|
+
- PUT-DERSETTINGS
|
|
65
|
+
- type: remove-steps
|
|
66
|
+
parameters:
|
|
67
|
+
steps:
|
|
68
|
+
- GET-DER
|
|
69
|
+
# (b)
|
|
70
|
+
PUT-DERSTATUS:
|
|
71
|
+
event:
|
|
72
|
+
type: PUT-request-received
|
|
73
|
+
parameters:
|
|
74
|
+
endpoint: /edev/1/der/1/ders
|
|
75
|
+
actions:
|
|
76
|
+
- type: remove-steps
|
|
77
|
+
parameters:
|
|
78
|
+
steps:
|
|
79
|
+
- PUT-DERSTATUS
|
|
80
|
+
|
|
81
|
+
# (b)
|
|
82
|
+
PUT-DERCAPABILITY:
|
|
83
|
+
event:
|
|
84
|
+
type: PUT-request-received
|
|
85
|
+
parameters:
|
|
86
|
+
endpoint: /edev/1/der/1/dercap
|
|
87
|
+
actions:
|
|
88
|
+
- type: remove-steps
|
|
89
|
+
parameters:
|
|
90
|
+
steps:
|
|
91
|
+
- PUT-DERCAPABILITY
|
|
92
|
+
|
|
93
|
+
# (b)
|
|
94
|
+
PUT-DERSETTINGS:
|
|
95
|
+
event:
|
|
96
|
+
type: PUT-request-received
|
|
97
|
+
parameters:
|
|
98
|
+
endpoint: /edev/1/der/1/derg
|
|
99
|
+
actions:
|
|
100
|
+
- type: remove-steps
|
|
101
|
+
parameters:
|
|
102
|
+
steps:
|
|
103
|
+
- PUT-DERSETTINGS
|