summaryrefslogtreecommitdiffstats
path: root/keystone/tests/test_v3_credential.py
diff options
context:
space:
mode:
authorSascha Peilicke <saschpe@suse.de>2013-01-21 15:34:42 +0100
committerMonty Taylor <mordred@inaugust.com>2013-08-14 01:30:01 -0300
commit14e090154c10001550127628c2728013f15d4256 (patch)
tree99be365f496f7942638a95f28241839c6ca8771a /keystone/tests/test_v3_credential.py
parent361f6fe111b3eddf013c544776d63980689dfaf5 (diff)
downloadkeystone-14e090154c10001550127628c2728013f15d4256.tar.gz
keystone-14e090154c10001550127628c2728013f15d4256.tar.xz
keystone-14e090154c10001550127628c2728013f15d4256.zip
Move 'tests' directory into 'keystone' package
Similar to a range of other components (e.g. glance,nova,...) and recent reviews by Monty. Running individual tests can be done like this: ./run_tests.sh keystone.tests.test_drivers Change-Id: I2482a48322150e5eb09b703326a94d8283f1c75b
Diffstat (limited to 'keystone/tests/test_v3_credential.py')
-rw-r--r--keystone/tests/test_v3_credential.py78
1 files changed, 78 insertions, 0 deletions
diff --git a/keystone/tests/test_v3_credential.py b/keystone/tests/test_v3_credential.py
new file mode 100644
index 00000000..6040cca3
--- /dev/null
+++ b/keystone/tests/test_v3_credential.py
@@ -0,0 +1,78 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright 2013 OpenStack LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+import uuid
+
+import test_v3
+
+
+class CredentialTestCase(test_v3.RestfulTestCase):
+ """Test credential CRUD."""
+ def setUp(self):
+
+ super(CredentialTestCase, self).setUp()
+
+ self.credential_id = uuid.uuid4().hex
+ self.credential = self.new_credential_ref(
+ user_id=self.user['id'],
+ project_id=self.project_id)
+ self.credential['id'] = self.credential_id
+ self.credential_api.create_credential(
+ self.credential_id,
+ self.credential)
+
+ def test_list_credentials(self):
+ """Call ``GET /credentials``."""
+ r = self.get('/credentials')
+ self.assertValidCredentialListResponse(r, ref=self.credential)
+
+ def test_list_credentials_xml(self):
+ """Call ``GET /credentials`` (xml data)."""
+ r = self.get('/credentials', content_type='xml')
+ self.assertValidCredentialListResponse(r, ref=self.credential)
+
+ def test_create_credential(self):
+ """Call ``POST /credentials``."""
+ ref = self.new_credential_ref(user_id=self.user['id'])
+ r = self.post(
+ '/credentials',
+ body={'credential': ref})
+ self.assertValidCredentialResponse(r, ref)
+
+ def test_get_credential(self):
+ """Call ``GET /credentials/{credential_id}``."""
+ r = self.get(
+ '/credentials/%(credential_id)s' % {
+ 'credential_id': self.credential_id})
+ self.assertValidCredentialResponse(r, self.credential)
+
+ def test_update_credential(self):
+ """Call ``PATCH /credentials/{credential_id}``."""
+ ref = self.new_credential_ref(
+ user_id=self.user['id'],
+ project_id=self.project_id)
+ del ref['id']
+ r = self.patch(
+ '/credentials/%(credential_id)s' % {
+ 'credential_id': self.credential_id},
+ body={'credential': ref})
+ self.assertValidCredentialResponse(r, ref)
+
+ def test_delete_credential(self):
+ """Call ``DELETE /credentials/{credential_id}``."""
+ self.delete(
+ '/credentials/%(credential_id)s' % {
+ 'credential_id': self.credential_id})