c51507323d
Special-case "links" when converting a collection from JSON to XML and vice versa. Change-Id: I7ab1f50c1da3ec389930c1bf45d498551c4cf954
60 lines
1.7 KiB
Python
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})
|