コード例 #1
0
async def test_invalid_credential(mock_get, mock_post, hass):
    """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: "******",
        })
    }
    assert get_scanner(hass, config) is None
コード例 #2
0
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")
コード例 #3
0
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"
コード例 #4
0
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'
コード例 #5
0
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")