コード例 #1
0
ファイル: test_config_flow.py プロジェクト: dcnielsen90/core
async def test_flow_works(hass):
    """Test config flow works."""
    config = {
        const.HMIPC_HAPID: "ABC123",
        const.HMIPC_PIN: "123",
        const.HMIPC_NAME: "hmip",
    }
    flow = config_flow.HomematicipCloudFlowHandler()
    flow.hass = hass

    hap = hmipc.HomematicipAuth(hass, config)
    with patch.object(hap, "get_auth", return_value=mock_coro()), patch.object(
            hmipc.HomematicipAuth,
            "async_checkbutton",
            return_value=mock_coro(True)), patch.object(
                hmipc.HomematicipAuth,
                "async_setup",
                return_value=mock_coro(True)), patch.object(
                    hmipc.HomematicipAuth,
                    "async_register",
                    return_value=mock_coro(True)):
        hap.authtoken = "ABC"
        result = await flow.async_step_init(user_input=config)

        assert hap.authtoken == "ABC"
        assert result["type"] == "create_entry"
コード例 #2
0
async def test_init_flow_show_form(hass):
    """Test config flow shows up with a form."""
    flow = config_flow.HomematicipCloudFlowHandler()
    flow.hass = hass

    result = await flow.async_step_init(user_input=None)
    assert result['type'] == 'form'
コード例 #3
0
async def test_flow_init_connection_error(hass):
    """Test config flow with accesspoint connection error."""
    config = {
        const.HMIPC_HAPID: 'ABC123',
        const.HMIPC_PIN: '123',
        const.HMIPC_NAME: 'hmip',
    }
    flow = config_flow.HomematicipCloudFlowHandler()
    flow.hass = hass

    with patch.object(hmipc.HomematicipAuth, 'async_setup',
                      return_value=mock_coro(False)):
        result = await flow.async_step_init(user_input=config)
        assert result['type'] == 'form'
コード例 #4
0
async def test_init_already_configured(hass):
    """Test accesspoint is already configured."""
    MockConfigEntry(domain=const.DOMAIN, data={
        const.HMIPC_HAPID: 'ABC123',
    }).add_to_hass(hass)
    config = {
        const.HMIPC_HAPID: 'ABC123',
        const.HMIPC_PIN: '123',
        const.HMIPC_NAME: 'hmip',
    }

    flow = config_flow.HomematicipCloudFlowHandler()
    flow.hass = hass

    result = await flow.async_step_init(user_input=config)
    assert result['type'] == 'abort'
コード例 #5
0
async def test_import_existing_config(hass):
    """Test abort of an existing accesspoint from config."""
    flow = config_flow.HomematicipCloudFlowHandler()
    flow.hass = hass

    MockConfigEntry(domain=const.DOMAIN, data={
        hmipc.HMIPC_HAPID: 'ABC123',
    }).add_to_hass(hass)

    result = await flow.async_step_import({
        hmipc.HMIPC_HAPID: 'ABC123',
        hmipc.HMIPC_AUTHTOKEN: '123',
        hmipc.HMIPC_NAME: 'hmip'
    })

    assert result['type'] == 'abort'
コード例 #6
0
async def test_flow_link_press_button(hass):
    """Test config flow ask for pressing the blue button."""
    config = {
        const.HMIPC_HAPID: 'ABC123',
        const.HMIPC_PIN: '123',
        const.HMIPC_NAME: 'hmip',
    }
    flow = config_flow.HomematicipCloudFlowHandler()
    flow.hass = hass

    with patch.object(hmipc.HomematicipAuth, 'async_setup',
                      return_value=mock_coro(True)), \
        patch.object(hmipc.HomematicipAuth, 'async_checkbutton',
                     return_value=mock_coro(False)):
        result = await flow.async_step_init(user_input=config)
        assert result['type'] == 'form'
        assert result['errors'] == {'base': 'press_the_button'}
コード例 #7
0
async def test_flow_link_connection_error(hass):
    """Test config flow client registration connection error."""
    config = {
        const.HMIPC_HAPID: 'ABC123',
        const.HMIPC_PIN: '123',
        const.HMIPC_NAME: 'hmip',
    }
    flow = config_flow.HomematicipCloudFlowHandler()
    flow.hass = hass

    with patch.object(hmipc.HomematicipAuth, 'async_setup',
                      return_value=mock_coro(True)), \
        patch.object(hmipc.HomematicipAuth, 'async_checkbutton',
                     return_value=mock_coro(True)), \
        patch.object(hmipc.HomematicipAuth, 'async_register',
                     return_value=mock_coro(False)):
        result = await flow.async_step_init(user_input=config)
        assert result['type'] == 'abort'
