openmodule-test 13.0.2__tar.gz → 13.1.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 (31) hide show
  1. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/AUTHORS +0 -1
  2. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/ChangeLog +25 -29
  3. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/PKG-INFO +1 -1
  4. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/database.py +1 -1
  5. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/openmodule_test.egg-info/PKG-INFO +1 -1
  6. openmodule_test-13.1.0/openmodule_test.egg-info/pbr.json +1 -0
  7. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/presence.py +28 -9
  8. openmodule_test-13.0.2/openmodule_test.egg-info/pbr.json +0 -1
  9. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/__init__.py +0 -0
  10. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/alert.py +0 -0
  11. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/connection_status.py +0 -0
  12. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/core.py +0 -0
  13. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/eventlistener.py +0 -0
  14. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/files.py +0 -0
  15. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/gate.py +0 -0
  16. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/health.py +0 -0
  17. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/interrupt.py +0 -0
  18. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/io_simulator.py +0 -0
  19. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/openmodule_test.egg-info/SOURCES.txt +0 -0
  20. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/openmodule_test.egg-info/dependency_links.txt +0 -0
  21. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/openmodule_test.egg-info/not-zip-safe +0 -0
  22. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/openmodule_test.egg-info/requires.txt +0 -0
  23. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/openmodule_test.egg-info/top_level.txt +0 -0
  24. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/package_reader.py +0 -0
  25. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/requirements.txt +0 -0
  26. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/rpc.py +0 -0
  27. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/settings.py +0 -0
  28. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/setup.cfg +0 -0
  29. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/setup.py +0 -0
  30. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/utils.py +0 -0
  31. {openmodule_test-13.0.2 → openmodule_test-13.1.0}/zeromq.py +0 -0
@@ -4,7 +4,6 @@ Matthias Mietschnig <m.mietschnig@arivo.co>
4
4
  Philipp Reitter <i@philipp.ninja>
5
5
  Philipp Reitter <p.reitter@accessio.at>
6
6
  Philipp Reitter <p.reitter@gmail.com>
7
- Stefan Bräuer <s.braeuer@ariv.co>
8
7
  Stefan Bräuer <s.braeuer@arivo.co>
9
8
  Thomas Senfter <t.senfter@accessio.at>
10
9
  Thomas Senfter <t.senfter@arivo.co>
@@ -1,6 +1,31 @@
1
1
  CHANGES
2
2
  =======
3
3
 
4
+ v13.1.0
5
+ -------
6
+
7
+ * fixed testcase race condition
8
+ * improvements for PresenceSimulator and new commit to fix pipeline
9
+
10
+ v13.1.0.rc1
11
+ -----------
12
+
13
+ * settings model update
14
+
15
+ v13.1.0.rc0
16
+ -----------
17
+
18
+ * OM-61 Openmodule Anpassungen für Access Events
19
+ * [OM-56] added enter\_time and leave\_time to vehicle and implemented presence message changes
20
+ * fixes and refactoring of presencelistener
21
+ * Resolve OM-78 improved KVStore performance
22
+ * fixes INBOX-2510
23
+
24
+ v13.0.3
25
+ -------
26
+
27
+ * added garage\_settings mode "barrier\_bypass" in settings models removal of some unused imports
28
+
4
29
  v13.0.2
5
30
  -------
6
31
 
@@ -127,9 +152,6 @@ v11.1.0.rc0
127
152
  * removing language dependency
128
153
  * removing ="asdf" for strings
129
154
  * added decimal separator support for english
130
- * some testcases for csv exporter, incorrect default value + static missing [skip ci]
131
- * fixed comment
132
- * added csv\_export library (no testcases)
133
155
  * removed mock rpcs from schema
134
156
 
135
157
  v11.0.3
@@ -216,29 +238,3 @@ v8.1.2
216
238
  ------
217
239
 
218
240
  * dont register schemas for mock handlers
219
- * fixes a race condition in the io tests
220
- * update known issues
221
-
222
- v8.1.1
223
- ------
224
-
225
- * adds multiprocessing logging to openmodule requirements
226
-
227
- v8.1.0
228
- ------
229
-
230
- * changelog and breaking changes updated
231
- * \* Adds an IO Listener \* Adds a SigTERM interrupt handler which converts to KeyboardInterrupt so shutdown in Docker containers is easier \* The main Test Mixin was refactored to start a separate process and raise a Interrupt. The other test methods were removed due to being hacky and crashing tox/pytest from time to time. Since this only breaks test code we don't bump the major version. \* The openmodule now waits for a connection with the message broker on startup \* Fixes an issue in the RPCServerTestMixin
232
- * RPCServerTestMixin now only registers one random channel instead of all channels on the server. (Author: Philipp Reitter)
233
- * add infos to CountMessage
234
- * Added line to exception\_in\_function to call new \_signal\_in\_function if exception is a signal or KeyboardInterrupt
235
-
236
- v8.0.1
237
- ------
238
-
239
- * fixed loading empty yamls fixes rpc server not logging info in debug log
240
-
241
- v8.0.0
242
- ------
243
-
244
- * fix in ci job
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: openmodule_test
3
- Version: 13.0.2
3
+ Version: 13.1.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
@@ -4,7 +4,7 @@ from unittest import TestCase
4
4
 
