def test_putFile(self):
     """test_asyncutils | putFile
     """
     payload = {'a': 'b'}
     session = getFakeSession(payload=payload)
     result = asyncio.get_event_loop().run_until_complete(
         asyncutils.putFile(__file__, "http://example.com",
                            "text/plain", session=session)
     )
     result_json = yield from result.json()
     self.assertEqual(result_json, payload)
    def test_success(self):
        """test_asyncclient | success
        """
        payload = '{"clientScopes": ["a"]}'
        session = getFakeSession(payload=payload)
        client = newClient(session=session)

        result = asyncio.get_event_loop().run_until_complete(
            client.makeHttpRequest('get', 'http://example.com',
                                   '{"clientScopes": ["a"]}', {})
        )
        self.assertEqual(payload, result)
    def test_status_204(self):
        """test_asyncclient | 204 status
        """
        session = getFakeSession(status=204)
        client = newClient(session=session)

        response = asyncio.get_event_loop().run_until_complete(
            client._makeHttpRequest('get', 'http://example.com',
                                    '{"clientScopes": ["a"]}',
                                    {}, session=session)
        )
        pprint.pprint(response)
        self.assertTrue(response is None)
    def test_bad_json_status_404(self):
        """test_asyncclient | bad json non-200 status
        """
        response = FakeResponse('get', 'url', status=404)

        async def bad_json(*args, **kwargs):
            raise ValueError("blah")

        response.json = bad_json
        session = getFakeSession(response=response)
        client = newClient(session=session)

        with self.assertRaises(exceptions.TaskclusterRestFailure):
            asyncio.get_event_loop().run_until_complete(
                client._makeHttpRequest('get', 'http://example.com',
                                        '{"clientScopes": ["a"]}',
                                        {}, session=session)
            )
    def test_bad_json_status_200(self):
        """test_asyncclient | bad json 200 status
        """
        response = FakeResponse('get', 'url')

        async def bad_json(*args, **kwargs):
            raise ValueError("blah")

        response.json = bad_json
        session = getFakeSession(response=response)
        client = newClient(session=session)

        result = asyncio.get_event_loop().run_until_complete(
            client._makeHttpRequest('get', 'http://example.com',
                                    '{"clientScopes": ["a"]}',
                                    {}, session=session)
        )
        self.assertEqual(result, {'response': response})