Skip to content

Commit

Permalink
[#953] Add API tests for private dataset activities
Browse files Browse the repository at this point in the history
Add tests that no activities are emitted when creating, updating or
deleting private datasets via the API.

These could be more detailed, e.g. test adding, deleting and updating
groups as well, or moving the dataset between groups or between orgs, or
testing what happens when a private dataset is made public or
vice-versa.
  • Loading branch information
Sean Hammond authored and amercader committed Jul 1, 2013
1 parent da182f3 commit ce12b3c
Showing 1 changed file with 51 additions and 0 deletions.
51 changes: 51 additions & 0 deletions ckan/tests/functional/api/test_activity.py
Expand Up @@ -18,6 +18,7 @@
import paste.fixture
from nose import SkipTest
from ckan.common import json
import ckan.tests as tests


##def package_update(context, data_dict):
Expand Down Expand Up @@ -2207,3 +2208,53 @@ def test_related_item_deleted(self):
assert activity_response_dict['result'][0]['user_id'] == user['id']
assert (activity_response_dict['result'][0]['data']['related']['id'] ==
response_dict['result']['id'])

def test_no_activity_when_creating_private_dataset(self):
'''There should be no activity when a private dataset is created.'''

user = self.normal_user
organization = tests.call_action_api(self.app, 'organization_create',
name='another_test_org', apikey=user['apikey'])
dataset = tests.call_action_api(self.app, 'package_create',
apikey=user['apikey'],
name='test_private_dataset',
owner_org=organization['id'], private=True)
activity_stream = tests.call_action_api(self.app,
'package_activity_list', id=dataset['id'],
apikey=user['apikey'])
assert activity_stream == []

def test_no_activity_when_updating_private_dataset(self):
'''There should be no activity when a private dataset is created.'''

user = self.normal_user
organization = tests.call_action_api(self.app, 'organization_create',
name='test_org_3', apikey=user['apikey'])
dataset = tests.call_action_api(self.app, 'package_create',
apikey=user['apikey'],
name='test_private_dataset_2',
owner_org=organization['id'], private=True)
dataset['notes'] = 'updated'
updated_dataset = tests.call_action_api(self.app, 'package_update',
apikey=user['apikey'], **dataset)
activity_stream = tests.call_action_api(self.app,
'package_activity_list', id=dataset['id'],
apikey=user['apikey'])
assert activity_stream == []

def test_no_activity_when_deleting_private_dataset(self):
'''There should be no activity when a private dataset is created.'''

user = self.normal_user
organization = tests.call_action_api(self.app, 'organization_create',
name='test_org_4', apikey=user['apikey'])
dataset = tests.call_action_api(self.app, 'package_create',
apikey=user['apikey'],
name='test_private_dataset_3',
owner_org=organization['id'], private=True)
deleted_dataset = tests.call_action_api(self.app, 'package_delete',
apikey=user['apikey'], id=dataset['id'])
activity_stream = tests.call_action_api(self.app,
'package_activity_list', id=dataset['id'],
apikey=user['apikey'])
assert activity_stream == []

0 comments on commit ce12b3c

Please sign in to comment.