Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 12 additions & 8 deletions tests/components/august/mocks.py
Original file line number Diff line number Diff line change
Expand Up @@ -109,15 +109,19 @@ def get_house_activities_side_effect(access_token, house_id, limit=10):
def lock_return_activities_side_effect(access_token, device_id):
lock = _get_device_detail("locks", device_id)
return [
_mock_lock_operation_activity(lock, "lock"),
_mock_door_operation_activity(lock, "doorclosed"),
_mock_lock_operation_activity(lock, "lock", 0),
# There is a check to prevent out of order events
# so we set the doorclosed event in the future
# to prevent a race condition where we reject the event
# because it happened before the dooropen event.
_mock_door_operation_activity(lock, "doorclosed", 2000),
]

def unlock_return_activities_side_effect(access_token, device_id):
lock = _get_device_detail("locks", device_id)
return [
_mock_lock_operation_activity(lock, "unlock"),
_mock_door_operation_activity(lock, "dooropen"),
_mock_lock_operation_activity(lock, "unlock", 0),
_mock_door_operation_activity(lock, "dooropen", 0),
]

if "get_lock_detail" not in api_call_side_effects:
Expand Down Expand Up @@ -288,21 +292,21 @@ async def _mock_doorsense_missing_august_lock_detail(hass):
return await _mock_lock_from_fixture(hass, "get_lock.online_missing_doorsense.json")


def _mock_lock_operation_activity(lock, action):
def _mock_lock_operation_activity(lock, action, offset):
return LockOperationActivity(
{
"dateTime": time.time() * 1000,
"dateTime": (time.time() + offset) * 1000,
"deviceID": lock.device_id,
"deviceType": "lock",
"action": action,
}
)


def _mock_door_operation_activity(lock, action):
def _mock_door_operation_activity(lock, action, offset):
return DoorOperationActivity(
{
"dateTime": time.time() * 1000,
"dateTime": (time.time() + offset) * 1000,
"deviceID": lock.device_id,
"deviceType": "lock",
"action": action,
Expand Down