def test_multiple_with_state(self): channel_names = list(reversed(sorted(list(multiple_with_state['payload']['channels'])))) response = PNHereNowResult.from_json(multiple_with_state, channel_names) channels = response.channels assert response.total_channels == 2 assert response.total_occupancy == 2 assert isinstance(channels, list) assert len(channels) == 2 if channels[0].channel_name == channel_names[0]: channel1 = channels[0] channel2 = channels[1] else: channel1 = channels[1] channel2 = channels[0] assert channel1.channel_name == channel_names[0] assert channel1.occupancy == multiple_with_state['payload']['channels'][channel1.channel_name]['occupancy'] assert len(channel1.occupants) == 1 occupants = channel1.occupants[0] assert occupants.state['name'] == "Alex" assert occupants.state['count'] == 5 assert occupants.uuid == multiple_with_state['payload']['channels'][channel1.channel_name]['uuids'][0]['uuid'] assert channel2.channel_name == channel_names[1] assert channel2.occupancy == multiple_with_state['payload']['channels'][channel2.channel_name]['occupancy'] assert len(channel2.occupants) == 1 occupants = channel2.occupants[0] assert occupants.state is None assert occupants.uuid == multiple_with_state['payload']['channels'][channel2.channel_name]['uuids'][0]['uuid']
def test_multiple(self): channel_names = list(multiple['payload']['channels']) response = PNHereNowResult.from_json(multiple, channel_names) channels = response.channels assert response.total_channels == 2 assert response.total_occupancy == 2 assert isinstance(channels, list) assert len(channels) == 2 channel1 = channels[0] assert channel1.channel_name == channel_names[0] assert channel1.occupancy == multiple['payload']['channels'][channel_names[0]]['occupancy'] assert len(channel1.occupants) == 1 occupants = channel1.occupants[0] assert occupants.state is None assert occupants.uuid == multiple['payload']['channels'][channel_names[0]]['uuids'][0] channel2 = channels[1] assert channel2.channel_name == channel_names[1] assert channel2.occupancy == multiple['payload']['channels'][channel_names[1]]['occupancy'] assert len(channel2.occupants) == 1 occupants = channel2.occupants[0] assert occupants.state is None assert occupants.uuid == multiple['payload']['channels'][channel_names[1]]['uuids'][0]
def test_empty_multiple(self): channel_names = ['blah'] response = PNHereNowResult.from_json(empty_multiple, channel_names) channels = response.channels assert response.total_channels == 1 assert response.total_occupancy == 0 assert isinstance(channels, list) assert len(channels) == 1
def test_single_disable_uuids(self): channel_names = ['blah'] response = PNHereNowResult.from_json(single_disable_uuids, channel_names) channels = response.channels assert response.total_channels == 1 assert response.total_occupancy == 1 assert isinstance(channels, list) assert len(channels) == 1 channel = channels[0] assert channel.channel_name == 'blah' assert channel.occupancy == 1 assert len(channel.occupants) == 0
def test_single_with_state(self): channel_names = ['blah'] response = PNHereNowResult.from_json(single_with_state, channel_names) channels = response.channels assert response.total_channels == 1 assert response.total_occupancy == 1 assert isinstance(channels, list) assert len(channels) == 1 channel = channels[0] assert channel.channel_name == 'blah' assert channel.occupancy == 1 assert len(channel.occupants) == 1 occupants = channel.occupants[0] assert occupants.uuid == single_with_state['uuids'][0]['uuid'] assert occupants.state == single_with_state['uuids'][0]['state']
def test_multiple_disable_uuids(self): channel_names = list(multiple_disable_uuids['payload']['channels']) response = PNHereNowResult.from_json(multiple_disable_uuids, channel_names) channels = response.channels assert response.total_channels == 2 assert response.total_occupancy == 2 assert isinstance(channels, list) assert len(channels) == 2 channel1 = channels[0] assert channel1.channel_name == channel_names[0] assert channel1.occupancy == multiple_disable_uuids['payload']['channels'][channel_names[0]]['occupancy'] assert channel1.occupants is None channel2 = channels[1] assert channel2.channel_name == channel_names[1] assert channel2.occupancy == multiple_disable_uuids['payload']['channels'][channel_names[1]]['occupancy'] assert channel2.occupants is None
def test_here_now(self): assert str(PNHereNowResult( 7, 4, None)) == "HereNow Result total occupancy: 4, total channels: 7"
def create_response(self, envelope): return PNHereNowResult.from_json(envelope, self._channels)