示例#1
0
 def test_queue_mgr_create_invalid(self):
     clt = self.client
     mgr = clt._manager
     name = utils.random_unicode()
     exp_uri = "/%s/%s" % (mgr.uri_base, name)
     resp = fakes.FakeResponse()
     resp.status_code = 400
     mgr.api.method_put = Mock(return_value=(resp, None))
     self.assertRaises(exc.InvalidQueueName, mgr.create, name)
示例#2
0
 def test_under_create_return_none(self):
     mgr = self.manager
     mgr.run_hooks = Mock()
     mgr.api.method_post = Mock()
     resp = fakes.FakeResponse()
     body = None
     mgr.api.method_post = Mock(return_value=(resp, body))
     ret = mgr._create(fake_url, "", return_none=True, return_raw=False)
     self.assertIsNone(ret)
     mgr.api.method_post.assert_called_once_with(fake_url, body="")
示例#3
0
 def test_queue_mgr_create(self):
     clt = self.client
     mgr = clt._manager
     name = utils.random_unicode()
     exp_uri = "/%s/%s" % (mgr.uri_base, name)
     resp = fakes.FakeResponse()
     resp.status_code = 201
     mgr.api.method_put = Mock(return_value=(resp, None))
     q = mgr.create(name)
     self.assertTrue(isinstance(q, Queue))
     self.assertEqual(q.name, name)
示例#4
0
 def test_request_exception(self):
     mthd = random.choice(self.http.req_methods.keys())
     sav_method = self.http.req_methods[mthd]
     resp = fakes.FakeResponse()
     resp.status_code = 404
     self.http.req_methods[mthd] = Mock(return_value=resp)
     uri = utils.random_unicode()
     hk = utils.random_unicode()
     hv = utils.random_unicode()
     headers = {hk: hv}
     self.assertRaises(exc.NotFound, self.http.request, mthd, uri,
             headers=headers)
示例#5
0
 def test_change_user_password(self):
     inst = self.instance
     fakename = utils.random_ascii()
     newpass = utils.random_ascii()
     resp = fakes.FakeResponse()
     resp.status_code = 202
     inst._user_manager.api.method_put = Mock(return_value=(resp, {}))
     fakeuser = fakes.FakeDatabaseUser(inst._user_manager, {"name": fakename})
     inst._user_manager.get = Mock(return_value=fakeuser)
     inst.change_user_password(fakename, newpass)
     inst._user_manager.api.method_put.assert_called_once_with(
             "/None/%s" % fakename, body={"user": {"password": newpass}})
示例#6
0
 def test_under_update(self):
     mgr = self.manager
     mgr.run_hooks = Mock()
     mgr.api.method_put = Mock()
     resp = fakes.FakeResponse()
     body = {"fakes": {"foo": "bar"}}
     mgr.api.method_put = Mock(return_value=(resp, body))
     mgr.resource_class = fakes.FakeEntity
     mgr.response_key = "fakes"
     ret = mgr._update(fake_url, "")
     mgr.api.method_put.assert_called_once_with(fake_url, body="")
     self.assertEqual(ret, body)
示例#7
0
 def test_under_list_post(self):
     mgr = self.manager
     resp = fakes.FakeResponse()
     body = {"fakes": {"foo": "bar"}}
     mgr.api.method_post = Mock(return_value=(resp, body))
     mgr.plural_response_key = "fakes"
     mgr.resource_class = fakes.FakeEntity
     ret = mgr._list(fake_url, body="test")
     mgr.api.method_post.assert_called_once_with(fake_url, body="test")
     self.assertTrue(isinstance(ret, list))
     self.assertEqual(len(ret), 1)
     self.assertTrue(isinstance(ret[0], fakes.FakeEntity))
示例#8
0
 def test_under_create_return_resource(self):
     mgr = self.manager
     mgr.run_hooks = Mock()
     mgr.api.method_post = Mock()
     resp = fakes.FakeResponse()
     body = {"fakes": {"foo": "bar"}}
     mgr.api.method_post = Mock(return_value=(resp, body))
     mgr.resource_class = fakes.FakeEntity
     mgr.response_key = "fakes"
     ret = mgr._create(fake_url, "", return_none=False, return_raw=False)
     self.assertTrue(isinstance(ret, fakes.FakeEntity))
     mgr.api.method_post.assert_called_once_with(fake_url, body="")
示例#9
0
 def test_from_response_with_body(self):
     fake_resp = fakes.FakeResponse()
     fake_resp.status = 666
     fake_body = {"error": {
             "message": "fake_message",
             "details": "fake_details"}}
     ret = exc.from_response(fake_resp, fake_body)
     self.assertTrue(isinstance(ret, exc.ClientException))
     self.assertEqual(ret.code, fake_resp.status)
     self.assertEqual(ret.message, "fake_message")
     self.assertEqual(ret.details, "fake_details")
     self.assertTrue("HTTP 666" in str(ret))
示例#10
0
 def test_request(self):
     mthd = random.choice(self.http.req_methods.keys())
     sav_method = self.http.req_methods[mthd]
     resp = fakes.FakeResponse()
     self.http.req_methods[mthd] = Mock(return_value=resp)
     uri = utils.random_unicode()
     hk = utils.random_unicode()
     hv = utils.random_unicode()
     headers = {hk: hv}
     self.http.request(mthd, uri, headers=headers)
     self.http.req_methods[mthd].assert_called_once_with(uri,
             headers=headers)
     self.http.req_methods[mthd] = sav_method
