Merge "Add return-request-id-to-caller function(v3/contrib)"
This commit is contained in:
@@ -11,6 +11,7 @@
|
|||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
import copy
|
import copy
|
||||||
|
import fixtures
|
||||||
import uuid
|
import uuid
|
||||||
|
|
||||||
from keystoneauth1 import exceptions
|
from keystoneauth1 import exceptions
|
||||||
@@ -582,3 +583,244 @@ class ServiceProviderTests(utils.ClientTestCase, utils.CrudTests):
|
|||||||
req_ref[attr],
|
req_ref[attr],
|
||||||
'Expected different %s' % attr)
|
'Expected different %s' % attr)
|
||||||
self.assertEntityRequestBodyIs(req_ref)
|
self.assertEntityRequestBodyIs(req_ref)
|
||||||
|
|
||||||
|
|
||||||
|
class IdentityProviderRequestIdTests(utils.TestRequestId):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super(IdentityProviderRequestIdTests, self).setUp()
|
||||||
|
self.mgr = identity_providers.IdentityProviderManager(self.client)
|
||||||
|
|
||||||
|
def _mock_request_method(self, method=None, body=None):
|
||||||
|
return self.useFixture(fixtures.MockPatchObject(
|
||||||
|
self.client, method, autospec=True,
|
||||||
|
return_value=(self.resp, body))
|
||||||
|
).mock
|
||||||
|
|
||||||
|
def test_get_identity_provider(self):
|
||||||
|
body = {"identity_provider": {"name": "admin"}}
|
||||||
|
get_mock = self._mock_request_method(method='get', body=body)
|
||||||
|
|
||||||
|
response = self.mgr.get("admin")
|
||||||
|
self.assertEqual(response.request_ids[0], self.TEST_REQUEST_ID)
|
||||||
|
get_mock.assert_called_once_with(
|
||||||
|
'OS-FEDERATION/identity_providers/admin')
|
||||||
|
|
||||||
|
def test_list_identity_provider(self):
|
||||||
|
body = {"identity_providers": [{"name": "admin"}]}
|
||||||
|
get_mock = self._mock_request_method(method='get', body=body)
|
||||||
|
|
||||||
|
response = self.mgr.list()
|
||||||
|
self.assertEqual(response.request_ids[0], self.TEST_REQUEST_ID)
|
||||||
|
get_mock.assert_called_once_with('OS-FEDERATION/identity_providers?')
|
||||||
|
|
||||||
|
def test_create_identity_provider(self):
|
||||||
|
body = {"identity_provider": {"name": "admin"}}
|
||||||
|
self._mock_request_method(method='post', body=body)
|
||||||
|
put_mock = self._mock_request_method(method='put', body=body)
|
||||||
|
|
||||||
|
response = self.mgr.create(id="admin", description='fake')
|
||||||
|
self.assertEqual(response.request_ids[0], self.TEST_REQUEST_ID)
|
||||||
|
put_mock.assert_called_once_with(
|
||||||
|
'OS-FEDERATION/identity_providers/admin',
|
||||||
|
body={'identity_provider': {'description': 'fake'}})
|
||||||
|
|
||||||
|
def test_update_identity_provider(self):
|
||||||
|
body = {"identity_provider": {"name": "admin"}}
|
||||||
|
patch_mock = self._mock_request_method(method='patch', body=body)
|
||||||
|
self._mock_request_method(method='post', body=body)
|
||||||
|
|
||||||
|
response = self.mgr.update("admin")
|
||||||
|
self.assertEqual(response.request_ids[0], self.TEST_REQUEST_ID)
|
||||||
|
patch_mock.assert_called_once_with(
|
||||||
|
'OS-FEDERATION/identity_providers/admin', body={
|
||||||
|
'identity_provider': {}})
|
||||||
|
|
||||||
|
def test_delete_identity_provider(self):
|
||||||
|
get_mock = self._mock_request_method(method='delete')
|
||||||
|
|
||||||
|
_, resp = self.mgr.delete("admin")
|
||||||
|
self.assertEqual(resp.request_ids[0], self.TEST_REQUEST_ID)
|
||||||
|
get_mock.assert_called_once_with(
|
||||||
|
'OS-FEDERATION/identity_providers/admin')
|
||||||
|
|
||||||
|
|
||||||
|
class MappingRequestIdTests(utils.TestRequestId):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super(MappingRequestIdTests, self).setUp()
|
||||||
|
self.mgr = mappings.MappingManager(self.client)
|
||||||
|
|
||||||
|
def _mock_request_method(self, method=None, body=None):
|
||||||
|
return self.useFixture(fixtures.MockPatchObject(
|
||||||
|
self.client, method, autospec=True,
|
||||||
|
return_value=(self.resp, body))
|
||||||
|
).mock
|
||||||
|
|
||||||
|
def test_get_mapping(self):
|
||||||
|
body = {"mapping": {"name": "admin"}}
|
||||||
|
get_mock = self._mock_request_method(method='get', body=body)
|
||||||
|
|
||||||
|
response = self.mgr.get("admin")
|
||||||
|
self.assertEqual(response.request_ids[0], self.TEST_REQUEST_ID)
|
||||||
|
get_mock.assert_called_once_with('OS-FEDERATION/mappings/admin')
|
||||||
|
|
||||||
|
def test_list_mapping(self):
|
||||||
|
body = {"mappings": [{"name": "admin"}]}
|
||||||
|
get_mock = self._mock_request_method(method='get', body=body)
|
||||||
|
|
||||||
|
response = self.mgr.list()
|
||||||
|
self.assertEqual(response.request_ids[0], self.TEST_REQUEST_ID)
|
||||||
|
get_mock.assert_called_once_with('OS-FEDERATION/mappings?')
|
||||||
|
|
||||||
|
def test_create_mapping(self):
|
||||||
|
body = {"mapping": {"name": "admin"}}
|
||||||
|
self._mock_request_method(method='post', body=body)
|
||||||
|
put_mock = self._mock_request_method(method='put', body=body)
|
||||||
|
|
||||||
|
response = self.mgr.create(mapping_id="admin", description='fake')
|
||||||
|
self.assertEqual(response.request_ids[0], self.TEST_REQUEST_ID)
|
||||||
|
put_mock.assert_called_once_with(
|
||||||
|
'OS-FEDERATION/mappings/admin', body={
|
||||||
|
'mapping': {'description': 'fake'}})
|
||||||
|
|
||||||
|
def test_update_mapping(self):
|
||||||
|
body = {"mapping": {"name": "admin"}}
|
||||||
|
patch_mock = self._mock_request_method(method='patch', body=body)
|
||||||
|
self._mock_request_method(method='post', body=body)
|
||||||
|
|
||||||
|
response = self.mgr.update("admin")
|
||||||
|
self.assertEqual(response.request_ids[0], self.TEST_REQUEST_ID)
|
||||||
|
patch_mock.assert_called_once_with(
|
||||||
|
'OS-FEDERATION/mappings/admin', body={'mapping': {}})
|
||||||
|
|
||||||
|
def test_delete_mapping(self):
|
||||||
|
get_mock = self._mock_request_method(method='delete')
|
||||||
|
|
||||||
|
_, resp = self.mgr.delete("admin")
|
||||||
|
self.assertEqual(resp.request_ids[0], self.TEST_REQUEST_ID)
|
||||||
|
get_mock.assert_called_once_with('OS-FEDERATION/mappings/admin')
|
||||||
|
|
||||||
|
|
||||||
|
class ProtocolRequestIdTests(utils.TestRequestId):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super(ProtocolRequestIdTests, self).setUp()
|
||||||
|
self.mgr = protocols.ProtocolManager(self.client)
|
||||||
|
|
||||||
|
def _mock_request_method(self, method=None, body=None):
|
||||||
|
return self.useFixture(fixtures.MockPatchObject(
|
||||||
|
self.client, method, autospec=True,
|
||||||
|
return_value=(self.resp, body))
|
||||||
|
).mock
|
||||||
|
|
||||||
|
def test_get_protocol(self):
|
||||||
|
body = {"protocol": {"name": "admin"}}
|
||||||
|
get_mock = self._mock_request_method(method='get', body=body)
|
||||||
|
|
||||||
|
response = self.mgr.get("admin", "protocol")
|
||||||
|
self.assertEqual(response.request_ids[0], self.TEST_REQUEST_ID)
|
||||||
|
get_mock.assert_called_once_with(
|
||||||
|
'OS-FEDERATION/identity_providers/admin/protocols/protocol')
|
||||||
|
|
||||||
|
def test_list_protocol(self):
|
||||||
|
body = {"protocols": [{"name": "admin"}]}
|
||||||
|
get_mock = self._mock_request_method(method='get', body=body)
|
||||||
|
|
||||||
|
response = self.mgr.list("identity_provider")
|
||||||
|
self.assertEqual(response.request_ids[0], self.TEST_REQUEST_ID)
|
||||||
|
get_mock.assert_called_once_with(
|
||||||
|
'OS-FEDERATION/identity_providers/identity_provider/protocols?')
|
||||||
|
|
||||||
|
def test_create_protocol(self):
|
||||||
|
body = {"protocol": {"name": "admin"}}
|
||||||
|
self._mock_request_method(method='post', body=body)
|
||||||
|
put_mock = self._mock_request_method(method='put', body=body)
|
||||||
|
|
||||||
|
response = self.mgr.create(
|
||||||
|
protocol_id="admin", identity_provider='fake', mapping='fake')
|
||||||
|
self.assertEqual(response.request_ids[0], self.TEST_REQUEST_ID)
|
||||||
|
put_mock.assert_called_once_with(
|
||||||
|
'OS-FEDERATION/identity_providers/fake/protocols/admin', body={
|
||||||
|
'protocol': {'mapping_id': 'fake'}})
|
||||||
|
|
||||||
|
def test_update_protocol(self):
|
||||||
|
body = {"protocol": {"name": "admin"}}
|
||||||
|
patch_mock = self._mock_request_method(method='patch', body=body)
|
||||||
|
self._mock_request_method(method='post', body=body)
|
||||||
|
|
||||||
|
response = self.mgr.update(protocol="admin", identity_provider='fake',
|
||||||
|
mapping='fake')
|
||||||
|
self.assertEqual(response.request_ids[0], self.TEST_REQUEST_ID)
|
||||||
|
patch_mock.assert_called_once_with(
|
||||||
|
'OS-FEDERATION/identity_providers/fake/protocols/admin', body={
|
||||||
|
'protocol': {'mapping_id': 'fake'}})
|
||||||
|
|
||||||
|
def test_delete_protocol(self):
|
||||||
|
get_mock = self._mock_request_method(method='delete')
|
||||||
|
|
||||||
|
_, resp = self.mgr.delete("identity_provider", "protocol")
|
||||||
|
self.assertEqual(resp.request_ids[0], self.TEST_REQUEST_ID)
|
||||||
|
get_mock.assert_called_once_with(
|
||||||
|
'OS-FEDERATION/identity_providers/'
|
||||||
|
'identity_provider/protocols/protocol')
|
||||||
|
|
||||||
|
|
||||||
|
class ServiceProviderRequestIdTests(utils.TestRequestId):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super(ServiceProviderRequestIdTests, self).setUp()
|
||||||
|
self.mgr = service_providers.ServiceProviderManager(self.client)
|
||||||
|
|
||||||
|
def _mock_request_method(self, method=None, body=None):
|
||||||
|
return self.useFixture(fixtures.MockPatchObject(
|
||||||
|
self.client, method, autospec=True,
|
||||||
|
return_value=(self.resp, body))
|
||||||
|
).mock
|
||||||
|
|
||||||
|
def test_get_service_provider(self):
|
||||||
|
body = {"service_provider": {"name": "admin"}}
|
||||||
|
get_mock = self._mock_request_method(method='get', body=body)
|
||||||
|
|
||||||
|
response = self.mgr.get("provider")
|
||||||
|
self.assertEqual(response.request_ids[0], self.TEST_REQUEST_ID)
|
||||||
|
get_mock.assert_called_once_with(
|
||||||
|
'OS-FEDERATION/service_providers/provider')
|
||||||
|
|
||||||
|
def test_list_service_provider(self):
|
||||||
|
body = {"service_providers": [{"name": "admin"}]}
|
||||||
|
get_mock = self._mock_request_method(method='get', body=body)
|
||||||
|
|
||||||
|
response = self.mgr.list()
|
||||||
|
self.assertEqual(response.request_ids[0], self.TEST_REQUEST_ID)
|
||||||
|
get_mock.assert_called_once_with('OS-FEDERATION/service_providers?')
|
||||||
|
|
||||||
|
def test_create_service_provider(self):
|
||||||
|
body = {"service_provider": {"name": "admin"}}
|
||||||
|
self._mock_request_method(method='post', body=body)
|
||||||
|
put_mock = self._mock_request_method(method='put', body=body)
|
||||||
|
|
||||||
|
response = self.mgr.create(id='provider')
|
||||||
|
self.assertEqual(response.request_ids[0], self.TEST_REQUEST_ID)
|
||||||
|
put_mock.assert_called_once_with(
|
||||||
|
'OS-FEDERATION/service_providers/provider', body={
|
||||||
|
'service_provider': {}})
|
||||||
|
|
||||||
|
def test_update_service_provider(self):
|
||||||
|
body = {"service_provider": {"name": "admin"}}
|
||||||
|
patch_mock = self._mock_request_method(method='patch', body=body)
|
||||||
|
self._mock_request_method(method='post', body=body)
|
||||||
|
|
||||||
|
response = self.mgr.update("provider")
|
||||||
|
self.assertEqual(response.request_ids[0], self.TEST_REQUEST_ID)
|
||||||
|
patch_mock.assert_called_once_with(
|
||||||
|
'OS-FEDERATION/service_providers/provider', body={
|
||||||
|
'service_provider': {}})
|
||||||
|
|
||||||
|
def test_delete_service_provider(self):
|
||||||
|
get_mock = self._mock_request_method(method='delete')
|
||||||
|
|
||||||
|
_, resp = self.mgr.delete("provider")
|
||||||
|
self.assertEqual(resp.request_ids[0], self.TEST_REQUEST_ID)
|
||||||
|
get_mock.assert_called_once_with(
|
||||||
|
'OS-FEDERATION/service_providers/provider')
|
||||||
|
@@ -11,6 +11,7 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
import fixtures
|
||||||
import uuid
|
import uuid
|
||||||
|
|
||||||
import mock
|
import mock
|
||||||
@@ -277,6 +278,53 @@ class AuthenticateWithOAuthTests(utils.TestCase, TokenTests):
|
|||||||
oauth_client)
|
oauth_client)
|
||||||
|
|
||||||
|
|
||||||
|
class OauthRequestIdTests(utils.TestRequestId, TokenTests):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super(OauthRequestIdTests, self).setUp()
|
||||||
|
self.mgr = consumers.ConsumerManager(self.client)
|
||||||
|
|
||||||
|
def _mock_request_method(self, method=None, body=None):
|
||||||
|
return self.useFixture(fixtures.MockPatchObject(
|
||||||
|
self.client, method, autospec=True,
|
||||||
|
return_value=(self.resp, body))
|
||||||
|
).mock
|
||||||
|
|
||||||
|
def test_get_consumers(self):
|
||||||
|
body = {"consumer": {"name": "admin"}}
|
||||||
|
get_mock = self._mock_request_method(method='get', body=body)
|
||||||
|
|
||||||
|
response = self.mgr.get("admin")
|
||||||
|
self.assertEqual(response.request_ids[0], self.TEST_REQUEST_ID)
|
||||||
|
get_mock.assert_called_once_with('/OS-OAUTH1/consumers/admin')
|
||||||
|
|
||||||
|
def test_create_consumers(self):
|
||||||
|
body = {"consumer": {"name": "admin"}}
|
||||||
|
post_mock = self._mock_request_method(method='post', body=body)
|
||||||
|
|
||||||
|
response = self.mgr.create(name="admin", description="fake")
|
||||||
|
self.assertEqual(response.request_ids[0], self.TEST_REQUEST_ID)
|
||||||
|
post_mock.assert_called_once_with('/OS-OAUTH1/consumers', body={
|
||||||
|
'consumer': {'name': 'admin', 'description': 'fake'}})
|
||||||
|
|
||||||
|
def test_update_consumers(self):
|
||||||
|
body = {"consumer": {"name": "admin"}}
|
||||||
|
patch_mock = self._mock_request_method(method='patch', body=body)
|
||||||
|
self._mock_request_method(method='post', body=body)
|
||||||
|
|
||||||
|
response = self.mgr.update("admin", "demo")
|
||||||
|
self.assertEqual(response.request_ids[0], self.TEST_REQUEST_ID)
|
||||||
|
patch_mock.assert_called_once_with('/OS-OAUTH1/consumers/admin', body={
|
||||||
|
'consumer': {'description': 'demo'}})
|
||||||
|
|
||||||
|
def test_delete_consumers(self):
|
||||||
|
get_mock = self._mock_request_method(method='delete')
|
||||||
|
|
||||||
|
_, resp = self.mgr.delete("admin")
|
||||||
|
self.assertEqual(resp.request_ids[0], self.TEST_REQUEST_ID)
|
||||||
|
get_mock.assert_called_once_with('/OS-OAUTH1/consumers/admin')
|
||||||
|
|
||||||
|
|
||||||
class TestOAuthLibModule(utils.TestCase):
|
class TestOAuthLibModule(utils.TestCase):
|
||||||
|
|
||||||
def test_no_oauthlib_installed(self):
|
def test_no_oauthlib_installed(self):
|
||||||
|
@@ -11,16 +11,12 @@
|
|||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
import fixtures
|
import fixtures
|
||||||
import requests
|
|
||||||
import uuid
|
import uuid
|
||||||
|
|
||||||
from keystoneauth1 import exceptions as ksa_exceptions
|
from keystoneauth1 import exceptions as ksa_exceptions
|
||||||
from keystoneauth1.identity import v3
|
|
||||||
from keystoneauth1 import session
|
|
||||||
|
|
||||||
from keystoneclient import exceptions as ksc_exceptions
|
from keystoneclient import exceptions as ksc_exceptions
|
||||||
from keystoneclient.tests.unit.v3 import utils
|
from keystoneclient.tests.unit.v3 import utils
|
||||||
from keystoneclient.v3 import client
|
|
||||||
from keystoneclient.v3 import projects
|
from keystoneclient.v3 import projects
|
||||||
|
|
||||||
|
|
||||||
@@ -402,20 +398,12 @@ class ProjectTests(utils.ClientTestCase, utils.CrudTests):
|
|||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
|
||||||
class ProjectsRequestIdTests(utils.TestCase):
|
class ProjectsRequestIdTests(utils.TestRequestId):
|
||||||
|
|
||||||
url = "/projects"
|
url = "/projects"
|
||||||
resp = requests.Response()
|
|
||||||
TEST_REQUEST_ID = uuid.uuid4().hex
|
|
||||||
resp.headers['x-openstack-request-id'] = TEST_REQUEST_ID
|
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(ProjectsRequestIdTests, self).setUp()
|
super(ProjectsRequestIdTests, self).setUp()
|
||||||
auth = v3.Token(auth_url='http://127.0.0.1:5000',
|
|
||||||
token=self.TEST_TOKEN)
|
|
||||||
session_ = session.Session(auth=auth)
|
|
||||||
self.client = client.Client(session=session_,
|
|
||||||
include_metadata='True')._adapter
|
|
||||||
self.mgr = projects.ProjectManager(self.client)
|
self.mgr = projects.ProjectManager(self.client)
|
||||||
self.mgr.resource_class = projects.Project
|
self.mgr.resource_class = projects.Project
|
||||||
|
|
||||||
|
@@ -11,10 +11,12 @@
|
|||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
|
import fixtures
|
||||||
import testresources
|
import testresources
|
||||||
|
|
||||||
from keystoneclient.tests.unit import client_fixtures
|
from keystoneclient.tests.unit import client_fixtures
|
||||||
from keystoneclient.tests.unit.v3 import utils
|
from keystoneclient.tests.unit.v3 import utils
|
||||||
|
from keystoneclient.v3.contrib import simple_cert
|
||||||
|
|
||||||
|
|
||||||
class SimpleCertTests(utils.ClientTestCase, testresources.ResourcedTestCase):
|
class SimpleCertTests(utils.ClientTestCase, testresources.ResourcedTestCase):
|
||||||
@@ -36,5 +38,36 @@ class SimpleCertTests(utils.ClientTestCase, testresources.ResourcedTestCase):
|
|||||||
self.assertEqual(self.examples.SIGNING_CERT, res)
|
self.assertEqual(self.examples.SIGNING_CERT, res)
|
||||||
|
|
||||||
|
|
||||||
|
class SimpleCertRequestIdTests(utils.TestRequestId):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super(SimpleCertRequestIdTests, self).setUp()
|
||||||
|
self.mgr = simple_cert.SimpleCertManager(self.client)
|
||||||
|
|
||||||
|
def _mock_request_method(self, method=None, body=None):
|
||||||
|
return self.useFixture(fixtures.MockPatchObject(
|
||||||
|
self.client, method, autospec=True,
|
||||||
|
return_value=(self.resp, body))
|
||||||
|
).mock
|
||||||
|
|
||||||
|
def test_list_ca_certificates(self):
|
||||||
|
body = {"certificates": [{"name": "admin"}, {"name": "admin2"}]}
|
||||||
|
get_mock = self._mock_request_method(method='get', body=body)
|
||||||
|
|
||||||
|
response = self.mgr.get_ca_certificates()
|
||||||
|
self.assertEqual(response.request_ids[0], self.TEST_REQUEST_ID)
|
||||||
|
get_mock.assert_called_once_with(
|
||||||
|
'/OS-SIMPLE-CERT/ca', authenticated=False)
|
||||||
|
|
||||||
|
def test_list_certificates(self):
|
||||||
|
body = {"certificates": [{"name": "admin"}, {"name": "admin2"}]}
|
||||||
|
get_mock = self._mock_request_method(method='get', body=body)
|
||||||
|
|
||||||
|
response = self.mgr.get_certificates()
|
||||||
|
self.assertEqual(response.request_ids[0], self.TEST_REQUEST_ID)
|
||||||
|
get_mock.assert_called_once_with(
|
||||||
|
'/OS-SIMPLE-CERT/certificates', authenticated=False)
|
||||||
|
|
||||||
|
|
||||||
def load_tests(loader, tests, pattern):
|
def load_tests(loader, tests, pattern):
|
||||||
return testresources.OptimisingTestSuite(tests)
|
return testresources.OptimisingTestSuite(tests)
|
||||||
|
@@ -10,12 +10,16 @@
|
|||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
|
import requests
|
||||||
import uuid
|
import uuid
|
||||||
|
|
||||||
from six.moves.urllib import parse as urlparse
|
from six.moves.urllib import parse as urlparse
|
||||||
|
|
||||||
|
from keystoneauth1.identity import v3
|
||||||
|
from keystoneauth1 import session
|
||||||
from keystoneclient.tests.unit import client_fixtures
|
from keystoneclient.tests.unit import client_fixtures
|
||||||
from keystoneclient.tests.unit import utils
|
from keystoneclient.tests.unit import utils
|
||||||
|
from keystoneclient.v3 import client
|
||||||
|
|
||||||
|
|
||||||
def parameterize(ref):
|
def parameterize(ref):
|
||||||
@@ -375,3 +379,17 @@ class CrudTests(object):
|
|||||||
|
|
||||||
self.stub_entity('DELETE', id=ref['id'], status_code=204)
|
self.stub_entity('DELETE', id=ref['id'], status_code=204)
|
||||||
self.manager.delete(ref['id'])
|
self.manager.delete(ref['id'])
|
||||||
|
|
||||||
|
|
||||||
|
class TestRequestId(TestCase):
|
||||||
|
resp = requests.Response()
|
||||||
|
TEST_REQUEST_ID = uuid.uuid4().hex
|
||||||
|
resp.headers['x-openstack-request-id'] = TEST_REQUEST_ID
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super(TestRequestId, self).setUp()
|
||||||
|
auth = v3.Token(auth_url='http://127.0.0.1:5000',
|
||||||
|
token=self.TEST_TOKEN)
|
||||||
|
session_ = session.Session(auth=auth)
|
||||||
|
self.client = client.Client(session=session_,
|
||||||
|
include_metadata='True')._adapter
|
||||||
|
@@ -39,17 +39,17 @@ class EndpointPolicyManager(base.Manager):
|
|||||||
|
|
||||||
def create_policy_association_for_endpoint(self, policy, endpoint):
|
def create_policy_association_for_endpoint(self, policy, endpoint):
|
||||||
"""Create an association between a policy and an endpoint."""
|
"""Create an association between a policy and an endpoint."""
|
||||||
self._act_on_policy_association_for_endpoint(
|
return self._act_on_policy_association_for_endpoint(
|
||||||
policy, endpoint, self._put)
|
policy, endpoint, self._put)
|
||||||
|
|
||||||
def check_policy_association_for_endpoint(self, policy, endpoint):
|
def check_policy_association_for_endpoint(self, policy, endpoint):
|
||||||
"""Check an association between a policy and an endpoint."""
|
"""Check an association between a policy and an endpoint."""
|
||||||
self._act_on_policy_association_for_endpoint(
|
return self._act_on_policy_association_for_endpoint(
|
||||||
policy, endpoint, self._head)
|
policy, endpoint, self._head)
|
||||||
|
|
||||||
def delete_policy_association_for_endpoint(self, policy, endpoint):
|
def delete_policy_association_for_endpoint(self, policy, endpoint):
|
||||||
"""Delete an association between a policy and an endpoint."""
|
"""Delete an association between a policy and an endpoint."""
|
||||||
self._act_on_policy_association_for_endpoint(
|
return self._act_on_policy_association_for_endpoint(
|
||||||
policy, endpoint, self._delete)
|
policy, endpoint, self._delete)
|
||||||
|
|
||||||
def _act_on_policy_association_for_service(self, policy, service, action):
|
def _act_on_policy_association_for_service(self, policy, service, action):
|
||||||
@@ -67,17 +67,17 @@ class EndpointPolicyManager(base.Manager):
|
|||||||
|
|
||||||
def create_policy_association_for_service(self, policy, service):
|
def create_policy_association_for_service(self, policy, service):
|
||||||
"""Create an association between a policy and a service."""
|
"""Create an association between a policy and a service."""
|
||||||
self._act_on_policy_association_for_service(
|
return self._act_on_policy_association_for_service(
|
||||||
policy, service, self._put)
|
policy, service, self._put)
|
||||||
|
|
||||||
def check_policy_association_for_service(self, policy, service):
|
def check_policy_association_for_service(self, policy, service):
|
||||||
"""Check an association between a policy and a service."""
|
"""Check an association between a policy and a service."""
|
||||||
self._act_on_policy_association_for_service(
|
return self._act_on_policy_association_for_service(
|
||||||
policy, service, self._head)
|
policy, service, self._head)
|
||||||
|
|
||||||
def delete_policy_association_for_service(self, policy, service):
|
def delete_policy_association_for_service(self, policy, service):
|
||||||
"""Delete an association between a policy and a service."""
|
"""Delete an association between a policy and a service."""
|
||||||
self._act_on_policy_association_for_service(
|
return self._act_on_policy_association_for_service(
|
||||||
policy, service, self._delete)
|
policy, service, self._delete)
|
||||||
|
|
||||||
def _act_on_policy_association_for_region_and_service(
|
def _act_on_policy_association_for_region_and_service(
|
||||||
@@ -99,19 +99,19 @@ class EndpointPolicyManager(base.Manager):
|
|||||||
def create_policy_association_for_region_and_service(
|
def create_policy_association_for_region_and_service(
|
||||||
self, policy, region, service):
|
self, policy, region, service):
|
||||||
"""Create an association between a policy and a service in a region."""
|
"""Create an association between a policy and a service in a region."""
|
||||||
self._act_on_policy_association_for_region_and_service(
|
return self._act_on_policy_association_for_region_and_service(
|
||||||
policy, region, service, self._put)
|
policy, region, service, self._put)
|
||||||
|
|
||||||
def check_policy_association_for_region_and_service(
|
def check_policy_association_for_region_and_service(
|
||||||
self, policy, region, service):
|
self, policy, region, service):
|
||||||
"""Check an association between a policy and a service in a region."""
|
"""Check an association between a policy and a service in a region."""
|
||||||
self._act_on_policy_association_for_region_and_service(
|
return self._act_on_policy_association_for_region_and_service(
|
||||||
policy, region, service, self._head)
|
policy, region, service, self._head)
|
||||||
|
|
||||||
def delete_policy_association_for_region_and_service(
|
def delete_policy_association_for_region_and_service(
|
||||||
self, policy, region, service):
|
self, policy, region, service):
|
||||||
"""Delete an association between a policy and a service in a region."""
|
"""Delete an association between a policy and a service in a region."""
|
||||||
self._act_on_policy_association_for_region_and_service(
|
return self._act_on_policy_association_for_region_and_service(
|
||||||
policy, region, service, self._delete)
|
policy, region, service, self._delete)
|
||||||
|
|
||||||
def get_policy_for_endpoint(self, endpoint):
|
def get_policy_for_endpoint(self, endpoint):
|
||||||
@@ -130,9 +130,10 @@ class EndpointPolicyManager(base.Manager):
|
|||||||
'endpoint_id': endpoint_id,
|
'endpoint_id': endpoint_id,
|
||||||
'ext_name': self.OS_EP_POLICY_EXT}
|
'ext_name': self.OS_EP_POLICY_EXT}
|
||||||
|
|
||||||
_resp, body = self.client.get(url)
|
resp, body = self.client.get(url)
|
||||||
return policies.Policy(
|
return self._prepare_return_value(
|
||||||
self, body[policies.PolicyManager.key], loaded=True)
|
resp, policies.Policy(self, body[policies.PolicyManager.key],
|
||||||
|
loaded=True))
|
||||||
|
|
||||||
def list_endpoints_for_policy(self, policy):
|
def list_endpoints_for_policy(self, policy):
|
||||||
"""List endpoints with the effective association to a policy.
|
"""List endpoints with the effective association to a policy.
|
||||||
|
@@ -48,4 +48,5 @@ class AccessTokenManager(base.CrudManager):
|
|||||||
http_method='POST')
|
http_method='POST')
|
||||||
resp, body = self.client.post(endpoint, headers=headers)
|
resp, body = self.client.post(endpoint, headers=headers)
|
||||||
token = utils.get_oauth_token_from_body(resp.content)
|
token = utils.get_oauth_token_from_body(resp.content)
|
||||||
return self.resource_class(self, token)
|
return self._prepare_return_value(resp,
|
||||||
|
self.resource_class(self, token))
|
||||||
|
@@ -70,4 +70,5 @@ class RequestTokenManager(base.CrudManager):
|
|||||||
headers=headers)
|
headers=headers)
|
||||||
resp, body = self.client.post(endpoint, headers=headers)
|
resp, body = self.client.post(endpoint, headers=headers)
|
||||||
token = utils.get_oauth_token_from_body(resp.content)
|
token = utils.get_oauth_token_from_body(resp.content)
|
||||||
return self.resource_class(self, token)
|
return self._prepare_return_value(resp,
|
||||||
|
self.resource_class(self, token))
|
||||||
|
@@ -11,12 +11,15 @@
|
|||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
|
from keystoneclient import base
|
||||||
|
|
||||||
|
|
||||||
class SimpleCertManager(object):
|
class SimpleCertManager(object):
|
||||||
"""Manager for the OS-SIMPLE-CERT extension."""
|
"""Manager for the OS-SIMPLE-CERT extension."""
|
||||||
|
|
||||||
def __init__(self, client):
|
def __init__(self, client):
|
||||||
self._client = client
|
self._client = client
|
||||||
|
self.mgr = base.Manager(self._client)
|
||||||
|
|
||||||
def get_ca_certificates(self):
|
def get_ca_certificates(self):
|
||||||
"""Get CA certificates.
|
"""Get CA certificates.
|
||||||
@@ -27,7 +30,7 @@ class SimpleCertManager(object):
|
|||||||
"""
|
"""
|
||||||
resp, body = self._client.get('/OS-SIMPLE-CERT/ca',
|
resp, body = self._client.get('/OS-SIMPLE-CERT/ca',
|
||||||
authenticated=False)
|
authenticated=False)
|
||||||
return resp.text
|
return self.mgr._prepare_return_value(resp, resp.text)
|
||||||
|
|
||||||
def get_certificates(self):
|
def get_certificates(self):
|
||||||
"""Get signing certificates.
|
"""Get signing certificates.
|
||||||
@@ -38,4 +41,4 @@ class SimpleCertManager(object):
|
|||||||
"""
|
"""
|
||||||
resp, body = self._client.get('/OS-SIMPLE-CERT/certificates',
|
resp, body = self._client.get('/OS-SIMPLE-CERT/certificates',
|
||||||
authenticated=False)
|
authenticated=False)
|
||||||
return resp.text
|
return self.mgr._prepare_return_value(resp, resp.text)
|
||||||
|
Reference in New Issue
Block a user