コード例 #8
0
async def test_import_config(hass):
    """Test importing a host with an existing config file."""
    flow = config_flow.HomematicipCloudFlowHandler()
    flow.hass = hass

    result = await flow.async_step_import({
        hmipc.HMIPC_HAPID: 'ABC123',
        hmipc.HMIPC_AUTHTOKEN: '123',
        hmipc.HMIPC_NAME: 'hmip'
    })

    assert result['type'] == 'create_entry'
    assert result['title'] == 'ABC123'
    assert result['data'] == {
        hmipc.HMIPC_HAPID: 'ABC123',
        hmipc.HMIPC_AUTHTOKEN: '123',
        hmipc.HMIPC_NAME: 'hmip'
    }
コード例 #9
0
ファイル: test_config_flow.py プロジェクト: dcnielsen90/core
async def test_import_config(hass):
    """Test importing a host with an existing config file."""
    flow = config_flow.HomematicipCloudFlowHandler()
    flow.hass = hass

    result = await flow.async_step_import({
        hmipc.HMIPC_HAPID: "ABC123",
        hmipc.HMIPC_AUTHTOKEN: "123",
        hmipc.HMIPC_NAME: "hmip",
    })

    assert result["type"] == "create_entry"
    assert result["title"] == "ABC123"
    assert result["data"] == {
        hmipc.HMIPC_HAPID: "ABC123",
        hmipc.HMIPC_AUTHTOKEN: "123",
        hmipc.HMIPC_NAME: "hmip",
    }
コード例 #10
0
ファイル: test_config_flow.py プロジェクト: dcnielsen90/core
async def test_flow_link_press_button(hass):
    """Test config flow ask for pressing the blue button."""
    config = {
        const.HMIPC_HAPID: "ABC123",
        const.HMIPC_PIN: "123",
        const.HMIPC_NAME: "hmip",
    }
    flow = config_flow.HomematicipCloudFlowHandler()
    flow.hass = hass

    with patch.object(hmipc.HomematicipAuth,
                      "async_setup",
                      return_value=mock_coro(True)), patch.object(
                          hmipc.HomematicipAuth,
                          "async_checkbutton",
                          return_value=mock_coro(False)):
        result = await flow.async_step_init(user_input=config)
        assert result["type"] == "form"
        assert result["errors"] == {"base": "press_the_button"}
コード例 #11
0
ファイル: test_config_flow.py プロジェクト: dcnielsen90/core
async def test_flow_link_connection_error(hass):
    """Test config flow client registration connection error."""
    config = {
        const.HMIPC_HAPID: "ABC123",
        const.HMIPC_PIN: "123",
        const.HMIPC_NAME: "hmip",
    }
    flow = config_flow.HomematicipCloudFlowHandler()
    flow.hass = hass

    with patch.object(hmipc.HomematicipAuth,
                      "async_setup",
                      return_value=mock_coro(True)), patch.object(
                          hmipc.HomematicipAuth,
                          "async_checkbutton",
                          return_value=mock_coro(True)), patch.object(
                              hmipc.HomematicipAuth,
                              "async_register",
                              return_value=mock_coro(False)):
        result = await flow.async_step_init(user_input=config)
        assert result["type"] == "abort"
コード例 #12
0
async def test_flow_works(hass):
    """Test config flow works."""
    config = {
        const.HMIPC_HAPID: 'ABC123',
        const.HMIPC_PIN: '123',
        const.HMIPC_NAME: 'hmip',
    }
    flow = config_flow.HomematicipCloudFlowHandler()
    flow.hass = hass

    hap = hmipc.HomematicipAuth(hass, config)
    with patch.object(hap, 'get_auth', return_value=mock_coro()), \
            patch.object(hmipc.HomematicipAuth, 'async_checkbutton',
                         return_value=mock_coro(True)), \
            patch.object(hmipc.HomematicipAuth, 'async_register',
                         return_value=mock_coro(True)):
        hap.authtoken = 'ABC'
        result = await flow.async_step_init(user_input=config)

        assert hap.authtoken == 'ABC'
        assert result['type'] == 'create_entry'