Skip to content

Commit

Permalink
update activity tests
Browse files Browse the repository at this point in the history
  • Loading branch information
smotornyuk authored and tino097 committed Dec 4, 2018
1 parent b2bcd87 commit be945f1
Showing 1 changed file with 37 additions and 18 deletions.
55 changes: 37 additions & 18 deletions ckan/tests/legacy/functional/api/test_activity.py
Expand Up @@ -236,9 +236,12 @@ def group_activity_stream(self, group_id, apikey=None):
extra_environ = {'Authorization': str(apikey)}
else:
extra_environ = None
response = self.app.get("/api/2/rest/group/%s/activity" % group_id,
extra_environ=extra_environ)
return json.loads(response.body)
params = {'id': group_id, 'limit': 100}
response = self.app.get("/api/action/group_activity_list",
params=params, extra_environ=extra_environ)
assert response.json['success'] is True
activities = response.json['result']
return activities

def recently_changed_datasets_stream(self, apikey=None):
if apikey:
Expand Down Expand Up @@ -983,7 +986,10 @@ def _update_package(self, package, user):
user_id = 'not logged in'
apikey = None

before = self.record_details(user_id, package['id'], apikey=apikey)
group_ids = [group['name'] for group in package['groups']]
before = self.record_details(
user_id, package['id'], apikey=apikey, group_ids=group_ids
)

# Update the package.
if package['title'] != 'edited':
Expand All @@ -993,7 +999,9 @@ def _update_package(self, package, user):
package['title'] = 'edited again'
package_update(self.app, package, user['apikey'])

after = self.record_details(user_id, package['id'], apikey=apikey)
after = self.record_details(
user_id, package['id'], apikey=apikey, group_ids=group_ids
)

# Find the new activity in the user's activity stream.
user_new_activities = (find_new_activities(
Expand Down Expand Up @@ -1134,9 +1142,11 @@ def _delete_package(self, package):
item and detail are emitted.
"""
before = self.record_details(self.sysadmin_user['id'], package['id'],
apikey=self.sysadmin_user['apikey'])

group_ids = [group['name'] for group in package['groups']]
before = self.record_details(
self.sysadmin_user['id'], package['id'],
apikey=self.sysadmin_user['apikey'], group_ids=group_ids
)
# Delete the package.
package_dict = {'id': package['id']}
response = self.app.post('/api/action/package_delete',
Expand All @@ -1145,8 +1155,10 @@ def _delete_package(self, package):
response_dict = json.loads(response.body)
assert response_dict['success'] is True

after = self.record_details(self.sysadmin_user['id'], package['id'],
apikey=self.sysadmin_user['apikey'])
after = self.record_details(
self.sysadmin_user['id'], package['id'],
apikey=self.sysadmin_user['apikey'], group_ids=group_ids
)

# Find the new activity in the user's activity stream.
user_new_activities = (find_new_activities(
Expand All @@ -1169,13 +1181,14 @@ def _delete_package(self, package):
after['recently changed datasets stream']) \
== user_new_activities

# If the package has any groups, the same new activity should appear
# in the activity stream of each group.
# If the package has any groups, there should be no new activities
# because package has been deleted == removed from group lifecycle

for group_dict in package['groups']:
grp_new_activities = find_new_activities(
before['group activity streams'][group_dict['name']],
after['group activity streams'][group_dict['name']])
assert grp_new_activities == [activity]
assert grp_new_activities == []

# Check that the new activity has the right attributes.
assert activity['object_id'] == package['id'], (
Expand Down Expand Up @@ -1524,15 +1537,21 @@ def test_add_tag(self):
pkg_dict = package_show(self.app, {'id': pkg_name})

# Add one new tag to the package.
before = self.record_details(user['id'], pkg_dict['id'],
apikey=user['apikey'])
group_ids = [group['name'] for group in pkg_dict['groups']]

before = self.record_details(
user['id'], pkg_dict['id'],
apikey=user['apikey'], group_ids=group_ids
)
new_tag_name = 'test tag'
assert new_tag_name not in [tag['name'] for tag in pkg_dict['tags']]

pkg_dict['tags'].append({'name': new_tag_name})
package_update(self.app, pkg_dict, user['apikey'])
after = self.record_details(user['id'], pkg_dict['id'],
apikey=user['apikey'])
package_update(self.app, pkg_dict, user)
after = self.record_details(
user['id'], pkg_dict['id'],
apikey=user['apikey'], group_ids=group_ids
)

# Find the new activity in the user's activity stream.
user_new_activities = (find_new_activities(
Expand Down

0 comments on commit be945f1

Please sign in to comment.