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"
|
||||
self.send_message(LOCATION_TOPIC, LOCATION_MESSAGE)
|
||||
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