openmodule-test 14.1.1__tar.gz → 14.2.0__tar.gz

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.
Files changed (33) hide show
  1. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/ChangeLog +16 -7
  2. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/PKG-INFO +1 -1
  3. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/openmodule_test.egg-info/PKG-INFO +1 -1
  4. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/openmodule_test.egg-info/SOURCES.txt +1 -0
  5. openmodule_test-14.2.0/openmodule_test.egg-info/pbr.json +1 -0
  6. openmodule_test-14.2.0/signal_simulator.py +58 -0
  7. openmodule_test-14.1.1/openmodule_test.egg-info/pbr.json +0 -1
  8. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/AUTHORS +0 -0
  9. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/__init__.py +0 -0
  10. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/alert.py +0 -0
  11. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/connection_status.py +0 -0
  12. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/core.py +0 -0
  13. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/database.py +0 -0
  14. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/eventlistener.py +0 -0
  15. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/files.py +0 -0
  16. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/gate.py +0 -0
  17. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/health.py +0 -0
  18. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/interrupt.py +0 -0
  19. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/io_simulator.py +0 -0
  20. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/openmodule_test.egg-info/dependency_links.txt +0 -0
  21. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/openmodule_test.egg-info/not-zip-safe +0 -0
  22. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/openmodule_test.egg-info/requires.txt +0 -0
  23. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/openmodule_test.egg-info/top_level.txt +0 -0
  24. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/package_reader.py +0 -0
  25. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/presence.py +0 -0
  26. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/requirements.txt +0 -0
  27. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/rpc.py +0 -0
  28. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/sentry.py +0 -0
  29. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/settings.py +0 -0
  30. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/setup.cfg +0 -0
  31. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/setup.py +0 -0
  32. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/utils.py +0 -0
  33. {openmodule_test-14.1.1 → openmodule_test-14.2.0}/zeromq.py +0 -0
@@ -1,6 +1,22 @@
1
1
  CHANGES
2
2
  =======
3
3
 
4
+ v14.2.0
5
+ -------
6
+
7
+ * OM-1001: CostEntryData from settings models, added valid\_from and valid\_to to AccessCheckAccess and type hints for io/signals and io/inputs settings
8
+ * docs
9
+ * fixed testcase
10
+ * maybe fixing openmodule\_test
11
+
12
+ v14.2.0.rc0
13
+ -----------
14
+
15
+ * improvements for signal simulator
16
+ * test util for signals
17
+ * fixed testcase
18
+ * added SignalListener
19
+
4
20
  v14.1.1
5
21
  -------
6
22
 
@@ -181,8 +197,6 @@ v12.0.0.rc0
181
197
  -----------
182
198
 
183
199
  * Removed parking\_area\_id from AccessCheckAccess changed gate permission check in AccessService to new behavior
184
- * removed Gate and GateType (now from settings models)
185
- * fixed testcases and removed backend (deprecated in v11)
186
200
 
187
201
  v11.1.1
188
202
  -------
@@ -201,8 +215,3 @@ v11.0.3
201
215
  * Fixed typo, added compute\_id as label to all metrics, convert all label values to string
202
216
  * touch to get rid of skip ci on my commit
203
217
  * docs update [skip ci]
204
- * main test function deprecated and documentation for main tests added
205
-
206
- v11.0.2
207
- -------
208
-
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: openmodule_test
3
- Version: 14.1.1
3
+ Version: 14.2.0
4
4
  Summary: Libraries for testing openmodule services
5
5
  Home-page: https://gitlab.com/arivo-public/device-python/openmodule.git
6
6
  Author: ARIVO
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: openmodule-test
3
- Version: 14.1.1
3
+ Version: 14.2.0
4
4
  Summary: Libraries for testing openmodule services
5
5
  Home-page: https://gitlab.com/arivo-public/device-python/openmodule.git
6
6
  Author: ARIVO
@@ -19,6 +19,7 @@ setup.py
19
19
  ./rpc.py
20
20
  ./sentry.py
21
21
  ./settings.py
22
+ ./signal_simulator.py
22
23
  ./utils.py
23
24
  ./zeromq.py
24
25
  openmodule_test.egg-info/PKG-INFO
@@ -0,0 +1 @@
1
+ {"git_version": "3b899ae", "is_release": true}
@@ -0,0 +1,58 @@
1
+ from typing import Callable, Optional
2
+
3
+ from openmodule.models.signals import SignalMessage, TriggerSignalsRequest, TriggerSignalsResponse, \
4
+ GetSignalValueRequest, GetSignalValueResponse, SignalType
5
+ from openmodule.rpc import RPCClient
6
+
7
+
8
+ class SignalSimulator:
9
+ def __init__(self, emit: Callable[[SignalMessage], None]):
10
+ self.emit = emit
11
+ self._signals = {}
12
+
13
+ def add_signal(self, value: bool, additional_data: Optional[dict], signal_type: SignalType,
14
+ gate: Optional[str] = None, parking_area_id: Optional[str] = None,
15
+ signal_name: Optional[str] = None):
16
+ if signal_type == SignalType.custom:
17
+ assert signal_name is not None
18
+ signal_msg = SignalMessage(signal=signal_name, type=signal_type, gate=gate, parking_area_id=parking_area_id,
19
+ value=value, additional_data=additional_data)
20
+ elif signal_type == SignalType.parkinglot_full:
21
+ signal_name = "parkinglot_full"
22
+ signal_msg = SignalMessage(signal=signal_name, type=signal_type,
23
+ value=value, additional_data=additional_data)
24
+ elif signal_type == SignalType.area_full:
25
+ assert parking_area_id is not None
26
+ signal_name = f"{parking_area_id}-area_full"
27
+ signal_msg = SignalMessage(signal=signal_name, type=signal_type, parking_area_id=parking_area_id,
28
+ value=value, additional_data=additional_data)
29
+ else:
30
+ assert gate is not None
31
+ signal_name = f"{gate}-{signal_type}"
32
+ signal_msg = SignalMessage(signal=signal_name, type=signal_type, gate=gate,
33
+ value=value, additional_data=additional_data)
34
+ self._signals[signal_msg.signal] = signal_msg
35
+
36
+ def remove_signal(self, signal: str):
37
+ self._signals.pop(signal, None)
38
+
39
+ def set_signal(self, signal: str, value: bool, additional_data: Optional[dict] = None):
40
+ self._signals[signal].value = value
41
+ self._signals[signal].additional_data = additional_data
42
+ self.emit(self._signals[signal])
43
+
44
+ def trigger_signal_callback(self, request: TriggerSignalsRequest, _):
45
+ res = TriggerSignalsResponse(success=True)
46
+ for signal in request.signals:
47
+ if signal in self._signals:
48
+ self.emit(self._signals[signal])
49
+ else:
50
+ res.success = False
51
+ return res
52
+
53
+ def get_value_callback(self, request: GetSignalValueRequest, _):
54
+ if request.signal in self._signals:
55
+ return GetSignalValueResponse(value=self._signals[request.signal].value,
56
+ additional_data=self._signals[request.signal].additional_data)
57
+ else:
58
+ raise RPCClient.TimeoutError()
@@ -1 +0,0 @@
1
- {"git_version": "3784452", "is_release": true}