async def test_setters_and_getters_schedule( event_loop: AbstractEventLoop) -> None: """Test setters of SwitcherV2Schedule object.""" schedule = SwitcherV2Schedule( event_loop, 0, [unhexlify(DUMMY_SELECTIVE_RECCURING_SCHEDULE_DATA)]) await wait([schedule.init_future]) assert schedule.enabled assert schedule.schedule_data == \ DUMMY_SELECTIVE_RECCURING_SCHEDULE_DATA_BYTES with raises(TypeError) as exc_info_enable: schedule.enabled = "not_bool" # type: ignore assert exc_info_enable.type is TypeError with raises(TypeError) as exc_info_data: schedule.schedule_data = 0 # type: ignore assert exc_info_data.type is TypeError schedule.enabled = False assert not schedule.as_dict().get('_enabled') schedule.schedule_data = b'4855f34ca8c58d6f1453' assert schedule.as_dict().get('_schedule_data') == b'4855f34ca8c58d6f1453'
async def test_full_recurring_schedule(event_loop: AbstractEventLoop) -> None: """Test full recurring SwitcherV2Schedule object.""" schedule = SwitcherV2Schedule( event_loop, 0, [unhexlify(DUMMY_FULL_RECCURING_SCHEDULE_DATA)]) await wait([schedule.init_future]) assert schedule.schedule_id == DUMMY_FULL_RECCURING_SCHEDULE_ID assert schedule.enabled assert schedule.recurring await assert_lists_equal(schedule.days, DUMMY_FULL_RECCURING_DAYS_LIST) assert schedule.start_time == DUMMY_FULL_RECCURING_START_TIME assert schedule.end_time == DUMMY_FULL_RECCURING_END_TIME assert schedule.duration == DUMMY_FULL_RECCURING_DURATION assert schedule.schedule_data == DUMMY_FULL_RECCURING_SCHEDULE_DATA_BYTES
async def test_non_recurring_schedule(event_loop: AbstractEventLoop) -> None: """Test non-recurring SwitcherV2Schedule object.""" schedule = SwitcherV2Schedule( event_loop, 0, [unhexlify(DUMMY_NON_RECCURING_SCHEDULE_DATA)]) await wait([schedule.init_future]) assert schedule.schedule_id == DUMMY_NON_RECCURING_SCHEDULE_ID assert schedule.enabled # TODO this should return False, fix dummy packet! assert schedule.recurring await assert_lists_equal(schedule.days, DUMMY_NON_RECCURING_DAYS_LIST) assert schedule.start_time == DUMMY_NON_RECCURING_START_TIME assert schedule.end_time == DUMMY_NON_RECCURING_END_TIME assert schedule.duration == DUMMY_NON_RECCURING_DURATION assert schedule.schedule_data == DUMMY_NON_RECCURING_SCHEDULE_DATA_BYTES
async def test_selective_recurring_schedule( event_loop: AbstractEventLoop, ) -> None: """Test selective recurring SwitcherV2Schedule object.""" schedule = SwitcherV2Schedule( event_loop, 0, [unhexlify(DUMMY_SELECTIVE_RECCURING_SCHEDULE_DATA)]) await wait([schedule.init_future]) assert schedule.schedule_id == DUMMY_SELECTIVE_RECCURING_SCHEDULE_ID assert schedule.enabled assert schedule.recurring await assert_lists_equal(schedule.days, DUMMY_SELECTIVE_RECCURING_DAYS_LIST) if strftime("%Z", gmtime()) == "Jerusalem Standard Time": assert schedule.start_time == DUMMY_SELECTIVE_RECCURING_START_TIME assert schedule.end_time == DUMMY_SELECTIVE_RECCURING_END_TIME assert schedule.duration == DUMMY_SELECTIVE_RECCURING_DURATION assert (schedule.schedule_data == DUMMY_SELECTIVE_RECCURING_SCHEDULE_DATA_BYTES)