Exemplo n.º 1
0
def _urlopen(url: str,
             auth: Optional[tuple] = None,
             **kwargs: Dict) -> BinaryIO:
    response = httpx.get(url, follow_redirects=True, auth=auth, **kwargs)
    try:
        response.raise_for_status()
    except httpx.HTTPError as err:
        raise httpx.HTTPError(f"{response.content.decode()}") from err
    return io.BytesIO(response.content)
Exemplo n.º 2
0
async def test_request_catches_HTTPError(method, mock_cache, mocker):
    exc = httpx.HTTPError('Some error')
    mocker.patch.object(http._client, 'send', AsyncMock(side_effect=exc))
    url = 'http://localhost:12345/foo/bar/baz'
    with pytest.raises(errors.RequestError,
                       match=rf'^{url}: Some error$') as excinfo:
        await http._request(method=method, url=url)
    assert excinfo.value.status_code is None
    assert excinfo.value.headers == {}
def test_airtable_export_error(mocker):
    m = mocker.patch.object(cli, "httpx")
    m.get.return_value = mocker.Mock()
    m.get.return_value.status_code = 401
    m.get.return_value.raise_for_status.side_effect = httpx.HTTPError(
        "Unauthorized", request=None)
    runner = CliRunner()
    with runner.isolated_filesystem():
        result = runner.invoke(
            cli.cli,
            [".", "appZOGvNJPXCQ205F", "tablename", "-v", "--key", "x"])
        assert result.exit_code == 1
        assert result.stdout == "Error: Unauthorized\n"
Exemplo n.º 4
0
    def _handle_request(self, request: Request, *args, **kwargs) -> Response:
        self._requests.append(request)

        response = self._get_response(request)
        if response:
            return response

        callback = self._get_callback(request)
        if callback:
            return callback(request=request, *args, **kwargs)

        raise httpx.HTTPError(
            f"No mock can be found for {request.method} request on {request.url}.",
            request=request,
        )
Exemplo n.º 5
0
async def test_form_cannot_connect(hass: HomeAssistant) -> None:
    """Test we handle cannot connect error."""
    result = await hass.config_entries.flow.async_init(
        DOMAIN, context={"source": config_entries.SOURCE_USER})

    with patch(
            "homeassistant.components.iotawatt.config_flow.Iotawatt.connect",
            side_effect=httpx.HTTPError("any"),
    ):
        result2 = await hass.config_entries.flow.async_configure(
            result["flow_id"],
            {"host": "1.1.1.1"},
        )

    assert result2["type"] == RESULT_TYPE_FORM
    assert result2["errors"] == {"base": "cannot_connect"}
Exemplo n.º 6
0
async def test_form_cannot_connect(hass: HomeAssistant) -> None:
    """Test we handle cannot connect error."""
    result = await hass.config_entries.flow.async_init(
        DOMAIN, context={"source": config_entries.SOURCE_USER})

    with patch(
            "homeassistant.components.enphase_envoy.config_flow.EnvoyReader.getData",
            side_effect=httpx.HTTPError("any"),
    ):
        result2 = await hass.config_entries.flow.async_configure(
            result["flow_id"],
            {
                "host": "1.1.1.1",
                "username": "******",
                "password": "******",
            },
        )

    assert result2["type"] == "form"
    assert result2["errors"] == {"base": "cannot_connect"}
Exemplo n.º 7
0
async def test_get_stack_status_report_missing_statuses(
    scheduler: DynamicSidecarsScheduler,
    scheduler_data: SchedulerData,
    mock_service_running: AsyncMock,
    docker_swarm: None,
    mocked_dynamic_scheduler_events: None,
) -> None:
    async with _assert_get_dynamic_services_mocked(
            scheduler,
            scheduler_data,
            mock_service_running,
            expected_response=httpx.HTTPError("Mock raised error"),
    ) as stack_status:
        assert stack_status == RunningDynamicServiceDetails.from_scheduler_data(
            node_uuid=scheduler_data.node_uuid,
            scheduler_data=scheduler_data,
            service_state=ServiceState.STARTING,
            service_message=
            "There was an error while trying to fetch the stautes form the contianers",
        )
Exemplo n.º 8
0
    def _handle_request(
        self,
        method: bytes,
        url: URL,
        headers: Headers = None,
        stream: Union[httpcore.SyncByteStream,
                      httpcore.AsyncByteStream] = None,
        timeout: TimeoutDict = None,
    ) -> Response:
        request = to_request(method, url, headers, stream)
        self._requests.append(request)

        response = self._get_response(request)
        if response:
            return response

        callback = self._get_callback(request)
        if callback:
            return callback(request=request, timeout=timeout)

        raise httpx.HTTPError(
            f"No mock can be found for {request.method} request on {request.url}.",
            request=request,
        )