keystone/tests/test_v3_policy.py
Guang Yee c51507323d Fixes bug 1151747: broken XML translation for resource collections
Special-case "links" when converting a collection from JSON to XML and
vice versa.

Change-Id: I7ab1f50c1da3ec389930c1bf45d498551c4cf954
2013-03-13 15:49:06 -07:00

60 lines
1.7 KiB
Python

import uuid
import test_v3
class PolicyTestCase(test_v3.RestfulTestCase):
"""Test policy CRUD"""
def setUp(self):
super(PolicyTestCase, self).setUp()
self.policy_id = uuid.uuid4().hex
self.policy = self.new_policy_ref()
self.policy['id'] = self.policy_id
self.policy_api.create_policy(
self.policy_id,
self.policy.copy())
# policy crud tests
def test_create_policy(self):
"""POST /policies"""
ref = self.new_policy_ref()
r = self.post(
'/policies',
body={'policy': ref})
return self.assertValidPolicyResponse(r, ref)
def test_list_policies(self):
"""GET /policies"""
r = self.get('/policies')
self.assertValidPolicyListResponse(r, ref=self.policy)
def test_list_policies_xml(self):
"""GET /policies (xml data)"""
r = self.get('/policies', content_type='xml')
self.assertValidPolicyListResponse(r, ref=self.policy)
def test_get_policy(self):
"""GET /policies/{policy_id}"""
r = self.get(
'/policies/%(policy_id)s' % {
'policy_id': self.policy_id})
self.assertValidPolicyResponse(r, self.policy)
def test_update_policy(self):
"""PATCH /policies/{policy_id}"""
policy = self.new_policy_ref()
policy['id'] = self.policy_id
r = self.patch(
'/policies/%(policy_id)s' % {
'policy_id': self.policy_id},
body={'policy': policy})
self.assertValidPolicyResponse(r, policy)
def test_delete_policy(self):
"""DELETE /policies/{policy_id}"""
self.delete(
'/policies/%(policy_id)s' % {
'policy_id': self.policy_id})