5
5
  from sqlalchemy import MetaData
6
6
 
7
- from openmodule.config import database_folder, settings
7
+ from openmodule.config import settings
8
8
  from openmodule.database.database import Database, database_path
9
9
 
10
10
  _first_start = True
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: openmodule-test
3
- Version: 13.0.2
3
+ Version: 13.1.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
@@ -0,0 +1 @@
1
+ {"git_version": "9ec1854", "is_release": true}
@@ -19,6 +19,8 @@ class VehicleBuilder:
19
19
  self.medium = PresenceMedia()
20
20
  self.make_model = MakeModel(make="UNKNOWN", make_confidence=0.7, model="UNKNOWN", model_confidence=-1.0)
21
21
  self.enter_direction = EnterDirection.unknown
22
+ self.enter_time = datetime.utcnow()
23
+ self.leave_time = None
22
24
 
23
25
  def vehicle(self) -> Vehicle:
24
26
  return Vehicle(
@@ -28,7 +30,9 @@ class VehicleBuilder:
28
30
  nfc=self.medium.nfc,
29
31
  pin=self.medium.pin,
30
32
  make_model=self.make_model,
31
- enter_direction=self.enter_direction
33
+ enter_direction=self.enter_direction,
34
+ enter_time=self.enter_time,
35
+ leave_time=self.leave_time
32
36
  )
33
37
 
34
38
  def id(self, id: int) -> 'VehicleBuilder':
@@ -74,6 +78,14 @@ class VehicleBuilder:
74
78
  self.enter_direction = enter_direction
75
79
  return self
76
80
 
81
+ def set_enter_time(self, enter_time: datetime) -> 'VehicleBuilder':
82
+ self.enter_time = enter_time
83
+ return self
84
+
85
+ def set_leave_time(self, leave_time: datetime) -> 'VehicleBuilder':
86
+ self.leave_time = leave_time
87
+ return self
88
+
77
89
 
78
90
  class PresenceSimulator:
79
91
  current_present: Optional[VehicleBuilder] = None
@@ -103,41 +115,48 @@ class PresenceSimulator:
103
115
  "medium": vehicle.medium,
104
116
  "make_model": vehicle.make_model,
105
117
  "all_ids": all_ids,
106
- "enter_direction": vehicle.enter_direction
118
+ "enter_direction": vehicle.enter_direction,
119
+ "enter_time": vehicle.enter_time,
120
+ "leave_time": vehicle.leave_time
107
121
  }
108
122
 
109
- def enter(self, vehicle: VehicleBuilder):
123
+ def enter(self, vehicle: VehicleBuilder, enter_time: Optional[datetime] = None):
124
+ vehicle.enter_time = enter_time or vehicle.enter_time
110
125
  if self.current_present:
111
126
  self.leave()
112
127
  self.current_present = vehicle
113
128
  self.emit(PresenceEnterMessage(**self._common_kwargs(vehicle)))
114
129
 
115
- def leave(self):
130
+ def leave(self, leave_time: Optional[datetime] = None) -> VehicleBuilder:
131
+ self.current_present.leave_time = leave_time or self.current_present.leave_time or datetime.utcnow()
116
132
  self.emit(PresenceLeaveMessage(**self._common_kwargs(self.current_present)))
117
133
  temp = self.current_present
118
134
  self.current_present = None
119
135
  return temp
120
136
 
121
- def leave_without_present(self, vehicle: VehicleBuilder):
137
+ def leave_without_present(self, vehicle: VehicleBuilder, leave_time: Optional[datetime] = None):
122
138
  assert self.current_present is None, "no vehicle must be present"
139
+ vehicle.leave_time = leave_time or vehicle.leave_time or datetime.utcnow()
123
140
  self.emit(PresenceLeaveMessage(**self._common_kwargs(vehicle)))
124
141
 
125
142
  def forward(self, vehicle: Optional[VehicleBuilder] = None):
126
143
  assert vehicle or self.current_present, "a vehicle must be present, or you have to pass a vehicle"
127
144
  if not vehicle:
128
145
  vehicle = self.leave()
146
+ if vehicle.leave_time is None: # if leave was not called for this vehicle
147
+ vehicle.leave_time = datetime.utcnow()
129
148
  self.emit(PresenceForwardMessage(
130
- **self._common_kwargs(vehicle),
131
- **{"leave-time": datetime_to_timestamp(datetime.utcnow())}
149
+ **self._common_kwargs(vehicle)
132
150
  ))
133
151
 
134
152
  def backward(self, vehicle: Optional[VehicleBuilder] = None):
135
153
  assert vehicle or self.current_present, "a vehicle must be present, or you have to pass a vehicle"
136
154
  if not vehicle:
137
155
  vehicle = self.leave()
156
+ if vehicle.leave_time is None: # if leave was not called for this vehicle
157
+ vehicle.leave_time = datetime.utcnow()
138
158
  self.emit(PresenceBackwardMessage(
139
- **self._common_kwargs(vehicle),
140
- **{"leave-time": datetime_to_timestamp(datetime.utcnow())}
159
+ **self._common_kwargs(vehicle)
141
160
  ))
142
161
 
143
162
  def change(self, vehicle: VehicleBuilder):
@@ -1 +0,0 @@
1
- {"git_version": "3b9ed49", "is_release": true}