コード例 #1
0
def test_inboxes():
    user, password = "******", "p1"
    resp = {"inbox_list": ["a", "b"]}
    client = LathermailClient(user, password)

    @httmock.all_requests
    def inboxes_mock(url, request):
        assert url.path == "/api/0/inboxes"
        assert request.headers["X-Mail-Password"] == password
        assert "X-Mail-Inbox" not in request.headers
        return json_response(resp)


    with httmock.HTTMock(inboxes_mock):
        assert client.get_inboxes() == resp["inbox_list"]
        password = "******"
        assert client.get_inboxes(password) == resp["inbox_list"]
コード例 #2
0
def test_exceptions():
    user, password = "******", "p1"
    client = LathermailClient(user, password)
    resp = None

    @httmock.all_requests
    def req_mock(url, request):
        return resp

    with httmock.HTTMock(req_mock):
        for code in 400, 403, 500:
            resp = json_response({"a": "b"}, code)
            with pytest.raises(InvalidStatus) as e:
                client.get_inboxes()
            assert e.value.code == code

        content = b"<html>not json here </html>"
        resp = httmock.response(200, content=content)
        with pytest.raises(LathermailError) as e:
            client.get_inboxes()
        assert content.decode("utf8") in repr(e.value)