コード例 #1
0
 def testRequest_failOnClientError(self):
     self.http.request.side_effect = [
         Response(400, 'Bad request!'),
         Response(200, 'This is not called.')
     ]
     with self.assertRaises(request.ClientError):
         request.Request('http://example.com/')
コード例 #2
0
def Request(method, **kwargs):
    """Send a request to some buildbucket service method."""
    kwargs.setdefault('use_auth', True)
    kwargs.setdefault('method', 'POST')
    kwargs.setdefault('content_type', 'json')
    kwargs.setdefault('accept', 'json')
    return request.Request(SERVICE_URL + method, **kwargs)
コード例 #3
0
 def testRequest_simple(self):
     self.http.request.return_value = Response(200, 'OK!')
     self.assertEqual(request.Request('http://example.com/'), 'OK!')
     self.http.request.assert_called_once_with('http://example.com/',
                                               method='GET',
                                               body=None,
                                               headers=mock.ANY)
コード例 #4
0
 def testRequest_retryOnServerError(self):
     self.http.request.side_effect = [
         Response(500, 'Oops. Something went wrong!'),
         Response(200, 'All is now OK.')
     ]
     self.assertEqual(request.Request('http://example.com/'),
                      'All is now OK.')
コード例 #5
0
 def testRequest_acceptJsonWithSecurityPrefix(self):
     self.http.request.return_value = Response(200, ')]}\'{"code": "ok!"}')
     self.assertEqual(request.Request('http://example.com/', accept='json'),
                      {'code': 'ok!'})
     self.http.request.assert_called_once_with('http://example.com/',
                                               method='GET',
                                               body=None,
                                               headers=mock.ANY)
コード例 #6
0
 def testRequest_postWithJsonData(self):
   self.http.request.return_value = Response(200, 'OK!')
   self.assertEqual(request.Request(
       'http://example.com/', data={'q': 'foo'}, content_type='json',
       method='POST'), 'OK!')
   self.http.request.assert_called_once_with(
       'http://example.com/', method='POST', body='{"q":"foo"}',
       headers=mock.ANY)
コード例 #7
0
 def testRequest_withLuciAuth(self, get_access_token):
   get_access_token.return_value = 'access-token'
   self.http.request.return_value = Response(200, 'OK!')
   self.assertEqual(
       request.Request('http://example.com/', use_auth=True), 'OK!')
   self.http.request.assert_called_once_with(
       'http://example.com/', method='GET', body=None, headers={
           'Content-Length': '0',
           'Authorization': 'Bearer access-token'})
コード例 #8
0
 def testRequest_postWithParams(self):
     self.http.request.return_value = Response(200, 'OK!')
     self.assertEqual(
         request.Request('http://example.com/',
                         params={'q': 'foo'},
                         method='POST'), 'OK!')
     self.http.request.assert_called_once_with('http://example.com/?q=foo',
                                               method='POST',
                                               body=None,
                                               headers=mock.ANY)
コード例 #9
0
def _RetrieveCompressed(digest):
    """Retrieve the compressed content stored at some isolate digest."""
    data = Request('/retrieve',
                   method='POST',
                   content_type='json',
                   data={
                       'namespace': {
                           'namespace': 'default-gzip'
                       },
                       'digest': digest
                   })

    if 'url' in data:
        return request.Request(data['url'])
    if 'content' in data:
        return base64.b64decode(data['content'])
    else:
        raise NotImplementedError('Isolate %s in unknown format %s' %
                                  (digest, json.dumps(data)))
コード例 #10
0
def Request(endpoint, **kwargs):
    """Send a request to some pinpoint endpoint."""
    kwargs.setdefault('use_auth', True)
    kwargs.setdefault('accept', 'json')
    return request.Request(SERVICE_URL + endpoint, **kwargs)
コード例 #11
0
def Request(endpoint, **kwargs):
    """Send a request to some dashboard service endpoint."""
    kwargs.setdefault('use_auth', True)
    kwargs.setdefault('method', 'POST')
    kwargs.setdefault('accept', 'json')
    return request.Request(SERVICE_URL + endpoint, **kwargs)