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,111 @@
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
+ #
17
+ # NOTE - These checks have been loosened from TS:5573 (which requires EVERYTHING) until clarification on
18
+ # about what the MINIMUM subset of values is determined for each class of device
19
+ #
20
+ # rtgMaxChargeRateW: true # Maximum rate of energy transfer received
21
+ # rtgMaxDischargeRateW: true # Maximum rate of energy transfer delivered
22
+ # rtgMaxVA: true # Maximum apparent power
23
+ # rtgMaxVar: true # Maximum reactive power delivered
24
+ # rtgMaxVarNeg: true # Maximum reactive power received
25
+ rtgMaxW: true # Maximum active power
26
+ # rtgMinPFOverExcited: true # Minimum power factor displacement
27
+ # rtgMinPFUnderExcited: true # Minimum power factor displacement
28
+ doeModesSupported: true # CSIP-Aus DOE modes supported
29
+ - type: der-settings-contents
30
+ parameters:
31
+ #
32
+ # NOTE - These checks have been loosened from TS:5573 (which requires EVERYTHING) until clarification on
33
+ # about what the MINIMUM subset of values is determined for each class of device
34
+ #
35
+ # setMaxChargeRateW: true # Maximum rate of energy transfer received
36
+ # setMaxDischargeRateW: true # Maximum rate of energy transfer delivered
37
+ # setMaxVA: true # Maximum apparent power
38
+ # setMaxVar: true # Maximum reactive power delivered
39
+ # setMaxVarNeg: true # Maximum reactive power received
40
+ setMaxW: true # Maximum active power
41
+ # setMinPFOverExcited: true # Minimum power factor displacement
42
+ # setMinPFUnderExcited: true # Minimum power factor displacement
43
+ doeModesEnabled: true # CSIP-Aus DOE modes enabled
44
+ - type: der-status-contents
45
+ parameters: {}
46
+
47
+ Preconditions:
48
+ immediate_start: true # There will be no "init" phase - all interactions will be immediately logged against the test
49
+ init_actions:
50
+ - type: set-comms-rate
51
+ parameters:
52
+ dcap_poll_seconds: 60
53
+ edev_list_poll_seconds: 60
54
+ fsa_list_poll_seconds: 60
55
+ der_list_poll_seconds: 60
56
+ derp_list_poll_seconds: 60
57
+ mup_post_seconds: 60
58
+
59
+ Steps:
60
+ # (a) - This is a proxy that assumes the device has underwent initial registration / discovery
61
+ GET-DER:
62
+ event:
63
+ type: GET-request-received
64
+ parameters:
65
+ endpoint: /edev/1/der
66
+ actions:
67
+ - type: enable-steps
68
+ parameters:
69
+ steps:
70
+ - PUT-DERSTATUS
71
+ - PUT-DERCAPABILITY
72
+ - PUT-DERSETTINGS
73
+ - type: remove-steps
74
+ parameters:
75
+ steps:
76
+ - GET-DER
77
+ # (b)
78
+ PUT-DERSTATUS:
79
+ event:
80
+ type: PUT-request-received
81
+ parameters:
82
+ endpoint: /edev/1/der/1/ders
83
+ actions:
84
+ - type: remove-steps
85
+ parameters:
86
+ steps:
87
+ - PUT-DERSTATUS
88
+
89
+ # (b)
90
+ PUT-DERCAPABILITY:
91
+ event:
92
+ type: PUT-request-received
93
+ parameters:
94
+ endpoint: /edev/1/der/1/dercap
95
+ actions:
96
+ - type: remove-steps
97
+ parameters:
98
+ steps:
99
+ - PUT-DERCAPABILITY
100
+
101
+ # (b)
102
+ PUT-DERSETTINGS:
103
+ event:
104
+ type: PUT-request-received
105
+ parameters:
106
+ endpoint: /edev/1/der/1/derg
107
+ actions:
108
+ - type: remove-steps
109
+ parameters:
110
+ steps:
111
+ - PUT-DERSETTINGS
@@ -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
+