def test_no_redirect_json(self, mock_req): self.setup_redirects(mock_req, final_kwargs={'text': fake_response_json}) xport = transport.Transport(redirect=False) self.assertRaises(exceptions.InvalidResponse, xport.get, self.REDIRECT_CHAIN[0])
def test_get_redirect(self, mock_req): self.setup_redirects(mock_req) xport = transport.Transport() resp = xport.get(self.REDIRECT_CHAIN[-2], accept=None) self.assertResponseOK(resp, body=fake_response)
def test_post_keeps_correct_method(self, mock_req): self.setup_redirects(mock_req, method="POST", status_code=301) xport = transport.Transport() resp = xport.post(self.REDIRECT_CHAIN[-2], accept=None) self.assertResponseOK(resp, body=fake_response)
def test_redirect_limit(self): self.setup_redirects() for i in (1, 2): xport = transport.Transport(redirect=i) resp = xport.get(self.REDIRECT_CHAIN[0], accept=None) self.assertResponseOK(resp, status=305, body=fake_redirect) self.assertEqual(self.REDIRECT_CHAIN[i], resp.url)
def test_get_redirect_json(self): self.setup_redirects( final_kwargs={'body': fake_response_json}, ) xport = transport.Transport() resp = xport.get(self.REDIRECT_CHAIN[-2]) self.assertResponseOK(resp, body=fake_response_json)
def test_request_json(self): self.stub_url(httpretty.GET, json=fake_record1) xport = transport.Transport() resp = xport.request('GET', self.TEST_URL, accept=None) self.assertEqual(httpretty.GET, httpretty.last_request().method) self.assertResponseOK(resp, body=json.dumps(fake_record1)) self.assertEqual(fake_record1, resp.json())
def setUp(self): super(TestObjectStoreProxy, self).setUp() self.transport = transport.Transport(accept=transport.JSON) self.auth = fakes.FakeAuthenticator() self.session = session.Session(self.transport, self.auth) self.proxy = _proxy.Proxy(self.session)
def test_head(self, mock_req): mock_req.head(self.TEST_URL, text="") xport = transport.Transport() resp = xport.head(self.TEST_URL, accept=None) self.assertEqual("HEAD", mock_req.last_request.method) self.assertResponseOK(resp, body='')
def test_no_redirect(self, mock_req): self.setup_redirects(mock_req) xport = transport.Transport(redirect=False) resp = xport.get(self.REDIRECT_CHAIN[0], accept=None) self.assertEqual(305, resp.status_code) self.assertEqual(self.REDIRECT_CHAIN[0], resp.url)
def test_request_accept(self): fake_record1_str = json.dumps(fake_record1) self.stub_url(httpretty.POST, body=fake_record1_str) xport = transport.Transport() resp = xport.post(self.TEST_URL, json=fake_record2, accept=None) self.assertRequestHeaderEqual('Accept', '*/*') self.assertEqual(fake_record1, resp.json()) resp = xport.post(self.TEST_URL, json=fake_record2, accept=transport.JSON) self.assertRequestHeaderEqual('Accept', transport.JSON) self.assertEqual(fake_record1, resp.json()) xport = transport.Transport(accept=transport.JSON) resp = xport.post(self.TEST_URL, json=fake_record2) self.assertRequestHeaderEqual('Accept', transport.JSON) self.assertEqual(fake_record1, resp.json())
def setUp(self): super(TestConnection, self).setUp() self.xport = transport.Transport() self.auth = v2.Token(auth_url='http://127.0.0.1/v2', token='b') self.prof = profile.Profile() self.conn = connection.Connection(authenticator=mock.MagicMock(), transport=mock.MagicMock()) self.conn.session = mock.MagicMock()
def test_redirect_forever(self): self.setup_redirects() xport = transport.Transport() resp = xport.get(self.REDIRECT_CHAIN[0], accept=None) self.assertResponseOK(resp) # Request history length is 1 less than the source chain due to the # last response not being a redirect and not added to the history. self.assertEqual(len(self.REDIRECT_CHAIN) - 1, len(resp.history))
def test_not_found(self): xport = transport.Transport() status = 404 self.stub_url(httpretty.GET, status=status) exc = self.assertRaises(exceptions.HttpException, xport.get, self.TEST_URL) self.assertEqual(status, exc.status_code)
def test_user_agent_arg_none(self): # None gets converted to the transport.USER_AGENT by default. self.stub_url(httpretty.GET, body=fake_response) xport = transport.Transport(user_agent=None) resp = xport.get(self.TEST_URL, accept=None) self.assertTrue(resp.ok) self.assertRequestHeaderEqual('User-Agent', self.test_user_agent)
def test_get(self, mock_req): mock_req.get(self.TEST_URL, text=fake_response) xport = transport.Transport() resp = xport.get(self.TEST_URL, accept=None) self.assertEqual("GET", mock_req.last_request.method) self.assertResponseOK(resp, body=fake_response)
def test_server_error(self): xport = transport.Transport() status = 500 self.stub_url(httpretty.GET, status=500) exc = self.assertRaises(exceptions.HttpException, xport.get, self.TEST_URL) self.assertEqual(status, exc.status_code)
def test_server_error(self, mock_req): xport = transport.Transport() status = 500 mock_req.get(self.TEST_URL, status_code=500) exc = self.assertRaises(exceptions.HttpException, xport.get, self.TEST_URL) self.assertEqual(status, exc.status_code)
def test_user_agent_arg_default(self): self.stub_url(httpretty.GET, body=fake_response) agent = 'test-agent' xport = transport.Transport(user_agent=agent) resp = xport.get(self.TEST_URL, accept=None) self.assertTrue(resp.ok) self.assertRequestHeaderEqual('User-Agent', '%s %s' % ( agent, self.test_user_agent))
def test_not_found(self, mock_req): xport = transport.Transport() status = 404 mock_req.get(self.TEST_URL, status_code=status) exc = self.assertRaises(exceptions.NotFoundException, xport.get, self.TEST_URL) self.assertEqual(status, exc.status_code)
def test_post_keeps_correct_method_json(self): self.setup_redirects( method=httpretty.POST, status=301, final_kwargs={'body': fake_response_json}, ) xport = transport.Transport() resp = xport.post(self.REDIRECT_CHAIN[-2]) self.assertResponseOK(resp, body=fake_response_json)
def test_request_json(self, mock_req): mock_req.get(self.TEST_URL, json=fake_record1) req = "GET" xport = transport.Transport() resp = xport.request(req, self.TEST_URL, accept=None) self.assertEqual(req, mock_req.last_request.method) self.assertResponseOK(resp, body=json.dumps(fake_record1)) self.assertEqual(fake_record1, resp.json())
def test_post(self): self.stub_url(httpretty.POST, body=fake_response_json) xport = transport.Transport() resp = xport.post(self.TEST_URL, json=fake_record2) self.assertEqual(httpretty.POST, httpretty.last_request().method) self.assertEqual( json.dumps(fake_record2), httpretty.last_request().body.decode('utf-8'), ) self.assertResponseOK(resp, body=fake_response_json)
def test_post_keeps_correct_method_json(self, mock_req): self.setup_redirects(mock_req, method="POST", status_code=301, final_kwargs={'text': fake_response_json}) xport = transport.Transport() resp = xport.post(self.REDIRECT_CHAIN[-2]) self.assertResponseOK(resp, body=fake_response_json)
def test_user_agent_arg_none(self, mock_req): # None gets converted to the transport.USER_AGENT by default. mock_req.get(self.TEST_URL, text=fake_response) xport = transport.Transport(user_agent=None) resp = xport.get(self.TEST_URL, accept=None) self.assertTrue(resp.ok) self.assertRequestHeaderEqual(mock_req, 'User-Agent', self.test_user_agent)
def test_user_agent_arg_default(self, mock_req): mock_req.get(self.TEST_URL, text=fake_response) agent = 'test-agent' xport = transport.Transport(user_agent=agent) resp = xport.get(self.TEST_URL, accept=None) self.assertTrue(resp.ok) self.assertRequestHeaderEqual(mock_req, 'User-Agent', '%s %s' % (agent, self.test_user_agent))
def test_no_redirect_json(self): self.setup_redirects( final_kwargs={'body': fake_response_json}, ) xport = transport.Transport(redirect=False) self.assertRaises( exceptions.InvalidResponse, xport.get, self.REDIRECT_CHAIN[0], )
def test_redirect_forever_json(self): self.setup_redirects( final_kwargs={'body': fake_response_json}, ) xport = transport.Transport() resp = xport.get(self.REDIRECT_CHAIN[0]) self.assertResponseOK(resp) # Request history length is 1 less than the source chain due to the # last response not being a redirect and not added to the history. self.assertEqual(len(self.REDIRECT_CHAIN) - 1, len(resp.history))
def test_user_agent_no_arg(self): self.stub_url(httpretty.GET, body=fake_response) xport = transport.Transport() resp = xport.get(self.TEST_URL, accept=None) self.assertTrue(resp.ok) self.assertRequestHeaderEqual('User-Agent', self.test_user_agent) resp = xport.get(self.TEST_URL, headers={'User-Agent': None}, accept=None) self.assertTrue(resp.ok) self.assertRequestHeaderEqual('User-Agent', None) resp = xport.get(self.TEST_URL, user_agent=None, accept=None) self.assertTrue(resp.ok) self.assertRequestHeaderEqual('User-Agent', self.test_user_agent) resp = xport.get(self.TEST_URL, headers={'User-Agent': ''}, accept=None) self.assertTrue(resp.ok) self.assertRequestHeaderEqual('User-Agent', '') resp = xport.get(self.TEST_URL, user_agent='', accept=None) self.assertTrue(resp.ok) self.assertRequestHeaderEqual('User-Agent', self.test_user_agent) new_agent = 'new-agent' resp = xport.get(self.TEST_URL, headers={'User-Agent': new_agent}, accept=None) self.assertTrue(resp.ok) self.assertRequestHeaderEqual('User-Agent', new_agent) resp = xport.get(self.TEST_URL, user_agent=new_agent, accept=None) self.assertTrue(resp.ok) self.assertRequestHeaderEqual('User-Agent', '%s %s' % ( new_agent, self.test_user_agent)) custom_value = 'new-agent' resp = xport.get(self.TEST_URL, headers={'User-Agent': custom_value}, user_agent=None, accept=None) self.assertTrue(resp.ok) self.assertRequestHeaderEqual('User-Agent', custom_value) override = 'overrides-agent' resp = xport.get(self.TEST_URL, headers={'User-Agent': None}, user_agent=override, accept=None) self.assertTrue(resp.ok) self.assertRequestHeaderEqual('User-Agent', '%s %s' % ( override, self.test_user_agent)) resp = xport.get(self.TEST_URL, headers={'User-Agent': custom_value}, user_agent=override, accept=None) self.assertTrue(resp.ok) self.assertRequestHeaderEqual('User-Agent', '%s %s' % ( override, self.test_user_agent))
def authenticate(**kwargs): '''Authenticate using openstack sdk based on user credential''' try: auth = create_connection(kwargs).session.authenticator xport = transport.Transport() access_info = auth.authorize(xport) except Exception as ex: raise parse_exception(ex) return access_info
def test_put(self): self.stub_url(httpretty.PUT, body=fake_response) xport = transport.Transport() resp = xport.put(self.TEST_URL, data=fake_request, accept=None) self.assertEqual(httpretty.PUT, httpretty.last_request().method) self.assertEqual( fake_request, httpretty.last_request().body.decode('utf-8'), ) self.assertResponseOK(resp, body=fake_response)