示例#1
0
    def test_delete_parses_response_json(self):
        self.stub_delete_requests(response_body='{"deleted": true}', )
        client = Client(access_token="abc123")

        response = client.delete("/messages/1")

        self.assertEqual(response.deleted, True)
示例#2
0
    def test_get_uses_custom_base_url(self):
        self.stub_get_requests()
        client = Client(access_token="1a2bc3", base_url="https://example.com")

        client.get("/messages")

        self.assert_get_request("https://example.com/messages.json")
示例#3
0
    def test_get_uses_default_base_url(self):
        self.stub_get_requests()
        client = Client(access_token="abc123")

        client.get("/messages")

        self.assert_get_request("https://www.yammer.com/api/v1/messages.json")
示例#4
0
    def test_delete_handles_success_with_a_blank_body(self):
        self.stub_delete_requests(response_status=200, response_body=" ")
        client = Client(access_token="foobar")

        response = client.delete("/messages/123")

        self.assertEquals(response, True)
示例#5
0
    def test_delete_handles_success_with_a_blank_body(self):
        self.stub_delete_requests(response_status=200, response_body=" ")
        client = Client(access_token="foobar")

        response = client.delete("/messages/123")

        self.assertEquals(response, True)
示例#6
0
    def test_put_uses_custom_base_url(self):
        self.stub_put_requests()
        client = Client(access_token="1a2bc3", base_url="http://example.com")

        client.put("/messages", body="Hello fake Yammer")

        self.assert_put_request("http://example.com/messages.json")
示例#7
0
    def test_put_uses_custom_base_url(self):
        self.stub_put_requests()
        client = Client(access_token="1a2bc3", base_url="http://example.com")

        client.put("/messages", body="Hello fake Yammer")

        self.assert_put_request("http://example.com/messages.json")
示例#8
0
    def test_get_uses_custom_base_url(self):
        self.stub_get_requests()
        client = Client(access_token="1a2bc3", base_url="https://example.com")

        client.get("/messages")

        self.assert_get_request("https://example.com/messages.json")
示例#9
0
    def test_put_uses_default_base_url(self):
        self.stub_put_requests()
        client = Client(access_token="abc123")

        client.put("/messages", body="Hello Yammer")

        self.assert_put_request("https://www.yammer.com/api/v1/messages.json")
示例#10
0
    def test_put_parses_response_json(self):
        self.stub_put_requests(
            response_body='{"messages": ["first", "second"]}', )
        client = Client(access_token="abc123")

        messages = client.put("/messages", body="Hello world")

        self.assertEqual(messages.messages, ["first", "second"])
示例#11
0
    def test_delete_uses_default_base_url(self):
        self.stub_delete_requests()
        client = Client(access_token="abc123")

        client.delete("/messages/1")

        self.assert_delete_request(
            "https://www.yammer.com/api/v1/messages/1.json")
示例#12
0
    def test_put_parses_response_json(self):
        self.stub_put_requests(
            response_body='{"messages": ["first", "second"]}',
        )
        client = Client(access_token="abc123")

        messages = client.put("/messages", body="Hello world")

        self.assertEqual(messages.messages, ["first", "second"])
示例#13
0
    def test_delete_parses_response_json(self):
        self.stub_delete_requests(
            response_body='{"deleted": true}',
        )
        client = Client(access_token="abc123")

        response = client.delete("/messages/1")

        self.assertEqual(response.deleted, True)
示例#14
0
    def test_delete_sends_query_string_parameters(self):
        self.stub_delete_requests()
        client = Client(access_token="456efg")

        client.delete("/messages/liked_by/current", message_id=12345)

        self.assert_delete_request(
            url="https://www.yammer.com/api/v1/messages/liked_by/current.json",
            params={"message_id": 12345},
        )
示例#15
0
    def test_get_sends_authorization_header(self):
        self.stub_get_requests()
        client = Client(access_token="abc123")

        client.get("/users/123")

        self.assert_get_request(
            url="https://www.yammer.com/api/v1/users/123.json",
            headers={"Authorization": "Bearer abc123"},
        )
示例#16
0
    def test_put_sends_authorization_header(self):
        self.stub_put_requests()
        client = Client(access_token="abc123")

        client.put("/messages", body="I am authorized")

        self.assert_put_request(
            url="https://www.yammer.com/api/v1/messages.json",
            headers={"Authorization": "Bearer abc123"},
        )
示例#17
0
    def test_put_sends_query_string_parameters(self):
        self.stub_put_requests()
        client = Client(access_token="456efg")

        client.put("/messages", body="Oh hai")

        self.assert_put_request(
            url="https://www.yammer.com/api/v1/messages.json",
            params={"body": "Oh hai"},
        )
