Remove using of UUID field in POST methods of Watcher API
This patch set removes the possibility of using UUID field in POST methods of Watcher API. Closes-Bug: #1572625 Change-Id: I88a8aa5346e937e3e9409b55da3316cbe1ed832a
This commit is contained in:
@@ -392,6 +392,7 @@ class TestPost(api_base.FunctionalTest):
|
||||
audit_template_dict = api_utils.audit_template_post_data()
|
||||
test_time = datetime.datetime(2000, 1, 1, 0, 0)
|
||||
mock_utcnow.return_value = test_time
|
||||
del audit_template_dict['uuid']
|
||||
|
||||
response = self.post_json('/audit_templates', audit_template_dict)
|
||||
self.assertEqual('application/json', response.content_type)
|
||||
@@ -399,10 +400,9 @@ class TestPost(api_base.FunctionalTest):
|
||||
# Check location header
|
||||
self.assertIsNotNone(response.location)
|
||||
expected_location = \
|
||||
'/v1/audit_templates/%s' % audit_template_dict['uuid']
|
||||
'/v1/audit_templates/%s' % response.json['uuid']
|
||||
self.assertEqual(urlparse.urlparse(response.location).path,
|
||||
expected_location)
|
||||
self.assertEqual(audit_template_dict['uuid'], response.json['uuid'])
|
||||
self.assertNotIn('updated_at', response.json.keys)
|
||||
self.assertNotIn('deleted_at', response.json.keys)
|
||||
return_created_at = timeutils.parse_isotime(
|
||||
@@ -417,6 +417,7 @@ class TestPost(api_base.FunctionalTest):
|
||||
) as cn_mock:
|
||||
audit_template_dict = api_utils.audit_template_post_data(
|
||||
goal='DUMMY')
|
||||
del audit_template_dict['uuid']
|
||||
response = self.post_json('/audit_templates', audit_template_dict)
|
||||
self.assertEqual(audit_template_dict['goal'],
|
||||
response.json['goal'])
|
||||
@@ -447,6 +448,20 @@ class TestPost(api_base.FunctionalTest):
|
||||
self.assertEqual(400, response.status_int)
|
||||
assert not cn_mock.called
|
||||
|
||||
def test_create_audit_template_with_uuid(self):
|
||||
with mock.patch.object(
|
||||
self.dbapi,
|
||||
'create_audit_template',
|
||||
wraps=self.dbapi.create_audit_template
|
||||
) as cn_mock:
|
||||
audit_template_dict = api_utils.audit_template_post_data()
|
||||
|
||||
response = self.post_json('/audit_templates', audit_template_dict,
|
||||
expect_errors=True)
|
||||
self.assertEqual('application/json', response.content_type)
|
||||
self.assertEqual(400, response.status_int)
|
||||
assert not cn_mock.called
|
||||
|
||||
|
||||
class TestDelete(api_base.FunctionalTest):
|
||||
|
||||
|
||||
@@ -433,6 +433,7 @@ class TestPost(api_base.FunctionalTest):
|
||||
mock_utcnow.return_value = test_time
|
||||
|
||||
audit_dict = post_get_test_audit(state=objects.audit.State.PENDING)
|
||||
del audit_dict['uuid']
|
||||
del audit_dict['state']
|
||||
|
||||
response = self.post_json('/audits', audit_dict)
|
||||
@@ -440,10 +441,9 @@ class TestPost(api_base.FunctionalTest):
|
||||
self.assertEqual(201, response.status_int)
|
||||
# Check location header
|
||||
self.assertIsNotNone(response.location)
|
||||
expected_location = '/v1/audits/%s' % audit_dict['uuid']
|
||||
expected_location = '/v1/audits/%s' % response.json['uuid']
|
||||
self.assertEqual(urlparse.urlparse(response.location).path,
|
||||
expected_location)
|
||||
self.assertEqual(audit_dict['uuid'], response.json['uuid'])
|
||||
self.assertEqual(objects.audit.State.PENDING,
|
||||
response.json['state'])
|
||||
self.assertNotIn('updated_at', response.json.keys)
|
||||
@@ -473,6 +473,7 @@ class TestPost(api_base.FunctionalTest):
|
||||
mock_utcnow.return_value = test_time
|
||||
|
||||
audit_dict = post_get_test_audit()
|
||||
del audit_dict['uuid']
|
||||
del audit_dict['state']
|
||||
# Make the audit template UUID some garbage value
|
||||
audit_dict['audit_template_uuid'] = (
|
||||
@@ -492,6 +493,7 @@ class TestPost(api_base.FunctionalTest):
|
||||
|
||||
audit_dict = post_get_test_audit(state=objects.audit.State.PENDING)
|
||||
state = audit_dict['state']
|
||||
del audit_dict['uuid']
|
||||
del audit_dict['state']
|
||||
with mock.patch.object(self.dbapi, 'create_audit',
|
||||
wraps=self.dbapi.create_audit) as cn_mock:
|
||||
@@ -520,9 +522,20 @@ class TestPost(api_base.FunctionalTest):
|
||||
with mock.patch.object(deapi.DecisionEngineAPI,
|
||||
'trigger_audit') as de_mock:
|
||||
audit_dict = post_get_test_audit(state=objects.audit.State.PENDING)
|
||||
del audit_dict['uuid']
|
||||
del audit_dict['state']
|
||||
self.post_json('/audits', audit_dict)
|
||||
de_mock.assert_called_once_with(mock.ANY, audit_dict['uuid'])
|
||||
response = self.post_json('/audits', audit_dict)
|
||||
de_mock.assert_called_once_with(mock.ANY, response.json['uuid'])
|
||||
|
||||
@mock.patch.object(deapi.DecisionEngineAPI, 'trigger_audit')
|
||||
def test_create_audit_with_uuid(self, mock_trigger_audit):
|
||||
mock_trigger_audit.return_value = mock.ANY
|
||||
|
||||
audit_dict = post_get_test_audit(state=objects.audit.State.PENDING)
|
||||
response = self.post_json('/audits', audit_dict, expect_errors=True)
|
||||
self.assertEqual('application/json', response.content_type)
|
||||
self.assertEqual(400, response.status_int)
|
||||
assert not mock_trigger_audit.called
|
||||
|
||||
|
||||
# class TestDelete(api_base.FunctionalTest):
|
||||
|
||||
Reference in New Issue
Block a user