Add tests for race condition.
This commit is contained in:
parent
9f7ce23e80
commit
7bd4e58b9d
1 changed files with 32 additions and 0 deletions
|
@ -379,3 +379,35 @@ class TestDeviceTrackerOwnTracks(unittest.TestCase):
|
||||||
message['lat'] = "4.0"
|
message['lat'] = "4.0"
|
||||||
self.send_message(LOCATION_TOPIC, LOCATION_MESSAGE)
|
self.send_message(LOCATION_TOPIC, LOCATION_MESSAGE)
|
||||||
self.assert_tracker_latitude(3.0)
|
self.assert_tracker_latitude(3.0)
|
||||||
|
|
||||||
|
def test_mobile_multiple_async_enter_exit(self):
|
||||||
|
# Test race condition
|
||||||
|
enter_message = REGION_ENTER_MESSAGE.copy()
|
||||||
|
enter_message['desc'] = IBEACON_DEVICE
|
||||||
|
exit_message = REGION_LEAVE_MESSAGE.copy()
|
||||||
|
exit_message['desc'] = IBEACON_DEVICE
|
||||||
|
|
||||||
|
fire_mqtt_message(
|
||||||
|
self.hass, EVENT_TOPIC, json.dumps(enter_message))
|
||||||
|
fire_mqtt_message(
|
||||||
|
self.hass, EVENT_TOPIC, json.dumps(exit_message))
|
||||||
|
fire_mqtt_message(
|
||||||
|
self.hass, EVENT_TOPIC, json.dumps(enter_message))
|
||||||
|
fire_mqtt_message(
|
||||||
|
self.hass, EVENT_TOPIC, json.dumps(exit_message))
|
||||||
|
|
||||||
|
self.hass.pool.block_till_done()
|
||||||
|
self.assertEqual(owntracks.MOBILE_BEACONS_ACTIVE['greg_phone'], [])
|
||||||
|
|
||||||
|
def test_mobile_multiple_enter_exit(self):
|
||||||
|
# Should only happen if the iphone dies
|
||||||
|
enter_message = REGION_ENTER_MESSAGE.copy()
|
||||||
|
enter_message['desc'] = IBEACON_DEVICE
|
||||||
|
exit_message = REGION_LEAVE_MESSAGE.copy()
|
||||||
|
exit_message['desc'] = IBEACON_DEVICE
|
||||||
|
|
||||||
|
self.send_message(EVENT_TOPIC, enter_message)
|
||||||
|
self.send_message(EVENT_TOPIC, enter_message)
|
||||||
|
self.send_message(EVENT_TOPIC, exit_message)
|
||||||
|
|
||||||
|
self.assertEqual(owntracks.MOBILE_BEACONS_ACTIVE['greg_phone'], [])
|
||||||
|
|
Loading…
Add table
Reference in a new issue