def test_api_request_expired(self): clt = self.client id_svc = clt.identity sav_auth = id_svc.authenticate returns = [ exc.Unauthorized(""), (fakes.FakeIdentityResponse(), fakes.fake_identity_response) ] def auth_resp(*args, **kwargs): result = returns.pop(0) if isinstance(result, Exception): raise result return result id_svc.authenticate = Mock() sav_req = clt.request clt.request = Mock(side_effect=auth_resp) url = DUMMY_URL method = "PUT" clt.unauthenticate() clt.management_url = url id_svc.token = "" id_svc.tenant_id = utils.random_unicode() clt._api_request(url, method) self.assertEqual(id_svc.authenticate.call_count, 2) clt.request = sav_req id_svc.authenticate = sav_auth
def test_api_request_auth_failed(self): clt = self.client id_svc = self.id_svc sav_auth = id_svc.authenticate id_svc.authenticate = Mock() sav_req = clt.request clt.request = Mock(return_value=(1, 1)) url = "http://example.com" method = "PUT" clt.request = Mock(side_effect=exc.Unauthorized("")) clt.management_url = clt.auth_token = "test" self.assertRaises(exc.Unauthorized, clt._api_request, url, method) clt.request = sav_req clt.authenticate = sav_auth
def test_api_request_service_unavailable(self): clt = self.client id_svc = clt.identity sav_auth = id_svc.authenticate id_svc.authenticate = Mock() sav_req = clt.request clt.request = Mock(return_value=(1, 1)) url = DUMMY_URL method = "GET" clt.request = Mock(side_effect=exc.Unauthorized("")) clt.management_url = "" self.assertRaises(exc.ServiceNotAvailable, clt._api_request, url, method) clt.request = sav_req id_svc.authenticate = sav_auth