Unskip all revision tag functional tests.

Unskip all revision tag functional tests added by
commit If0fc9cec1f2382ae5dcf7ff7ebb60d0779df55dd

Change-Id: If95aa4e208fb80cb0f2f66ad4930099b51e1d757
This commit is contained in:
Felipe Monteiro 2017-09-05 16:57:13 +01:00
parent 7e5bb07541
commit 6817b39911
4 changed files with 33 additions and 34 deletions

View File

@ -28,11 +28,20 @@ class ViewBuilder(common.ViewBuilder):
}
for revision in revisions:
result = {}
body = {'tags': set(), 'buckets': set()}
rev_documents = revision.pop('documents')
for attr in ('id', 'created_at'):
result[common.to_camel_case(attr)] = revision[attr]
result['count'] = len(revision.pop('documents'))
resp_body['results'].append(result)
body[common.to_camel_case(attr)] = revision[attr]
body['tags'].update([t['tag'] for t in revision['tags']])
body['buckets'].update(
[d['bucket_id'] for d in rev_documents])
body['tags'] = sorted(body['tags'])
body['buckets'] = sorted(body['buckets'])
resp_body['results'].append(body)
return resp_body
@ -42,6 +51,10 @@ class ViewBuilder(common.ViewBuilder):
Each revision's documents should only be validation policies.
"""
validation_policies = []
# TODO(fmontei): For the time being we're only returning the tag name,
# but eventually we'll return data associated with the tag, which is
# why this is a dictionary, not a list.
tags = {}
success_status = 'success'
for vp in [d for d in revision['documents']
@ -60,10 +73,17 @@ class ViewBuilder(common.ViewBuilder):
if validation_policy['status'] != 'success':
success_status = 'failed'
for tag in revision['tags']:
tags.setdefault(tag['tag'], {'name': tag['tag']})
buckets = sorted(set([d['bucket_id'] for d in revision['documents']]))
return {
'id': revision.get('id'),
'createdAt': revision.get('created_at'),
'url': self._gen_url(revision),
'validationPolicies': validation_policies,
'status': success_status
'status': success_status,
'tags': tags,
'buckets': buckets
}

View File

@ -39,23 +39,19 @@ tests:
response_multidoc_jsonpaths:
$.[0].id: $HISTORY['initialize'].$RESPONSE['$.[0].status.revision']
$.[0].buckets: [mop]
$.[0].tags: []
skip: Not implemented.
$.[0].tags: {}
# Validates whether revision was created.
# Required parameters:
# path: revision_id.
# Asserts that status code and response headers are correct.
- name: verify_revision_list
desc: Verify that revision was created for document above
GET: /api/v1.0/revisions/$RESPONSE['$.[0].status.revision']
GET: /api/v1.0/revisions
status: 200
response_multidoc_jsonpaths:
$.[0].count: 1
$.[0].results[0].id: $HISTORY['initialize'].$RESPONSE['$.[0].status.revision']
$.[0].results[0].buckets: [mop]
$.[0].results[0].tags: []
skip: Not implemented.
# Validates whether revision deletion works.
# Required parameters:

View File

@ -66,15 +66,13 @@ tests:
status: 200
response_multidoc_jsonpaths:
$.[0].tags.foo.name: foo
skip: Not implemented.
- name: verify_revision_list_foo
desc: Verify showing created tag on revision list
GET: /api/v1.0/revisions
status: 200
response_multidoc_jsonpaths:
$.[0].tags [foo]
skip: Not implemented.
$.[0].results[0].tags: [foo]
- name: create_tag_with_data
desc: Create a tag with data for the revision
@ -106,15 +104,13 @@ tests:
response_multidoc_jsonpaths:
$.[0].tags.bar.name: bar
$.[0].tags.foo.name: foo
skip: Not implemented.
- name: verify_revision_list_bar
desc: Verify showing created tag on revision list
GET: /api/v1.0/revisions
status: 200
response_multidoc_jsonpaths:
$.[0].tags [bar, foo]
skip: Not implemented.
$.[0].results[0].tags: [bar, foo]
- name: delete_tag
desc: Verify deleting tag works
@ -137,15 +133,13 @@ tests:
status: 200
response_multidoc_jsonpaths:
$.[0].tags.bar.name: bar
skip: Not implemented.
- name: verify_revision_list_deleted_foo
desc: Verify not showing deleted tag on revision list
GET: /api/v1.0/revisions
status: 200
response_multidoc_jsonpaths:
$.[0].tags [bar]
skip: Not implemented.
$.[0].results[0].tags: [bar]
- name: delete_all_tags
desc: Verify deleting tag works
@ -158,15 +152,13 @@ tests:
status: 200
response_multidoc_jsonpaths:
$.[0].tags: {}
skip: Not implemented.
- name: verify_revision_list_deleted_all
desc: Verify empty tags on revision list
GET: /api/v1.0/revisions
status: 200
response_multidoc_jsonpaths:
$.[0].tags []
skip: Not implemented.
$.[0].results[0].tags: []
- name: verify_tag_delete_all
desc: Verify all tags have been deleted

View File

@ -34,15 +34,11 @@ class TestRevisionViews(base.TestDbBase):
revisions = self.list_revisions()
revisions_view = self.view_builder.list(revisions)
expected_attrs = ('results', 'count')
for attr in expected_attrs:
self.assertIn(attr, revisions_view)
self.assertIn('results', revisions_view)
# Validate that only 1 revision was returned.
self.assertEqual(1, revisions_view['count'])
# Validate that the first revision has 4 documents.
self.assertIn('id', revisions_view['results'][0])
self.assertIn('count', revisions_view['results'][0])
self.assertEqual(4, revisions_view['results'][0]['count'])
def test_list_multiple_revisions(self):
docs_count = []
@ -57,18 +53,13 @@ class TestRevisionViews(base.TestDbBase):
revisions = self.list_revisions()
revisions_view = self.view_builder.list(revisions)
expected_attrs = ('results', 'count')
for attr in expected_attrs:
self.assertIn(attr, revisions_view)
self.assertIn('results', revisions_view)
# Validate that only 1 revision was returned.
self.assertEqual(3, revisions_view['count'])
# Validate that each revision has correct number of documents.
for idx, doc_count in enumerate(docs_count):
self.assertIn('count', revisions_view['results'][idx])
self.assertIn('id', revisions_view['results'][idx])
self.assertEqual(doc_count, revisions_view['results'][idx][
'count'])
def test_show_revision(self):
payload = [base.DocumentFixture.get_minimal_fixture()