示例#11
0
 def test_request_400(self, mock_req, mock_from):
     clt = self.client
     clt.http_log_debug = False
     fakeresp = fakes.FakeResponse()
     fakeresp.status_code = 400
     body_content = {"one": 2, "three": 4}
     fakebody = json.dumps(body_content)
     fake_uri = utils.random_unicode()
     fake_method = utils.random_unicode()
     mock_req.return_value = (fakeresp, fakebody)
     mock_from.side_effect = fakes.FakeException
     self.assertRaises(fakes.FakeException, clt.request, fake_uri,
                       fake_method)
示例#12
0
 def test_request_ok(self):
     clt = self.client
     clt.http_log_debug = False
     fakeresp = fakes.FakeResponse()
     fakeresp.status = 200
     body_content = {"one": 2, "three": 4}
     fakebody = json.dumps(body_content)
     sav = httplib2.Http.request
     httplib2.Http.request = Mock(return_value=(fakeresp, fakebody))
     resp, body = clt.request(body="text")
     self.assertTrue(isinstance(resp, fakes.FakeResponse))
     self.assertEqual(resp.status, 200)
     self.assertEqual(body, body_content)
     httplib2.Http.request = sav
示例#13
0
 def test_request_400(self):
     clt = self.client
     clt.http_log_debug = False
     fakeresp = fakes.FakeResponse()
     fakeresp.status = 400
     body_content = {"one": 2, "three": 4}
     fakebody = json.dumps(body_content)
     sav = httplib2.Http.request
     httplib2.Http.request = Mock(return_value=(fakeresp, fakebody))
     savexc = exc.from_response
     exc.from_response = Mock(side_effect=fakes.FakeException)
     self.assertRaises(fakes.FakeException, clt.request)
     exc.from_response = savexc
     httplib2.Http.request = sav
示例#14
0
 def test_queue_claim_mgr_claim_no_count(self):
     q = self.queue
     mgr = q._claim_manager
     ttl = utils.random_unicode()
     grace = utils.random_unicode()
     claim_id = utils.random_unicode()
     rbody = [{"href": "http://example.com/foo?claim_id=%s" % claim_id}]
     mgr.api.method_post = Mock(return_value=(fakes.FakeResponse(), rbody))
     mgr.get = Mock()
     exp_uri = "/%s" % mgr.uri_base
     exp_body = {"ttl": ttl, "grace": grace}
     mgr.claim(ttl, grace)
     mgr.api.method_post.assert_called_once_with(exp_uri, body=exp_body)
     mgr.get.assert_called_once_with(claim_id)
示例#15
0
 def test_request_ok(self, mock_req):
     clt = self.client
     clt.http_log_debug = False
     clt.timeout = utils.random_unicode()
     fakeresp = fakes.FakeResponse()
     fakeresp.status_code = 200
     body_content = {"one": 2, "three": 4}
     fake_uri = utils.random_unicode()
     fake_method = utils.random_unicode()
     mock_req.return_value = (fakeresp, body_content)
     resp, body = clt.request(fake_uri, fake_method, body="text")
     self.assertTrue(isinstance(resp, fakes.FakeResponse))
     self.assertEqual(resp.status_code, 200)
     self.assertEqual(body, body_content)
示例#16
0
文件: test_http.py 项目: wzooff/pyrax
 def test_http_log_resp(self):
     log = logging.getLogger("pyrax")
     sav_pldbug = log.debug
     log.debug = Mock()
     resp = fakes.FakeResponse()
     body = "body"
     sav_pdbug = pyrax._http_debug
     pyrax._http_debug = False
     self.http.http_log_resp(resp, body)
     self.assertFalse(log.debug.called)
     pyrax._http_debug = True
     self.http.http_log_resp(resp, body)
     self.assertTrue(log.debug.called)
     log.debug.assert_any_call("RESP: %s\n%s", resp, resp.headers)
     log.debug.assert_called_with("RESP BODY: %s", body)
     log.debug = sav_pldbug
     pyrax._http_debug = sav_pdbug
示例#17
0
 def test_request_400(self):
     clt = self.client
     clt.http_log_debug = False
     fakeresp = fakes.FakeResponse()
     fakeresp.status_code = 400
     body_content = {"one": 2, "three": 4}
     fakebody = json.dumps(body_content)
     fake_uri = utils.random_unicode()
     fake_method = utils.random_unicode()
     sav = pyrax.http.request
     pyrax.http.request = Mock(return_value=(fakeresp, fakebody))
     savexc = exc.from_response
     exc.from_response = Mock(side_effect=fakes.FakeException)
     self.assertRaises(fakes.FakeException, clt.request, fake_uri,
                       fake_method)
     exc.from_response = savexc
     pyrax.http.request = sav
示例#18
0
 def test_from_response_no_body(self):
     fake_resp = fakes.FakeResponse()
     fake_resp.status = 666
     ret = exc.from_response(fake_resp, None)
     self.assertTrue(isinstance(ret, exc.ClientException))
     self.assertEqual(ret.code, fake_resp.status)