Skip to content

Commit

Permalink
[#1664] tests for logged in users
Browse files Browse the repository at this point in the history
  • Loading branch information
wardi authored and amercader committed Jun 25, 2014
1 parent bc36854 commit f1d7e00
Showing 1 changed file with 46 additions and 3 deletions.
49 changes: 46 additions & 3 deletions ckan/new_tests/logic/auth/test_create.py
Expand Up @@ -13,13 +13,13 @@
assert_equals = nose.tools.assert_equals


class TestCreateDatasetSettings(object):
def test_anon_cant_create_dataset(self):
class TestCreateDatasetAnonymousSettings(object):
def test_anon_cant_create(self):
response = auth_create.package_create({'user': None}, None)
assert_equals(response['success'], False)

@helpers.change_config('ckan.auth.anon_create_dataset', True)
def test_anon_can_create_dataset(self):
def test_anon_can_create(self):
response = auth_create.package_create({'user': None}, None)
assert_equals(response['success'], True)

Expand All @@ -37,6 +37,49 @@ def test_cud_overrides_acd(self):
assert_equals(response['success'], False)


class TestCreateDatasetLoggedInSettings(object):
def setup(self):
helpers.reset_db()

def test_no_org_user_can_create(self):
user = factories.User()
response = auth_create.package_create({'user': user.name}, None)
assert_equals(response['success'], True)

@helpers.change_config('ckan.auth.anon_create_dataset', True)
@helpers.change_config('ckan.auth.create_dataset_if_not_in_organization',
False)
def test_no_org_user_cant_create_if_cdnio_false(self):
user = factories.User()
response = auth_create.package_create({'user': user.name}, None)
assert_equals(response['success'], False)

@helpers.change_config('ckan.auth.anon_create_dataset', True)
@helpers.change_config('ckan.auth.create_unowned_dataset', False)
def test_no_org_user_cant_create_if_cud_false(self):
user = factories.User()
response = auth_create.package_create({'user': user.name}, None)
assert_equals(response['success'], False)

def test_same_org_user_can_create(self):
user = factories.User()
org_users = {'name': user.name, 'capacity': 'member'}
org = factories.Organization(users=org_users)
dataset = {'name': 'same-org-user-can-create', 'owner_org': org.id}
response = auth_create.package_create({'user': user.name}, dataset)
assert_equals(response['success'], True)

def test_different_org_user_cant_create(self):
user = factories.User()
org_users = {'name': user.name, 'capacity': 'member'}
org1 = factories.Organization(users=org_users)
org2 = factories.Organization()
dataset = {'name': 'different-org-user-cant-create',
'owner_org': org2.id}
response = auth_create.package_create({'user': user.name}, dataset)
assert_equals(response['success'], False)


class TestCreate(object):

def setup(self):
Expand Down

0 comments on commit f1d7e00

Please sign in to comment.