示例#18
0
    def test_put_handles_created_responses(self):
        self.stub_put_requests(
            response_status=201,
            response_body='{"status": "OK"}',
        )
        client = Client(access_token="456efg")

        response = client.put("/messages", body="A-OK")

        self.assertEqual(response, {"status": "OK"})
示例#19
0
    def test_get_does_not_send_authorization_header_with_no_token(self):
        self.stub_get_requests()
        client = Client(access_token=None)

        client.get("/messages")

        self.assert_get_request(
            url="https://www.yammer.com/api/v1/messages.json",
            headers={},
        )
示例#20
0
    def test_get_sends_query_string_parameters(self):
        self.stub_get_requests()
        client = Client(access_token="456efg")

        client.get("/users/by_email", email="*****@*****.**")

        self.assert_get_request(
            url="https://www.yammer.com/api/v1/users/by_email.json",
            params={"email": "*****@*****.**"},
        )
示例#21
0
    def test_delete_sends_query_string_parameters(self):
        self.stub_delete_requests()
        client = Client(access_token="456efg")

        client.delete("/messages/liked_by/current", message_id=12345)

        self.assert_delete_request(
            url="https://www.yammer.com/api/v1/messages/liked_by/current.json",
            params={"message_id": 12345},
        )
示例#22
0
    def test_get_does_not_send_authorization_header_with_no_token(self):
        self.stub_get_requests()
        client = Client(access_token=None)

        client.get("/messages")

        self.assert_get_request(
            url="https://www.yammer.com/api/v1/messages.json",
            headers={},
        )
示例#23
0
    def test_get_sends_query_string_parameters(self):
        self.stub_get_requests()
        client = Client(access_token="456efg")

        client.get("/users/by_email", email="*****@*****.**")

        self.assert_get_request(
            url="https://www.yammer.com/api/v1/users/by_email.json",
            params={"email": "*****@*****.**"},
        )
示例#24
0
    def test_put_handles_created_responses(self):
        self.stub_put_requests(
            response_status=201,
            response_body='{"status": "OK"}',
        )
        client = Client(access_token="456efg")

        response = client.put("/messages", body="A-OK")

        self.assertEqual(response, {"status": "OK"})
示例#25
0
    def test_get_sends_authorization_header(self):
        self.stub_get_requests()
        client = Client(access_token="abc123")

        client.get("/users/123")

        self.assert_get_request(
            url="https://www.yammer.com/api/v1/users/123.json",
            headers={"Authorization": "Bearer abc123"},
        )
示例#26
0
    def test_put_sends_query_string_parameters(self):
        self.stub_put_requests()
        client = Client(access_token="456efg")

        client.put("/messages", body="Oh hai")

        self.assert_put_request(
            url="https://www.yammer.com/api/v1/messages.json",
            params={"body": "Oh hai"},
        )
示例#27
0
    def test_put_sends_authorization_header(self):
        self.stub_put_requests()
        client = Client(access_token="abc123")

        client.put("/messages", body="I am authorized")

        self.assert_put_request(
            url="https://www.yammer.com/api/v1/messages.json",
            headers={"Authorization": "Bearer abc123"},
        )
示例#28
0
    def test_post_handles_unexpected_http_responses(self):
        self.stub_post_requests(response_status=122)
        client = Client(access_token="abcdef")

        self.assertRaises(ResponseError,
                          client.post,
                          "/messages",
                          body="BOOM!")
示例#29
0
    def test_put_handles_rate_limit_error_responses(self):
        self.stub_put_requests(response_status=429)
        client = Client(access_token="abc")

        self.assertRaises(RateLimitExceededError,
                          client.put,
                          "/messages",
                          body="Do I talk too much?")
示例#30
0
    def test_get_handles_invalid_access_token_responses(self):
        self.stub_get_requests(
            response_status=400,
            response_body="""{
                "error": {
                    "type": "OAuthException",
                    "message": "Error validating access token."
                 }
             }""",
        )
        client = Client(access_token="456efg")

        self.assertRaises(InvalidAccessTokenError, client.get, "/messages")
示例#31
0
    def test_get_handles_unauthorized_responses(self):
        self.stub_get_requests(response_status=401)
        client = Client(access_token="456efg")

        self.assertRaises(UnauthorizedError, client.get, "/messages")
示例#32
0
    def test_put_handles_not_found_responses(self):
        self.stub_put_requests(response_status=404)
        client = Client(access_token="456efg")

        self.assertRaises(NotFoundError, client.put, "/not/real")
示例#33
0
    def test_delete_handles_rate_limit_error_responses(self):
        self.stub_delete_requests(response_status=429)
        client = Client(access_token="abc")

        self.assertRaises(RateLimitExceededError, client.delete, "/user/1")
示例#34
0
    def test_delete_handles_unexpected_http_responses(self):
        self.stub_delete_requests(response_status=500)
        client = Client(access_token="abcdef")

        self.assertRaises(ResponseError, client.delete, "/messages/1")