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,145 @@
1
+ Description: Default Controls – Import Limit
2
+ Category: Control
3
+ Classes:
4
+ - L
5
+ - S
6
+
7
+ TargetVersions:
8
+ - v1.2
9
+ - v1.3-beta/storage
10
+
11
+ Criteria:
12
+ checks:
13
+ - type: all-steps-complete
14
+ parameters: {}
15
+ - type: all-notifications-transmitted
16
+ parameters: {}
17
+
18
+ Preconditions:
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: 1800 # Set to a large value - testing whether they respond due to notification - not polls
26
+ derp_list_poll_seconds: 1800 # Set to a large value - testing whether they respond due to notification - not polls
27
+ mup_post_seconds: 60
28
+ - type: create-der-program
29
+ parameters:
30
+ primacy: 0
31
+
32
+ checks:
33
+ - type: end-device-contents
34
+ parameters: {}
35
+ - type: der-settings-contents
36
+ parameters: {}
37
+ - type: subscription-contents
38
+ parameters:
39
+ subscribed_resource: /edev/1/derp/1/derc
40
+ - type: subscription-contents
41
+ parameters:
42
+ subscribed_resource: /edev/1/derp/1/dderc
43
+
44
+ actions:
45
+ - type: create-der-control
46
+ parameters:
47
+ start: $(now)
48
+ duration_seconds: 300
49
+ opModLoadLimW: $(setMaxW * 2)
50
+ # (a, b)
51
+ - type: set-default-der-control
52
+ parameters:
53
+ opModLoadLimW: $(setMaxW * 0.3)
54
+ instructions:
55
+ - EndDevice should be registered with active subscriptions before starting.
56
+ - DER shall be consuming at least 50% of its active power rating.
57
+
58
+ Steps:
59
+
60
+ # (c)
61
+ # Give enough time for precondition notifications to propagate before cancelling all DERControls
62
+ WAIT-CANCEL-DERC:
63
+ event:
64
+ type: wait
65
+ parameters:
66
+ duration_seconds: 60
67
+ actions:
68
+ - type: cancel-active-der-controls
69
+ parameters: {}
70
+
71
+ - type: enable-steps
72
+ parameters:
73
+ steps:
74
+ - WAIT-DEVICE-RAMP
75
+ - type: remove-steps
76
+ parameters:
77
+ steps:
78
+ - WAIT-CANCEL-DERC
79
+
80
+ # (d, e)
81
+ WAIT-DEVICE-RAMP:
82
+ event:
83
+ type: wait
84
+ parameters:
85
+ duration_seconds: 120
86
+ actions:
87
+ - type: create-der-control
88
+ parameters:
89
+ start: $(now)
90
+ duration_seconds: 600
91
+ opModLoadLimW: $(setMaxW * 2)
92
+ - type: enable-steps
93
+ parameters:
94
+ steps:
95
+ - WAIT-CONTROL-FINISH
96
+ - type: remove-steps
97
+ parameters:
98
+ steps:
99
+ - WAIT-DEVICE-RAMP
100
+ instructions:
101
+ - DER should be ramping to the DefaultDERControl value of 30% max power at rate setGradW (default 0.27%/s).
102
+
103
+ # (f, g, h)
104
+ WAIT-CONTROL-FINISH:
105
+ event:
106
+ type: wait
107
+ parameters:
108
+ duration_seconds: 720
109
+ actions:
110
+ - type: create-der-control
111
+ parameters:
112
+ start: $(now)
113
+ duration_seconds: 600
114
+ opModLoadLimW: 0
115
+ - type: set-default-der-control
116
+ parameters:
117
+ cancelled: true
118
+
119
+ - type: enable-steps
120
+ parameters:
121
+ steps:
122
+ - WAIT-TEST-FINISH
123
+ - type: remove-steps
124
+ parameters:
125
+ steps:
126
+ - WAIT-CONTROL-FINISH
127
+ instructions:
128
+ - DER should be ramping to the active DERControl unconstrained value at rate setGradW (default 0.27%/s).
129
+ - Upon completion of the active DERControl (10 minutes) the DER should ramp to the DefaultDERControl value of 30% max power.
130
+
131
+ # (i)
132
+ WAIT-TEST-FINISH:
133
+ event:
134
+ type: wait
135
+ parameters:
136
+ duration_seconds: 720
137
+ actions:
138
+ - type: remove-steps
139
+ parameters:
140
+ steps:
141
+ - WAIT-TEST-FINISH
142
+ - type: finish-test
143
+ parameters: {}
144
+ instructions:
145
+ - DER should be ramping to the active DERControl 0W value at rate setGradW (default 0.27%/s).
@@ -0,0 +1,117 @@
1
+ Description: Response to Cancelled Import Control
2
+ Category: DER
3
+ Classes:
4
+ - DER-L
5
+
6
+ TargetVersions:
7
+ - v1.2
8
+ - v1.3-beta/storage
9
+
10
+ Criteria:
11
+ checks:
12
+ - type: all-steps-complete
13
+ parameters: {}
14
+
15
+ Preconditions:
16
+ init_actions:
17
+ - type: set-comms-rate
18
+ parameters:
19
+ dcap_poll_seconds: 60
20
+ edev_list_poll_seconds: 60
21
+ fsa_list_poll_seconds: 60
22
+ der_list_poll_seconds: 60
23
+ derp_list_poll_seconds: 60
24
+ mup_post_seconds: 60
25
+ checks:
26
+ - type: end-device-contents
27
+ parameters: {}
28
+ - type: der-settings-contents
29
+ parameters: {}
30
+ actions:
31
+ - type: create-der-program
32
+ parameters:
33
+ primacy: 0
34
+ - type: set-default-der-control
35
+ parameters:
36
+ opModImpLimW: $(setMaxW * 0.3)
37
+ instructions:
38
+ - DER should be importing at least 50% of its rated power.
39
+
40
+ Steps:
41
+ # (precondition)
42
+ PRECONDITION-STARTUP:
43
+ instructions:
44
+ - This step is to give time for the DER to start importing/exporting at least 50% of its rated power.
45
+ event:
46
+ type: GET-request-received
47
+ parameters:
48
+ endpoint: /edev/1/derp/1/derc
49
+ actions:
50
+ - type: create-der-control
51
+ parameters:
52
+ start: $(now)
53
+ duration_seconds: 300
54
+ opModExpLimW: $(setMaxW * 2)
55
+ opModImpLimW: $(setMaxW * 2)
56
+ - type: enable-steps
57
+ parameters:
58
+ steps:
59
+ - PRECONDITION-STARTUP-WAIT
60
+ - type: remove-steps
61
+ parameters:
62
+ steps:
63
+ - PRECONDITION-STARTUP
64
+
65
+ # (precondition)
66
+ PRECONDITION-STARTUP-WAIT:
67
+ instructions:
68
+ - This step is to give time for the DER to start importing/exporting at least 50% of its rated power.
69
+ event:
70
+ type: wait
71
+ parameters:
72
+ duration_seconds: 120
73
+ actions:
74
+ - type: enable-steps
75
+ parameters:
76
+ steps:
77
+ - GET-DERC
78
+ - type: remove-steps
79
+ parameters:
80
+ steps:
81
+ - PRECONDITION-STARTUP-WAIT
82
+
83
+ # (a, b)
84
+ GET-DERC:
85
+ event:
86
+ type: GET-request-received
87
+ parameters:
88
+ endpoint: /edev/1/derp/1/derc
89
+ actions:
90
+ - type: cancel-active-der-controls
91
+ parameters: {}
92
+ - type: enable-steps
93
+ parameters:
94
+ steps:
95
+ - WAIT-TILL-END
96
+ - type: remove-steps
97
+ parameters:
98
+ steps:
99
+ - GET-DERC
100
+
101
+ # (b)
102
+ WAIT-TILL-END:
103
+ event:
104
+ type: wait
105
+ parameters:
106
+ duration_seconds: 120
107
+ actions:
108
+ - type: remove-steps
109
+ parameters:
110
+ steps:
111
+ - WAIT-TILL-END
112
+ - type: finish-test
113
+ parameters: {}
114
+ instructions:
115
+ - After cancellation, DER shall reduce export to the DefaultDERControl value of 30%
116
+
117
+