Skip to content

Commit

Permalink
[#3192] passing tests
Browse files Browse the repository at this point in the history
  • Loading branch information
wardi committed Aug 27, 2016
1 parent 64e8d08 commit c182b23
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 14 deletions.
9 changes: 6 additions & 3 deletions ckanext/example_ipermissionlabels/plugin.py
Expand Up @@ -2,6 +2,7 @@

from ckan import plugins
from ckan.lib.plugins import DefaultPermissionLabels
from ckan.plugins.toolkit import get_action

class ExampleIPermissionLabelsPlugin(
plugins.SingletonPlugin, DefaultPermissionLabels):
Expand Down Expand Up @@ -33,6 +34,8 @@ def get_user_dataset_labels(self, user_obj):
'''
labels = super(ExampleIPermissionLabelsPlugin, self
).get_user_dataset_labels(user_obj)
orgs = logic.get_action(u'organization_list_for_user')(
{u'user': user_obj.id}, {u'permission': u'admin'})
return labels + [u'admin-%s' % o['id'] for o in orgs]
if user_obj:
orgs = get_action(u'organization_list_for_user')(
{u'user': user_obj.id}, {u'permission': u'admin'})
labels.extend(u'admin-%s' % o['id'] for o in orgs)
return labels
Expand Up @@ -9,6 +9,7 @@
from ckan.plugins.toolkit import get_action, NotAuthorized
from ckan.tests.helpers import FunctionalTestBase, call_action, call_auth
from ckan.tests import factories
from ckan import model

class TestExampleIPermissionLabels(FunctionalTestBase):
@classmethod
Expand All @@ -28,7 +29,7 @@ def test_normal_dataset_permissions_are_normal(self):
org = factories.Organization(user=user)
org2 = factories.Organization(user=user2)
call_action(
'organization_member_create', None, username=user3['id'],
'organization_member_create', None, username=user3['name'],
id=org2['id'], role='member')

dataset = factories.Dataset(
Expand All @@ -37,12 +38,12 @@ def test_normal_dataset_permissions_are_normal(self):
name='d2', user=user2, private=True, owner_org=org2['id'])

results = get_action('package_search')(
{'user': user['id']}, {})['results']
{'user': user['name']}, {'include_private': True})['results']
names = [r['name'] for r in results]
assert_equal(names, ['d1'])

results = get_action('package_search')(
{'user': user3['id']}, {})['results']
{'user': user3['name']}, {'include_private': True})['results']
names = [r['name'] for r in results]
assert_equal(names, ['d2'])

Expand All @@ -51,7 +52,8 @@ def test_proposed_overrides_public(self):
dataset = factories.Dataset(
name='d1', notes='Proposed:', user=user)

results = get_action('package_search')({}, {})['results']
results = get_action('package_search')(
{}, {'include_private': True})['results']
names = [r['name'] for r in results]
assert_equal(names, [])

Expand All @@ -64,26 +66,29 @@ def test_proposed_dataset_visible_to_creator(self):
name='d1', notes='Proposed:', user=user)

results = get_action('package_search')(
{'user': user['id']}, {})['results']
{'user': user['name']}, {'include_private': True})['results']
names = [r['name'] for r in results]
assert_equal(names, ['d1'])

ret = call_auth('package_show',
{'user': user['id'], 'model': model}, id='d1')
assert ret['success'], ret
{'user': user['name'], 'model': model}, id='d1')
assert ret

def test_proposed_dataset_visible_to_org_admin(self):
user = factories.User()
user2 = factories.User()
org = factories.Organization(user=user2)
call_action(
'organization_member_create', None, username=user['name'],
id=org['id'], role='editor')
dataset = factories.Dataset(
name='d1', notes='Proposed:', user=user, owner_org=org['id'])

results = get_action('package_search')(
{'user': user2['id']}, {})['results']
{'user': user2['name']}, {'include_private': True})['results']
names = [r['name'] for r in results]
assert_equal(names, ['d1'])

ret = call_auth('package_show',
{'user': user2['id'], 'model': model}, id='d1')
assert ret['success'], ret
{'user': user2['name'], 'model': model}, id='d1')
assert ret
2 changes: 1 addition & 1 deletion setup.py
Expand Up @@ -142,7 +142,7 @@
'example_iconfigurer_v1 = ckanext.example_iconfigurer.plugin_v1:ExampleIConfigurerPlugin',
'example_iconfigurer_v2 = ckanext.example_iconfigurer.plugin_v2:ExampleIConfigurerPlugin',
'example_iuploader = ckanext.example_iuploader.plugin:ExampleIUploader',
'example_ipermissionlabels = ckanext.example_ipermissionlabels:ExampleIPermissionLabels',
'example_ipermissionlabels = ckanext.example_ipermissionlabels.plugin:ExampleIPermissionLabelsPlugin',
],
'ckan.system_plugins': [
'domain_object_mods = ckan.model.modification:DomainObjectModificationExtension',
Expand Down

0 comments on commit c182b23

Please sign in to comment.