def test_4_delete_publisher(self): group_name = 'deletetest' CreateTestData.create_groups( [{ 'name': group_name, 'packages': [u'cabinet-office-energy-use'] }], admin_user_name='nhsadmin') group = model.Group.by_name(group_name) offset = url_for(controller=self.publisher_controller, action='edit', id=group_name) res = self.app.get(offset, status=200, extra_environ={'REMOTE_USER': '******'}) main_res = self.main_div(res) assert 'Edit: %s' % group.title in main_res, main_res assert 'value="active" selected' in main_res, main_res # delete form = res.forms[0] form['state'] = 'deleted' form['category'] = 'private' # to get it to validate res = form.submit('save', status=302, extra_environ={'REMOTE_USER': '******'}) group = model.Group.by_name(group_name) assert_equal(group.state, 'deleted') res = self.app.get(offset, status=401)
def setup(self): """ Creates a harvested UKLP dataset. """ _drop_sysadmin() self.admin = _create_sysadmin() CreateTestData.create_test_user() self.tester = 'tester' CreateTestData.create_groups(_EXAMPLE_GROUPS, admin_user_name=self.tester, auth_profile='publisher') CreateTestData.flag_for_deletion(group_names=[g['name'] for g in _EXAMPLE_GROUPS]) context = { 'model': ckan.model, 'session': ckan.model.Session, 'user': self.admin, 'api_version': 2, 'schema': ckan.logic.schema.default_package_schema(), } package_dict = _UKLP_DATASET.copy() self.uklp_dataset = get_action('package_create_rest')(context, package_dict) CreateTestData.flag_for_deletion(pkg_names=[self.uklp_dataset['name']])
def setup_class(self): super(TestLoaderGroups, self).setup_class() self.loader = ReplaceByNameLoader(self.testclient) assert count_pkgs() == 0, count_pkgs() pkg_dicts = [ { 'name': u'pkga' }, { 'name': u'pkgb' }, { 'name': u'pkgc' }, ] CreateTestData.create_arbitrary(pkg_dicts) group_dicts = [ { 'name': u'g1', 'packages': [u'pkga'] }, { 'name': u'g2' }, { 'name': u'g3' }, ] CreateTestData.create_groups(group_dicts, USER) self.pkgs = [model.Package.by_name(pkg_dict['name']) \ for pkg_dict in pkg_dicts] self.pkg_ids = [pkg.id for pkg in self.pkgs]
def test_delete(self): group_name = 'deletetest' CreateTestData.create_groups([{ 'name': group_name, 'packages': [self.packagename] }], admin_user_name='russianfan') group = model.Group.by_name(group_name) offset = url_for(controller='group', action='edit', id=group_name) res = self.app.get(offset, status=200, extra_environ={'REMOTE_USER': '******'}) main_res = self.main_div(res) assert 'Edit: %s' % group.title in main_res, main_res assert 'value="active" selected' in main_res, main_res # delete form = res.forms['group-edit'] form['state'] = 'deleted' res = form.submit('save', status=302, extra_environ={'REMOTE_USER': '******'}) group = model.Group.by_name(group_name) assert_equal(group.state, 'deleted') res = self.app.get(offset, status=302) res = res.follow() assert res.request.url.startswith('/user/login'), res.request.url
def test_4_new_duplicate_package(self): prefix = '' # Create group group_name = u'testgrp4' CreateTestData.create_groups([{ 'name': group_name, 'packages': [self.packagename] }], admin_user_name='russianfan') # Add same package again offset = url_for(controller='group', action='edit', id=group_name) res = self.app.get(offset, status=200, extra_environ={'REMOTE_USER': '******'}) fv = res.forms['group-edit'] fv['packages__1__name'] = self.packagename res = fv.submit('save', status=302, extra_environ={'REMOTE_USER': '******'}) res = res.follow() assert group_name in res, res model.Session.remove() # check package only added to the group once group = model.Group.by_name(group_name) pkg_names = [pkg.name for pkg in group.active_packages().all()] assert_equal(pkg_names, [self.packagename])
def test_4_new_duplicate_package(self): prefix = '' # Create group group_name = u'testgrp4' CreateTestData.create_groups([{'name': group_name, 'packages': [self.packagename]}], admin_user_name='testsysadmin') # Add same package again offset = url_for(controller='group', action='edit', id=group_name) res = self.app.get(offset, status=200, extra_environ={'REMOTE_USER': '******'}) fv = res.forms['group-edit'] fv['packages__1__name'] = self.packagename res = fv.submit('save', status=302, extra_environ={'REMOTE_USER': '******'}) res = res.follow() assert group_name in res, res model.Session.remove() # check package only added to the group once group = model.Group.by_name(group_name) pkg_names = [pkg.name for pkg in group.packages()] assert_equal(pkg_names, [self.packagename])
def setup(self): """ Creates a harvested UKLP dataset. """ _drop_sysadmin() self.admin = _create_sysadmin() CreateTestData.create_test_user() self.tester = "tester" CreateTestData.create_groups(_EXAMPLE_GROUPS, admin_user_name=self.tester, auth_profile="publisher") CreateTestData.flag_for_deletion(group_names=[g["name"] for g in _EXAMPLE_GROUPS]) context = { "model": ckan.model, "session": ckan.model.Session, "user": self.admin, "api_version": 2, "schema": ckan.logic.schema.default_package_schema(), } package_dict = _UKLP_DATASET.copy() self.uklp_dataset = get_action("package_create_rest")(context, package_dict) CreateTestData.flag_for_deletion(pkg_names=[self.uklp_dataset["name"]])
def test_delete(self): group_name = 'deletetest' CreateTestData.create_groups([{'name': group_name, 'packages': [self.packagename]}], admin_user_name='testsysadmin') group = model.Group.by_name(group_name) offset = url_for(controller='group', action='edit', id=group_name) res = self.app.get(offset, status=200, extra_environ={'REMOTE_USER': '******'}) main_res = self.main_div(res) assert 'Edit: %s' % group.title in main_res, main_res assert 'value="active" selected' in main_res, main_res # delete form = res.forms['group-edit'] form['state'] = 'deleted' res = form.submit('save', status=302, extra_environ={'REMOTE_USER': '******'}) group = model.Group.by_name(group_name) assert_equal(group.state, 'deleted') res = self.app.get(offset, status=302) res = res.follow() assert res.request.url.startswith('/user/login'), res.request.url
def test_atom_feed_page_negative(self): group_name = "deletetest" CreateTestData.create_groups([{"name": group_name, "packages": []}], admin_user_name="testsysadmin") offset = url_for(controller="feed", action="group", id=group_name) offset = offset + "?page=-2" res = self.app.get(offset, expect_errors=True) assert '"page" parameter must be a positive integer' in res, res
def test_sorting(self): model.repo.rebuild_db() pkg1 = model.Package(name="pkg1") pkg2 = model.Package(name="pkg2") model.Session.add(pkg1) model.Session.add(pkg2) CreateTestData.create_groups([{ 'name': "alpha", 'packages': [] }, { 'name': "beta", 'packages': ["pkg1", "pkg2"] }, { 'name': "delta", 'packages': ["pkg1"] }, { 'name': "gamma", 'packages': [] }], admin_user_name='testsysadmin') context = { 'model': model, 'session': model.Session, 'user': '******', 'for_view': True, 'with_private': False } data_dict = {'all_fields': True} results = get_action('group_list')(context, data_dict) assert results[0]['name'] == u'alpha', results[0]['name'] assert results[-1]['name'] == u'gamma', results[-1]['name'] # Test name reverse data_dict = {'all_fields': True, 'sort': 'name desc'} results = get_action('group_list')(context, data_dict) assert results[0]['name'] == u'gamma', results[0]['name'] assert results[-1]['name'] == u'alpha', results[-1]['name'] # Test packages reversed data_dict = {'all_fields': True, 'sort': 'packages desc'} results = get_action('group_list')(context, data_dict) assert results[0]['name'] == u'beta', results[0]['name'] assert results[1]['name'] == u'delta', results[1]['name'] # Test packages forward data_dict = {'all_fields': True, 'sort': 'packages asc'} results = get_action('group_list')(context, data_dict) assert results[-2]['name'] == u'delta', results[-2]['name'] assert results[-1]['name'] == u'beta', results[-1]['name'] # Default ordering for packages data_dict = {'all_fields': True, 'sort': 'packages'} results = get_action('group_list')(context, data_dict) assert results[0]['name'] == u'beta', results[0]['name'] assert results[1]['name'] == u'delta', results[1]['name']
def test_sorting(self): model.repo.rebuild_db() testsysadmin = model.User(name=u"testsysadmin") testsysadmin.sysadmin = True model.Session.add(testsysadmin) pkg1 = model.Package(name="pkg1") pkg2 = model.Package(name="pkg2") model.Session.add(pkg1) model.Session.add(pkg2) CreateTestData.create_groups( [ {"name": "alpha", "packages": []}, {"name": "beta", "packages": ["pkg1", "pkg2"]}, {"name": "delta", "packages": ["pkg1"]}, {"name": "gamma", "packages": []}, ], admin_user_name="testsysadmin", ) context = { "model": model, "session": model.Session, "user": "******", "for_view": True, "with_private": False, } data_dict = {"all_fields": True} results = get_action("group_list")(context, data_dict) assert results[0]["name"] == u"alpha", results[0]["name"] assert results[-1]["name"] == u"gamma", results[-1]["name"] # Test name reverse data_dict = {"all_fields": True, "sort": "name desc"} results = get_action("group_list")(context, data_dict) assert results[0]["name"] == u"gamma", results[0]["name"] assert results[-1]["name"] == u"alpha", results[-1]["name"] # Test packages reversed data_dict = {"all_fields": True, "sort": "packages desc"} results = get_action("group_list")(context, data_dict) assert results[0]["name"] == u"beta", results[0]["name"] assert results[1]["name"] == u"delta", results[1]["name"] # Test packages forward data_dict = {"all_fields": True, "sort": "packages asc"} results = get_action("group_list")(context, data_dict) assert results[-2]["name"] == u"delta", results[-2]["name"] assert results[-1]["name"] == u"beta", results[-1]["name"] # Default ordering for packages data_dict = {"all_fields": True, "sort": "packages"} results = get_action("group_list")(context, data_dict) assert results[0]["name"] == u"beta", results[0]["name"] assert results[1]["name"] == u"delta", results[1]["name"]
def setup(self): username = '******' groupname = 'test group' organization_name = 'test organization' CreateTestData.create_user('sysadmin', **{ 'sysadmin': True }) CreateTestData.create_groups([{ 'name': groupname }, { 'name': organization_name, 'type': 'organization'}]) self.sysadmin = model.User.get(username) self.group = model.Group.get(groupname)
def setup(self): username = '******' groupname = 'test group' organization_name = 'test organization' CreateTestData.create_user('sysadmin', **{ 'sysadmin': True }) CreateTestData.create_groups([{ 'name': groupname }, { 'name': organization_name, 'type': 'organization'}]) self.sysadmin = model.User.get(username) self.group = model.Group.get(groupname)
def test_atom_feed_page_zero(self): group_name = "deletetest" CreateTestData.create_groups([{"name": group_name, "packages": []}], admin_user_name="testsysadmin") offset = url_for(controller="feed", action="group", id=group_name) offset = offset + "?page=0" res = self.app.get(offset) assert "<feed" in res, res assert 'xmlns="http://www.w3.org/2005/Atom"' in res, res assert "</feed>" in res, res
def test_atom_feed_page_negative(self): group_name = 'deletetest' CreateTestData.create_groups([{'name': group_name, 'packages': []}], admin_user_name='testsysadmin') offset = url_for(controller='feed', action='group', id=group_name) offset = offset + '?page=-2' res = self.app.get(offset, expect_errors=True) assert '"page" parameter must be a positive integer' in res, res
def test_atom_feed_page_negative(self): group_name = 'deletetest' CreateTestData.create_groups([{'name': group_name, 'packages': []}], admin_user_name='testsysadmin') offset = url_for(controller='feed', action='group', id=group_name) offset = offset + '?page=-2' res = self.app.get(offset, expect_errors=True) assert '"page" parameter must be a positive integer' in res, res
def setup(self): """ Create standard gov3 test fixtures for this suite. This test class won't be editing any packages, so it's ok to only create these fixtures once. """ CreateTestData.create_groups(_EXAMPLE_GROUPS, auth_profile="publisher") CreateTestData.flag_for_deletion(group_names=[g["name"] for g in _EXAMPLE_GROUPS]) self.fixtures = Gov3Fixtures() self.fixtures.create() self.admin = _create_sysadmin()
def setup(self): """ Create standard gov3 test fixtures for this suite. This test class won't be editing any packages, so it's ok to only create these fixtures once. """ CreateTestData.create_groups(_EXAMPLE_GROUPS, auth_profile='publisher') CreateTestData.flag_for_deletion(group_names=[g['name'] for g in _EXAMPLE_GROUPS]) self.fixtures = Gov3Fixtures() self.fixtures.create() self.admin = _create_sysadmin()
def test_atom_feed_page_zero(self): group_name = 'deletetest' CreateTestData.create_groups([{'name': group_name, 'packages': []}], admin_user_name='russianfan') offset = url_for(controller='feed', action='group', id=group_name) offset = offset + '?page=0' res = self.app.get(offset) assert '<feed' in res, res assert 'xmlns="http://www.w3.org/2005/Atom"' in res, res assert '</feed>' in res, res
def initial_data(self, clean_db): username = "******" groupname = "test group" organization_name = "test organization" CreateTestData.create_user("sysadmin", **{"sysadmin": True}) CreateTestData.create_groups( [ {"name": groupname}, {"name": organization_name, "type": "organization"}, ] ) self.sysadmin = model.User.get(username) self.group = model.Group.get(groupname)
def test_atom_feed_page_zero(self): group_name = 'deletetest' CreateTestData.create_groups([{'name': group_name, 'packages': []}], admin_user_name='testsysadmin') offset = url_for(controller='feed', action='group', id=group_name) offset = offset + '?page=0' res = self.app.get(offset) assert '<feed' in res, res assert 'xmlns="http://www.w3.org/2005/Atom"' in res, res assert '</feed>' in res, res
def test_sorting(self): model.repo.rebuild_db() testsysadmin = model.User(name=u'testsysadmin') testsysadmin.sysadmin = True model.Session.add(testsysadmin) pkg1 = model.Package(name="pkg1") pkg2 = model.Package(name="pkg2") model.Session.add(pkg1) model.Session.add(pkg2) CreateTestData.create_groups([{'name': "alpha", 'packages': []}, {'name': "beta", 'packages': ["pkg1", "pkg2"]}, {'name': "delta", 'packages': ["pkg1"]}, {'name': "gamma", 'packages': []}], admin_user_name='testsysadmin') context = {'model': model, 'session': model.Session, 'user': '******', 'for_view': True, 'with_private': False} data_dict = {'all_fields': True} results = get_action('group_list')(context, data_dict) assert results[0]['name'] == u'alpha', results[0]['name'] assert results[-1]['name'] == u'gamma', results[-1]['name'] # Test name reverse data_dict = {'all_fields': True, 'sort': 'name desc'} results = get_action('group_list')(context, data_dict) assert results[0]['name'] == u'gamma', results[0]['name'] assert results[-1]['name'] == u'alpha', results[-1]['name'] # Test packages reversed data_dict = {'all_fields': True, 'sort': 'packages desc'} results = get_action('group_list')(context, data_dict) assert results[0]['name'] == u'beta', results[0]['name'] assert results[1]['name'] == u'delta', results[1]['name'] # Test packages forward data_dict = {'all_fields': True, 'sort': 'packages asc'} results = get_action('group_list')(context, data_dict) assert results[-2]['name'] == u'delta', results[-2]['name'] assert results[-1]['name'] == u'beta', results[-1]['name'] # Default ordering for packages data_dict = {'all_fields': True, 'sort': 'packages'} results = get_action('group_list')(context, data_dict) assert results[0]['name'] == u'beta', results[0]['name'] assert results[1]['name'] == u'delta', results[1]['name']
def test_children(self): if model.engine_is_sqlite(): from nose import SkipTest raise SkipTest("Can't use CTE for sqlite") group_name = 'deletetest' CreateTestData.create_groups([{ 'name': group_name, 'packages': [] }, { 'name': "parent_group", 'packages': [] }], admin_user_name='testsysadmin') parent = model.Group.by_name("parent_group") group = model.Group.by_name(group_name) rev = model.repo.new_revision() rev.author = "none" member = model.Member(group_id=parent.id, table_id=group.id, table_name='group', capacity='member') model.Session.add(member) model.repo.commit_and_remove() offset = url_for(controller='group', action='edit', id=group_name) res = self.app.get(offset, status=200, extra_environ={'REMOTE_USER': '******'}) main_res = self.main_div(res) assert 'Edit: %s' % group.title in main_res, main_res assert 'value="active" selected' in main_res, main_res parent = model.Group.by_name("parent_group") assert_equal(len(parent.get_children_groups()), 1) # delete form = res.forms['group-edit'] form['state'] = 'deleted' res = form.submit('save', status=302, extra_environ={'REMOTE_USER': '******'}) group = model.Group.by_name(group_name) assert_equal(group.state, 'deleted') parent = model.Group.by_name("parent_group") assert_equal(len(parent.get_children_groups()), 0)
def setup_class(cls): model.repo.new_revision() tests.setup_test_search_index() CreateTestData.create_arbitrary(test_data) CreateTestData.create_groups([{ 'name': 'publisher1', 'packages': ['boolean1', 'boolean2', 'boolean3'] }]) model.Session.commit() for plugin in ['ecportal', 'ecportal_form', 'ecportal_publisher_form', 'ecportal_controller']: plugins.load(plugin)
def test_group_by_drupal_id(self): CreateTestData.create_groups([ {'name': 'nhs', 'drupal_id': '1'}, {'name': 'mod', 'drupal_id': '2'}, {'name': 'london', 'drupal_id': '3'}, ]) try: group = sync.group_by_drupal_id(2) assert group assert_equal(group.name, 'mod') finally: model.repo.rebuild_db()
def setup_class(self): CreateTestData.create_arbitrary([{'name': 'testpkg'}], extra_user_names=['brian', 'sandra']) CreateTestData.create_groups([ {'name': 'grp1', 'phone': '1234', } ]) grp1 = model.Group.by_name(u'grp1') brian = model.User.by_name(u'brian') model.Session.add(model.Member(group=grp1, table_id=brian.id, table_name='user', capacity='admin') ) model.repo.commit_and_remove()
def initial_data(self, clean_db): CreateTestData.create_arbitrary([{ "name": "testpkg" }], extra_user_names=["brian", "sandra"]) CreateTestData.create_groups([{"name": "grp1", "phone": "1234"}]) grp1 = model.Group.by_name(u"grp1") brian = model.User.by_name(u"brian") model.Session.add( model.Member( group=grp1, table_id=brian.id, table_name="user", capacity="admin", )) model.repo.commit_and_remove()
def setup_class(self): CreateTestData.create_arbitrary([{'name': 'testpkg'}], extra_user_names=['brian', 'sandra']) CreateTestData.create_groups([ {'name': 'grp1', 'phone': '1234', } ]) model.repo.new_revision() grp1 = model.Group.by_name(u'grp1') brian = model.User.by_name(u'brian') model.Session.add(model.Member(group=grp1, table_id=brian.id, table_name='user', capacity='admin') ) model.repo.commit_and_remove()
def test_member_new_invites_user_if_received_email(self, mail_user): user = CreateTestData.create_user("a_user", sysadmin=True) group_name = "a_group" CreateTestData.create_groups([{"name": group_name}], user.name) group = model.Group.get(group_name) url = url_for(controller="group", action="member_new", id=group.id) email = "*****@*****.**" role = "member" params = {"email": email, "role": role} res = self.app.post(url, params, extra_environ={"REMOTE_USER": str(user.name)}) users = model.User.by_email(email) assert len(users) == 1, users user = users[0] assert user.email == email, user assert group.id in user.get_group_ids(capacity=role)
def test_member_new_invites_user_if_received_email(_mail_user, app): user = CreateTestData.create_user("a_user", sysadmin=True) group_name = "a_group" CreateTestData.create_groups([{"name": group_name}], user.name) group = model.Group.get(group_name) url = url_for(controller="group", action="member_new", id=group.id) email = "*****@*****.**" role = "member" params = {"email": email, "role": role} app.post(url, data=params, extra_environ={"REMOTE_USER": str(user.name)}) users = model.User.by_email(email) assert len(users) == 1, users user = users[0] assert user.email == email, user assert group.id in user.get_group_ids(capacity=role)
def test_member_new_invites_user_if_received_email(self, mail_user): user = CreateTestData.create_user('a_user', sysadmin=True) group_name = 'a_group' CreateTestData.create_groups([{'name': group_name}], user.name) group = model.Group.get(group_name) url = url_for(controller='group', action='member_new', id=group.id) email = '*****@*****.**' role = 'member' params = {'email': email, 'role': role} res = self.app.post(url, params, extra_environ={'REMOTE_USER': str(user.name)}) users = model.User.by_email(email) assert len(users) == 1, users user = users[0] assert user.email == email, user assert group.id in user.get_group_ids(capacity=role)
def test_member_new_invites_user_if_received_email(self, mail_user): user = CreateTestData.create_user('a_user', sysadmin=True) group_name = 'a_group' CreateTestData.create_groups([{'name': group_name}], user.name) group = model.Group.get(group_name) url = url_for(controller='group', action='member_new', id=group.id) email = '*****@*****.**' role = 'member' params = {'email': email, 'role': role} res = self.app.post(url, params, extra_environ={'REMOTE_USER': str(user.name)}) users = model.User.by_email(email) assert len(users) == 1, users user = users[0] assert user.email == email, user assert group.id in user.get_group_ids(capacity=role)
def test_children(self): if model.engine_is_sqlite(): from nose import SkipTest raise SkipTest("Can't use CTE for sqlite") group_name = 'deletetest' CreateTestData.create_groups([{'name': group_name, 'packages': []}, {'name': "parent_group", 'packages': []}], admin_user_name='testsysadmin') parent = model.Group.by_name("parent_group") group = model.Group.by_name(group_name) rev = model.repo.new_revision() rev.author = "none" member = model.Member(group_id=group.id, table_id=parent.id, table_name='group', capacity='member') model.Session.add(member) model.repo.commit_and_remove() offset = url_for(controller='group', action='edit', id=group_name) res = self.app.get(offset, status=200, extra_environ={'REMOTE_USER': '******'}) main_res = self.main_div(res) assert 'Edit: %s' % group.title in main_res, main_res assert 'value="active" selected' in main_res, main_res parent = model.Group.by_name("parent_group") assert_equal(len(parent.get_children_groups()), 1) # delete form = res.forms['group-edit'] form['state'] = 'deleted' res = form.submit('save', status=302, extra_environ={'REMOTE_USER': '******'}) group = model.Group.by_name(group_name) assert_equal(group.state, 'deleted') parent = model.Group.by_name("parent_group") assert_equal(len(parent.get_children_groups()), 0)
def setup_class(self): super(TestLoaderGroups, self).setup_class() self.loader = ReplaceByNameLoader(self.testclient) assert count_pkgs() == 0, count_pkgs() pkg_dicts = [{'name':u'pkga'}, {'name':u'pkgb'}, {'name':u'pkgc'}, ] CreateTestData.create_arbitrary(pkg_dicts) group_dicts = [ {'name':u'g1', 'packages':[u'pkga']}, {'name':u'g2'}, {'name':u'g3'}, ] CreateTestData.create_groups(group_dicts, USER) self.pkgs = [model.Package.by_name(pkg_dict['name']) \ for pkg_dict in pkg_dicts] self.pkg_ids = [pkg.id for pkg in self.pkgs]
def test_children(self): if model.engine_is_sqlite(): from nose import SkipTest raise SkipTest("Can't use CTE for sqlite") group_name = "deletetest" CreateTestData.create_groups( [{"name": group_name, "packages": []}, {"name": "parent_group", "packages": []}], admin_user_name="testsysadmin", ) parent = model.Group.by_name("parent_group") group = model.Group.by_name(group_name) rev = model.repo.new_revision() rev.author = "none" member = model.Member(group_id=parent.id, table_id=group.id, table_name="group", capacity="member") model.Session.add(member) model.repo.commit_and_remove() offset = url_for(controller="group", action="edit", id=group_name) res = self.app.get(offset, status=200, extra_environ={"REMOTE_USER": "******"}) main_res = self.main_div(res) assert "Edit: %s" % group.title in main_res, main_res assert 'value="active" selected' in main_res, main_res parent = model.Group.by_name("parent_group") assert_equal(len(parent.get_children_groups()), 1) # delete form = res.forms["group-edit"] form["state"] = "deleted" res = form.submit("save", status=302, extra_environ={"REMOTE_USER": "******"}) group = model.Group.by_name(group_name) assert_equal(group.state, "deleted") parent = model.Group.by_name("parent_group") assert_equal(len(parent.get_children_groups()), 0)
def test_group_by_drupal_id(self): CreateTestData.create_groups([ { 'name': 'nhs', 'drupal_id': '1' }, { 'name': 'mod', 'drupal_id': '2' }, { 'name': 'london', 'drupal_id': '3' }, ]) try: group = sync.group_by_drupal_id(2) assert group assert_equal(group.name, 'mod') finally: model.repo.rebuild_db()
def test_4_delete_publisher(self): group_name = 'deletetest' CreateTestData.create_groups([{'name': group_name, 'packages': [u'cabinet-office-energy-use']}], admin_user_name='nhsadmin') group = model.Group.by_name(group_name) offset = url_for(controller=self.publisher_controller, action='edit', id=group_name) res = self.app.get(offset, status=200, extra_environ={'REMOTE_USER': '******'}) main_res = self.main_div(res) assert 'Edit: %s' % group.title in main_res, main_res assert 'value="active" selected' in main_res, main_res # delete form = res.forms['publisher-edit'] form['state'] = 'deleted' form['category'] = 'private' # to get it to validate res = form.submit('save', status=302, extra_environ={'REMOTE_USER': '******'}) group = model.Group.by_name(group_name) assert_equal(group.state, 'deleted') res = self.app.get(offset, status=401)
def test_4_new_duplicate_package(self): prefix = "" # Create group group_name = u"testgrp4" CreateTestData.create_groups( [{"name": group_name, "packages": [self.packagename]}], admin_user_name="testsysadmin" ) # Add same package again offset = url_for(controller="group", action="edit", id=group_name) res = self.app.get(offset, status=200, extra_environ={"REMOTE_USER": "******"}) fv = res.forms["group-edit"] fv["packages__1__name"] = self.packagename res = fv.submit("save", status=302, extra_environ={"REMOTE_USER": "******"}) res = res.follow() assert group_name in res, res model.Session.remove() # check package only added to the group once group = model.Group.by_name(group_name) pkg_names = [pkg.name for pkg in group.packages()] assert_equal(pkg_names, [self.packagename])
def test_delete(self): group_name = "deletetest" CreateTestData.create_groups( [{"name": group_name, "packages": [self.packagename]}], admin_user_name="testsysadmin" ) group = model.Group.by_name(group_name) offset = url_for(controller="group", action="edit", id=group_name) res = self.app.get(offset, status=200, extra_environ={"REMOTE_USER": "******"}) main_res = self.main_div(res) assert "Edit: %s" % group.title in main_res, main_res assert 'value="active" selected' in main_res, main_res # delete form = res.forms["group-edit"] form["state"] = "deleted" res = form.submit("save", status=302, extra_environ={"REMOTE_USER": "******"}) group = model.Group.by_name(group_name) assert_equal(group.state, "deleted") res = self.app.get(offset, status=302) res = res.follow() assert res.request.url.startswith("/user/login"), res.request.url
def test_sorting(): testsysadmin = factories.Sysadmin(name=u"testsysadmin") pkg1 = model.Package(name="pkg1") pkg2 = model.Package(name="pkg2") model.Session.add(pkg1) model.Session.add(pkg2) CreateTestData.create_groups( [ { "name": "alpha", "title": "Alpha", "packages": [] }, { "name": "beta", "title": "Beta", "packages": ["pkg1", "pkg2"] }, { "name": "delta", "title": "Delta", "packages": ["pkg1"] }, { "name": "gamma", "title": "Gamma", "packages": [] }, ], admin_user_name="testsysadmin", ) context = { "model": model, "session": model.Session, "user": "******", "for_view": True, "with_private": False, } data_dict = {"all_fields": True} results = get_action("group_list")(context, data_dict) assert results[0]["name"] == u"alpha", results[0]["name"] assert results[-1]["name"] == u"gamma", results[-1]["name"] # Test title forward data_dict = {"all_fields": True, "sort": "title asc"} results = get_action("group_list")(context, data_dict) assert results[0]["name"] == u"alpha", results[0]["name"] assert results[-1]["name"] == u"gamma", results[-1]["name"] # Test title reverse data_dict = {"all_fields": True, "sort": "title desc"} results = get_action("group_list")(context, data_dict) assert results[0]["name"] == u"gamma", results[0]["name"] assert results[-1]["name"] == u"alpha", results[-1]["name"] # Test name reverse data_dict = {"all_fields": True, "sort": "name desc"} results = get_action("group_list")(context, data_dict) assert results[0]["name"] == u"gamma", results[0]["name"] assert results[-1]["name"] == u"alpha", results[-1]["name"] # Test packages reversed data_dict = {"all_fields": True, "sort": "package_count desc"} results = get_action("group_list")(context, data_dict) assert results[0]["name"] == u"beta", results[0]["name"] assert results[1]["name"] == u"delta", results[1]["name"] # Test packages forward data_dict = {"all_fields": True, "sort": "package_count asc"} results = get_action("group_list")(context, data_dict) assert results[-2]["name"] == u"delta", results[-2]["name"] assert results[-1]["name"] == u"beta", results[-1]["name"] # Default ordering for packages data_dict = {"all_fields": True, "sort": "package_count"} results = get_action("group_list")(context, data_dict) assert results[0]["name"] == u"beta", results[0]["name"] assert results[1]["name"] == u"delta", results[1]["name"]
def setup(self): self._form_client = _PackageFormClient() CreateTestData.create_groups(_EXAMPLE_GROUPS, auth_profile='publisher') CreateTestData.flag_for_deletion(group_names=[g['name'] for g in _EXAMPLE_GROUPS])
def setup(self): self._form_client = _PackageFormClient() CreateTestData.create_groups(_EXAMPLE_GROUPS, auth_profile="publisher") CreateTestData.flag_for_deletion(group_names=[g["name"] for g in _EXAMPLE_GROUPS])