def test_invalid_sensors(self, mock): """Test the VultrBinarySensor fails.""" mock.get( "https://api.vultr.com/v1/account/info?api_key=ABCDEFG1234567", text=load_fixture("account_info.json", "vultr"), ) with patch( "vultr.Vultr.server_list", return_value=json.loads(load_fixture("server_list.json", "vultr")), ): # Setup hub base_vultr.setup(self.hass, VALID_CONFIG) bad_conf = {} # No subscription no_subs_setup = vultr.setup_platform( self.hass, bad_conf, self.add_entities, None ) assert not no_subs_setup bad_conf = { CONF_NAME: "Missing Server", CONF_SUBSCRIPTION: "555555", } # Sub not associated with API key (not in server_list) wrong_subs_setup = vultr.setup_platform( self.hass, bad_conf, self.add_entities, None ) assert not wrong_subs_setup
def test_binary_sensor(self, mock): """Test successful instance.""" mock.get( "https://api.vultr.com/v1/account/info?api_key=ABCDEFG1234567", text=load_fixture("vultr_account_info.json"), ) with patch( "vultr.Vultr.server_list", return_value=json.loads( load_fixture("vultr_server_list.json")), ): # Setup hub base_vultr.setup(self.hass, VALID_CONFIG) # Setup each of our test configs for config in self.configs: vultr.setup_platform(self.hass, config, self.add_entities, None) assert len(self.DEVICES) == 3 for device in self.DEVICES: # Test pre data retrieval if device.subscription == "555555": assert "Vultr {}" == device.name device.update() device_attrs = device.extra_state_attributes if device.subscription == "555555": assert "Vultr Another Server" == device.name if device.name == "A Server": assert device.is_on is True assert "power" == device.device_class assert "on" == device.state assert "mdi:server" == device.icon assert "1000" == device_attrs[ATTR_ALLOWED_BANDWIDTH] assert "yes" == device_attrs[ATTR_AUTO_BACKUPS] assert "123.123.123.123" == device_attrs[ATTR_IPV4_ADDRESS] assert "10.05" == device_attrs[ATTR_COST_PER_MONTH] assert "2013-12-19 14:45:41" == device_attrs[ATTR_CREATED_AT] assert "576965" == device_attrs[ATTR_SUBSCRIPTION_ID] elif device.name == "Failed Server": assert device.is_on is False assert "off" == device.state assert "mdi:server-off" == device.icon assert "1000" == device_attrs[ATTR_ALLOWED_BANDWIDTH] assert "no" == device_attrs[ATTR_AUTO_BACKUPS] assert "192.168.100.50" == device_attrs[ATTR_IPV4_ADDRESS] assert "73.25" == device_attrs[ATTR_COST_PER_MONTH] assert "2014-10-13 14:45:41" == device_attrs[ATTR_CREATED_AT] assert "123456" == device_attrs[ATTR_SUBSCRIPTION_ID]
def test_binary_sensor(hass: HomeAssistant): """Test successful instance.""" hass_devices = [] def add_entities(devices, action): """Mock add devices.""" for device in devices: device.hass = hass hass_devices.append(device) # Setup each of our test configs for config in CONFIGS: vultr.setup_platform(hass, config, add_entities, None) assert len(hass_devices) == 3 for device in hass_devices: # Test pre data retrieval if device.subscription == "555555": assert device.name == "Vultr {}" device.update() device_attrs = device.extra_state_attributes if device.subscription == "555555": assert device.name == "Vultr Another Server" if device.name == "A Server": assert device.is_on is True assert device.device_class == "power" assert device.state == "on" assert device.icon == "mdi:server" assert device_attrs[ATTR_ALLOWED_BANDWIDTH] == "1000" assert device_attrs[ATTR_AUTO_BACKUPS] == "yes" assert device_attrs[ATTR_IPV4_ADDRESS] == "123.123.123.123" assert device_attrs[ATTR_COST_PER_MONTH] == "10.05" assert device_attrs[ATTR_CREATED_AT] == "2013-12-19 14:45:41" assert device_attrs[ATTR_SUBSCRIPTION_ID] == "576965" elif device.name == "Failed Server": assert device.is_on is False assert device.state == "off" assert device.icon == "mdi:server-off" assert device_attrs[ATTR_ALLOWED_BANDWIDTH] == "1000" assert device_attrs[ATTR_AUTO_BACKUPS] == "no" assert device_attrs[ATTR_IPV4_ADDRESS] == "192.168.100.50" assert device_attrs[ATTR_COST_PER_MONTH] == "73.25" assert device_attrs[ATTR_CREATED_AT] == "2014-10-13 14:45:41" assert device_attrs[ATTR_SUBSCRIPTION_ID] == "123456"
def test_invalid_sensors(hass: HomeAssistant): """Test the VultrBinarySensor fails.""" hass_devices = [] def add_entities(devices, action): """Mock add devices.""" for device in devices: device.hass = hass hass_devices.append(device) bad_conf = {} # No subscription vultr.setup_platform(hass, bad_conf, add_entities, None) bad_conf = { CONF_NAME: "Missing Server", CONF_SUBSCRIPTION: "555555", } # Sub not associated with API key (not in server_list) vultr.setup_platform(hass, bad_conf, add_entities, None)
def test_binary_sensor(self, mock): """Test successful instance.""" mock.get( 'https://api.vultr.com/v1/account/info?api_key=ABCDEFG1234567', text=load_fixture('vultr_account_info.json')) with patch('vultr.Vultr.server_list', return_value=json.loads( load_fixture('vultr_server_list.json'))): # Setup hub base_vultr.setup(self.hass, VALID_CONFIG) # Setup each of our test configs for config in self.configs: vultr.setup_platform(self.hass, config, self.add_entities, None) assert len(self.DEVICES) == 3 for device in self.DEVICES: # Test pre data retrieval if device.subscription == '555555': assert 'Vultr {}' == device.name device.update() device_attrs = device.device_state_attributes if device.subscription == '555555': assert 'Vultr Another Server' == device.name if device.name == 'A Server': assert device.is_on is True assert 'power' == device.device_class assert 'on' == device.state assert 'mdi:server' == device.icon assert '1000' == \ device_attrs[ATTR_ALLOWED_BANDWIDTH] assert 'yes' == \ device_attrs[ATTR_AUTO_BACKUPS] assert '123.123.123.123' == \ device_attrs[ATTR_IPV4_ADDRESS] assert '10.05' == \ device_attrs[ATTR_COST_PER_MONTH] assert '2013-12-19 14:45:41' == \ device_attrs[ATTR_CREATED_AT] assert '576965' == \ device_attrs[ATTR_SUBSCRIPTION_ID] elif device.name == 'Failed Server': assert device.is_on is False assert 'off' == device.state assert 'mdi:server-off' == device.icon assert '1000' == \ device_attrs[ATTR_ALLOWED_BANDWIDTH] assert 'no' == \ device_attrs[ATTR_AUTO_BACKUPS] assert '192.168.100.50' == \ device_attrs[ATTR_IPV4_ADDRESS] assert '73.25' == \ device_attrs[ATTR_COST_PER_MONTH] assert '2014-10-13 14:45:41' == \ device_attrs[ATTR_CREATED_AT] assert '123456' == \ device_attrs[ATTR_SUBSCRIPTION_ID]