Merge "Added audit_template filter to /audits/detail"
This commit is contained in:
@@ -295,29 +295,30 @@ class AuditsController(rest.RestController):
|
|||||||
sort_key=sort_key,
|
sort_key=sort_key,
|
||||||
sort_dir=sort_dir)
|
sort_dir=sort_dir)
|
||||||
|
|
||||||
@wsme_pecan.wsexpose(AuditCollection, types.uuid, int, wtypes.text,
|
@wsme_pecan.wsexpose(AuditCollection, wtypes.text, types.uuid, int,
|
||||||
wtypes.text, wtypes.text)
|
wtypes.text, wtypes.text)
|
||||||
def get_all(self, marker=None, limit=None,
|
def get_all(self, audit_template=None, marker=None, limit=None,
|
||||||
sort_key='id', sort_dir='asc', audit_template=None):
|
sort_key='id', sort_dir='asc'):
|
||||||
"""Retrieve a list of audits.
|
"""Retrieve a list of audits.
|
||||||
|
|
||||||
|
:param audit_template: Optional UUID or name of an audit
|
||||||
:param marker: pagination marker for large data sets.
|
:param marker: pagination marker for large data sets.
|
||||||
:param limit: maximum number of resources to return in a single result.
|
:param limit: maximum number of resources to return in a single result.
|
||||||
:param sort_key: column to sort results by. Default: id.
|
:param sort_key: column to sort results by. Default: id.
|
||||||
:param sort_dir: direction to sort. "asc" or "desc". Default: asc.
|
:param sort_dir: direction to sort. "asc" or "desc". Default: asc.
|
||||||
:param audit_template: Optional UUID or name of an audit
|
|
||||||
template, to get only audits for that audit template.
|
template, to get only audits for that audit template.
|
||||||
"""
|
"""
|
||||||
return self._get_audits_collection(marker, limit, sort_key,
|
return self._get_audits_collection(marker, limit, sort_key,
|
||||||
sort_dir,
|
sort_dir,
|
||||||
audit_template=audit_template)
|
audit_template=audit_template)
|
||||||
|
|
||||||
@wsme_pecan.wsexpose(AuditCollection, types.uuid, int, wtypes.text,
|
@wsme_pecan.wsexpose(AuditCollection, wtypes.text, types.uuid, int,
|
||||||
wtypes.text)
|
wtypes.text, wtypes.text)
|
||||||
def detail(self, marker=None, limit=None,
|
def detail(self, audit_template=None, marker=None, limit=None,
|
||||||
sort_key='id', sort_dir='asc'):
|
sort_key='id', sort_dir='asc'):
|
||||||
"""Retrieve a list of audits with detail.
|
"""Retrieve a list of audits with detail.
|
||||||
|
|
||||||
|
:param audit_template: Optional UUID or name of an audit
|
||||||
:param marker: pagination marker for large data sets.
|
:param marker: pagination marker for large data sets.
|
||||||
:param limit: maximum number of resources to return in a single result.
|
:param limit: maximum number of resources to return in a single result.
|
||||||
:param sort_key: column to sort results by. Default: id.
|
:param sort_key: column to sort results by. Default: id.
|
||||||
@@ -332,7 +333,8 @@ class AuditsController(rest.RestController):
|
|||||||
resource_url = '/'.join(['audits', 'detail'])
|
resource_url = '/'.join(['audits', 'detail'])
|
||||||
return self._get_audits_collection(marker, limit,
|
return self._get_audits_collection(marker, limit,
|
||||||
sort_key, sort_dir, expand,
|
sort_key, sort_dir, expand,
|
||||||
resource_url)
|
resource_url,
|
||||||
|
audit_template=audit_template)
|
||||||
|
|
||||||
@wsme_pecan.wsexpose(Audit, types.uuid)
|
@wsme_pecan.wsexpose(Audit, types.uuid)
|
||||||
def get_one(self, audit_uuid):
|
def get_one(self, audit_uuid):
|
||||||
|
|||||||
@@ -241,6 +241,32 @@ class TestListAudit(api_base.FunctionalTest):
|
|||||||
self.assertEqual(audit_template_uuid,
|
self.assertEqual(audit_template_uuid,
|
||||||
audit['audit_template_uuid'])
|
audit['audit_template_uuid'])
|
||||||
|
|
||||||
|
def test_detail_filter_by_audit_template_uuid(self):
|
||||||
|
audit_template_uuid = utils.generate_uuid()
|
||||||
|
audit_template_name = 'My_Audit_Template'
|
||||||
|
|
||||||
|
audit_template = obj_utils.create_test_audit_template(
|
||||||
|
self.context,
|
||||||
|
uuid=audit_template_uuid,
|
||||||
|
name=audit_template_name)
|
||||||
|
number_of_audits_with_audit_template_id = 5
|
||||||
|
for id_ in range(number_of_audits_with_audit_template_id):
|
||||||
|
obj_utils.create_test_audit(self.context, id=id_,
|
||||||
|
uuid=utils.generate_uuid(),
|
||||||
|
audit_template_id=audit_template.id)
|
||||||
|
for id_ in range(6, 8):
|
||||||
|
obj_utils.create_test_audit(self.context, id=id_,
|
||||||
|
uuid=utils.generate_uuid())
|
||||||
|
|
||||||
|
response = self.get_json('/audits/detail?audit_template=%s'
|
||||||
|
% audit_template_uuid)
|
||||||
|
|
||||||
|
audits = response['audits']
|
||||||
|
self.assertEqual(5, len(audits))
|
||||||
|
for audit in audits:
|
||||||
|
self.assertEqual(audit_template_uuid,
|
||||||
|
audit['audit_template_uuid'])
|
||||||
|
|
||||||
def test_filter_by_audit_template_name(self):
|
def test_filter_by_audit_template_name(self):
|
||||||
audit_template_uuid = utils.generate_uuid()
|
audit_template_uuid = utils.generate_uuid()
|
||||||
audit_template_name = 'My_Audit_Template'
|
audit_template_name = 'My_Audit_Template'
|
||||||
|
|||||||
Reference in New Issue
Block a user