def test_active_zone_skips_passive_zones(self): assert zone.setup(self.hass, { 'zone': [ { 'name': 'Passive Zone', 'latitude': 32.880600, 'longitude': -117.237561, 'radius': 250, 'passive': True }, ] }) active = zone.active_zone(self.hass, 32.880600, -117.237561) assert active is None assert zone.setup(self.hass, { 'zone': [ { 'name': 'Active Zone', 'latitude': 32.880800, 'longitude': -117.237561, 'radius': 500, }, ] }) active = zone.active_zone(self.hass, 32.880700, -117.237561) assert 'zone.active_zone' == active.entity_id
def setUp(self): # pylint: disable=invalid-name self.hass = get_test_home_assistant() zone.setup(self.hass, { 'zone': { 'name': 'test', 'latitude': 32.880837, 'longitude': -117.237561, 'radius': 250, } }) self.calls = [] def record_call(service): self.calls.append(service) self.hass.services.register('test', 'automation', record_call)
def setUp(self): # pylint: disable=invalid-name self.hass = get_test_home_assistant() zone.setup( self.hass, { 'zone': { 'name': 'test', 'latitude': 32.880837, 'longitude': -117.237561, 'radius': 250, } }) self.calls = [] def record_call(service): self.calls.append(service) self.hass.services.register('test', 'automation', record_call)
def setUp(self): # pylint: disable=invalid-name """Setup things to be run when tests are started.""" self.hass = get_test_home_assistant() self.hass.config.components.append('group') zone.setup(self.hass, { 'zone': { 'name': 'test', 'latitude': 32.880837, 'longitude': -117.237561, 'radius': 250, } }) self.calls = [] def record_call(service): self.calls.append(service) self.hass.services.register('test', 'automation', record_call)
def test_active_zone_prefers_smaller_zone_if_same_distance(self): """Test zone size preferences.""" latitude = 32.880600 longitude = -117.237561 assert zone.setup( self.hass, { 'zone': [ { 'name': 'Small Zone', 'latitude': latitude, 'longitude': longitude, 'radius': 250, }, { 'name': 'Big Zone', 'latitude': latitude, 'longitude': longitude, 'radius': 500, }, ] }) active = zone.active_zone(self.hass, latitude, longitude) assert 'zone.small_zone' == active.entity_id assert zone.setup( self.hass, { 'zone': [ { 'name': 'Smallest Zone', 'latitude': latitude, 'longitude': longitude, 'radius': 50, }, ] }) active = zone.active_zone(self.hass, latitude, longitude) assert 'zone.smallest_zone' == active.entity_id
def test_active_zone_prefers_smaller_zone_if_same_distance(self): """Test zone size preferences.""" latitude = 32.880600 longitude = -117.237561 assert zone.setup(self.hass, { 'zone': [ { 'name': 'Small Zone', 'latitude': latitude, 'longitude': longitude, 'radius': 250, }, { 'name': 'Big Zone', 'latitude': latitude, 'longitude': longitude, 'radius': 500, }, ] }) active = zone.active_zone(self.hass, latitude, longitude) assert 'zone.small_zone' == active.entity_id assert zone.setup(self.hass, { 'zone': [ { 'name': 'Smallest Zone', 'latitude': latitude, 'longitude': longitude, 'radius': 50, }, ] }) active = zone.active_zone(self.hass, latitude, longitude) assert 'zone.smallest_zone' == active.entity_id
def test_in_zone_works_for_passive_zones(self): latitude = 32.880600 longitude = -117.237561 assert zone.setup(self.hass, { 'zone': [ { 'name': 'Passive Zone', 'latitude': latitude, 'longitude': longitude, 'radius': 250, 'passive': True }, ] }) assert zone.in_zone(self.hass.states.get('zone.passive_zone'), latitude, longitude)
def test_setup(self): """Test setup.""" info = { 'name': 'Test Zone', 'latitude': 32.880837, 'longitude': -117.237561, 'radius': 250, 'passive': True } assert zone.setup(self.hass, {'zone': info}) state = self.hass.states.get('zone.test_zone') assert info['name'] == state.name assert info['latitude'] == state.attributes['latitude'] assert info['longitude'] == state.attributes['longitude'] assert info['radius'] == state.attributes['radius'] assert info['passive'] == state.attributes['passive']
def test_setup(self): info = { 'name': 'Test Zone', 'latitude': 32.880837, 'longitude': -117.237561, 'radius': 250, 'passive': True } assert zone.setup(self.hass, { 'zone': info }) state = self.hass.states.get('zone.test_zone') assert info['name'] == state.name assert info['latitude'] == state.attributes['latitude'] assert info['longitude'] == state.attributes['longitude'] assert info['radius'] == state.attributes['radius'] assert info['passive'] == state.attributes['passive']
def setup_method(self, method): self.hass = get_test_home_assistant() self.yaml_devices = self.hass.config.path(device_tracker.YAML_DEVICES) zone.setup( self.hass, { 'zone': [ { 'name': 'home', 'latitude': 2.1, 'longitude': 1.1, 'radius': 10, }, { 'name': 'work', 'latitude': 100, 'longitude': 100, 'radius': 10, }, ] }) dev_id = 'test1' entity_id = device_tracker.ENTITY_ID_FORMAT.format(dev_id) friendly_name = 'test1' picture = 'http://placehold.it/200x200' device = device_tracker.Device(self.hass, timedelta(seconds=180), 0, True, dev_id, None, friendly_name, picture, away_hide=True) device_tracker.update_config(self.yaml_devices, dev_id, device) self.hass.states.set('device_tracker.test1', 'not_home', { 'friendly_name': 'test1', 'latitude': 50, 'longitude': 50 }) dev_id = 'test2' entity_id = device_tracker.ENTITY_ID_FORMAT.format(dev_id) friendly_name = 'test2' picture = 'http://placehold.it/200x200' device = device_tracker.Device(self.hass, timedelta(seconds=180), 0, True, dev_id, None, friendly_name, picture, away_hide=True) device_tracker.update_config(self.yaml_devices, dev_id, device) self.hass.states.set('device_tracker.test2', 'not_home', { 'friendly_name': 'test2', 'latitude': 50, 'longitude': 50 })
def setup_method(self, method): self.hass = get_test_home_assistant() self.yaml_devices = self.hass.config.path(device_tracker.YAML_DEVICES) zone.setup(self.hass, { 'zone': [ { 'name': 'home', 'latitude': 2.1, 'longitude': 1.1, 'radius': 10, }, { 'name': 'work', 'latitude': 100, 'longitude': 100, 'radius': 10, }, ] }) dev_id = 'test1' entity_id = device_tracker.ENTITY_ID_FORMAT.format(dev_id) friendly_name = 'test1' picture = 'http://placehold.it/200x200' device = device_tracker.Device( self.hass, timedelta(seconds=180), 0, True, dev_id, None, friendly_name, picture, away_hide=True) device_tracker.update_config(self.yaml_devices, dev_id, device) self.hass.states.set( 'device_tracker.test1', 'not_home', { 'friendly_name': 'test1', 'latitude': 50, 'longitude': 50 }) dev_id = 'test2' entity_id = device_tracker.ENTITY_ID_FORMAT.format(dev_id) friendly_name = 'test2' picture = 'http://placehold.it/200x200' device = device_tracker.Device( self.hass, timedelta(seconds=180), 0, True, dev_id, None, friendly_name, picture, away_hide=True) device_tracker.update_config(self.yaml_devices, dev_id, device) self.hass.states.set( 'device_tracker.test2', 'not_home', { 'friendly_name': 'test2', 'latitude': 50, 'longitude': 50 })