def test_invalid_credential(self, mock_get, mock_post): """Testing invalid credential handling.""" config = { DOMAIN: xiaomi.PLATFORM_SCHEMA({ CONF_PLATFORM: xiaomi.DOMAIN, CONF_HOST: '192.168.0.1', CONF_USERNAME: INVALID_USERNAME, CONF_PASSWORD: '******' }) } self.assertIsNone(get_scanner(self.hass, config))
def test_valid_credential(self, mock_get, mock_post): """Testing valid refresh.""" config = { DOMAIN: xiaomi.PLATFORM_SCHEMA({ CONF_PLATFORM: xiaomi.DOMAIN, CONF_HOST: '192.168.0.1', CONF_USERNAME: '******', CONF_PASSWORD: '******' }) } scanner = get_scanner(self.hass, config) self.assertIsNotNone(scanner) self.assertEqual(2, len(scanner.scan_devices())) self.assertEqual("Device1", scanner.get_device_name("23:83:BF:F6:38:A0")) self.assertEqual("Device2", scanner.get_device_name("1D:98:EC:5E:D5:A6"))
def test_config(self, xiaomi_mock): """Testing minimal configuration.""" config = { DOMAIN: xiaomi.PLATFORM_SCHEMA({ CONF_PLATFORM: xiaomi.DOMAIN, CONF_HOST: '192.168.0.1', CONF_PASSWORD: '******' }) } xiaomi.get_scanner(self.hass, config) self.assertEqual(xiaomi_mock.call_count, 1) self.assertEqual(xiaomi_mock.call_args, mock.call(config[DOMAIN])) call_arg = xiaomi_mock.call_args[0][0] self.assertEqual(call_arg['username'], 'admin') self.assertEqual(call_arg['password'], 'passwordTest') self.assertEqual(call_arg['host'], '192.168.0.1') self.assertEqual(call_arg['platform'], 'device_tracker')
async def test_valid_credential(mock_get, mock_post, hass): """Testing valid refresh.""" config = { DOMAIN: xiaomi.PLATFORM_SCHEMA({ CONF_PLATFORM: xiaomi.DOMAIN, CONF_HOST: '192.168.0.1', CONF_USERNAME: '******', CONF_PASSWORD: '******' }) } scanner = get_scanner(hass, config) assert scanner is not None assert 2 == len(scanner.scan_devices()) assert "Device1" == \ scanner.get_device_name("23:83:BF:F6:38:A0") assert "Device2" == \ scanner.get_device_name("1D:98:EC:5E:D5:A6")
async def test_config(xiaomi_mock, hass): """Testing minimal configuration.""" config = { DOMAIN: xiaomi.PLATFORM_SCHEMA({ CONF_PLATFORM: xiaomi.DOMAIN, CONF_HOST: '192.168.0.1', CONF_PASSWORD: '******' }) } xiaomi.get_scanner(hass, config) assert xiaomi_mock.call_count == 1 assert xiaomi_mock.call_args == mock.call(config[DOMAIN]) call_arg = xiaomi_mock.call_args[0][0] assert call_arg['username'] == 'admin' assert call_arg['password'] == 'passwordTest' assert call_arg['host'] == '192.168.0.1' assert call_arg['platform'] == 'device_tracker'
def test_config_full(self, xiaomi_mock): """Testing full configuration.""" config = { DOMAIN: xiaomi.PLATFORM_SCHEMA({ CONF_PLATFORM: xiaomi.DOMAIN, CONF_HOST: '192.168.0.1', CONF_USERNAME: '******', CONF_PASSWORD: '******' }) } xiaomi.get_scanner(self.hass, config) assert xiaomi_mock.call_count == 1 assert xiaomi_mock.call_args == mock.call(config[DOMAIN]) call_arg = xiaomi_mock.call_args[0][0] assert call_arg['username'] == 'alternativeAdminName' assert call_arg['password'] == 'passwordTest' assert call_arg['host'] == '192.168.0.1' assert call_arg['platform'] == 'device_tracker'
def test_token_timed_out(self, mock_get, mock_post): """Testing refresh with a timed out token. New token is requested and list is downloaded a second time. """ config = { DOMAIN: xiaomi.PLATFORM_SCHEMA({ CONF_PLATFORM: xiaomi.DOMAIN, CONF_HOST: '192.168.0.1', CONF_USERNAME: TOKEN_TIMEOUT_USERNAME, CONF_PASSWORD: '******' }) } scanner = get_scanner(self.hass, config) self.assertIsNotNone(scanner) self.assertEqual(2, len(scanner.scan_devices())) self.assertEqual("Device1", scanner.get_device_name("23:83:BF:F6:38:A0")) self.assertEqual("Device2", scanner.get_device_name("1D:98:EC:5E:D5:A6"))
async def test_token_timed_out(mock_get, mock_post, hass): """Testing refresh with a timed out token. New token is requested and list is downloaded a second time. """ config = { DOMAIN: xiaomi.PLATFORM_SCHEMA({ CONF_PLATFORM: xiaomi.DOMAIN, CONF_HOST: '192.168.0.1', CONF_USERNAME: TOKEN_TIMEOUT_USERNAME, CONF_PASSWORD: '******' }) } scanner = get_scanner(hass, config) assert scanner is not None assert 2 == len(scanner.scan_devices()) assert "Device1" == \ scanner.get_device_name("23:83:BF:F6:38:A0") assert "Device2" == \ scanner.get_device_name("1D:98:EC:5E:D5:A6")