コード例 #1
0
ファイル: test_client.py プロジェクト: neon-jungle/pyrax
    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
コード例 #2
0
 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
コード例 #3
0
ファイル: test_client.py プロジェクト: neon-jungle/pyrax
 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