diff --git a/ckan/public/base/javascript/modules/autocomplete.js b/ckan/public/base/javascript/modules/autocomplete.js index 3c635e8c5bb..a1b3957079b 100644 --- a/ckan/public/base/javascript/modules/autocomplete.js +++ b/ckan/public/base/javascript/modules/autocomplete.js @@ -18,6 +18,7 @@ this.ckan.module('autocomplete', function (jQuery, _) { tags: false, items: 10, source: null, + completions: null, interval: 1000, dropdownClass: '', containerClass: '', @@ -98,6 +99,9 @@ this.ckan.module('autocomplete', function (jQuery, _) { var source = parts.join('?') + encodeURIComponent(string) + end; var client = this.sandbox.client; var options = {format: client.parseCompletionsForPlugin}; + if (this.options.completions) { + options.format = this[this.options.completions]; + } return client.getCompletions(source, options, fn); }, @@ -223,6 +227,25 @@ this.ckan.module('autocomplete', function (jQuery, _) { return formatted; }, + /* Callback for completions for when querying users + * + * Returns results object + */ + parseCompletionsForUsers: function (data) { + var users = []; + jQuery.each(data, function() { + if (typeof this.name != 'undefined') { + users.push({ + id: this.name, + text: this.name + }); + } else { + users.push(this); + } + }); + return { results: users }; + }, + /* Callback triggered when the select2 plugin needs to make a request. * * Returns nothing. diff --git a/ckan/templates/organization/users_form.html b/ckan/templates/organization/users_form.html index 3b43a179da4..1e332eb5308 100644 --- a/ckan/templates/organization/users_form.html +++ b/ckan/templates/organization/users_form.html @@ -47,12 +47,14 @@ - {{ _('Add user') }} -
- -
- - +
+ {{ _('Add user') }} +
+ +
+ + +
diff --git a/ckan/tests/__init__.py b/ckan/tests/__init__.py index 27526a5a421..5078b6b4fa0 100644 --- a/ckan/tests/__init__.py +++ b/ckan/tests/__init__.py @@ -45,6 +45,7 @@ 'CkanServerCase', ] + here_dir = os.path.dirname(os.path.abspath(__file__)) conf_dir = os.path.dirname(os.path.dirname(here_dir)) @@ -404,3 +405,4 @@ class StatusCodes: STATUS_404_NOT_FOUND = 404 STATUS_409_CONFLICT = 409 + diff --git a/ckan/tests/functional/test_activity.py b/ckan/tests/functional/test_activity.py index f5fc49ba8fa..fd97d7188fd 100644 --- a/ckan/tests/functional/test_activity.py +++ b/ckan/tests/functional/test_activity.py @@ -19,6 +19,9 @@ class TestActivity(HtmlCheckMethods): """ @classmethod def setup(cls): + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + ckan.tests.CreateTestData.create() cls.sysadmin_user = ckan.model.User.get('testsysadmin') cls.app = paste.fixture.TestApp(pylonsapp) diff --git a/ckan/tests/functional/test_admin.py b/ckan/tests/functional/test_admin.py index 5fc7b9d9fca..e5d1b8b55fe 100644 --- a/ckan/tests/functional/test_admin.py +++ b/ckan/tests/functional/test_admin.py @@ -1,11 +1,12 @@ import ckan.model as model from ckan.tests import url_for, CreateTestData, WsgiAppCase -from nose.plugins.skip import SkipTest class TestAdminController(WsgiAppCase): @classmethod def setup_class(cls): - raise SkipTest() + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + # setup test data including testsysadmin user CreateTestData.create() @@ -34,11 +35,12 @@ class TestAdminAuthzController(WsgiAppCase): @classmethod def setup_class(cls): - # setup test data including testsysadmin user + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + CreateTestData.create() model.Session.commit() - raise SkipTest() @classmethod def teardown_class(self): @@ -160,9 +162,11 @@ def get_roles_by_name(user=None, group=None): class TestAdminTrashController(WsgiAppCase): def setup(cls): + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + model.repo.rebuild_db() CreateTestData.create() - raise SkipTest() def teardown(self): model.repo.rebuild_db() diff --git a/ckan/tests/functional/test_authz.py b/ckan/tests/functional/test_authz.py index 49880237a05..3846809483e 100644 --- a/ckan/tests/functional/test_authz.py +++ b/ckan/tests/functional/test_authz.py @@ -23,7 +23,9 @@ class AuthzTestBase(object): @classmethod def setup_class(self): - raise SkipTest() + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + setup_test_search_index() self._create_test_data() model.Session.remove() @@ -592,7 +594,9 @@ class TestLockedDownViaRoles(TestController): ''' @classmethod def setup_class(self): - raise SkipTest() + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + model.repo.init_db() q = model.Session.query(model.UserObjectRole) \ .filter(sa.or_(model.UserObjectRole.role==model.Role.EDITOR, diff --git a/ckan/tests/functional/test_edit_authz.py b/ckan/tests/functional/test_edit_authz.py index d3c01607990..85485c2af82 100644 --- a/ckan/tests/functional/test_edit_authz.py +++ b/ckan/tests/functional/test_edit_authz.py @@ -28,6 +28,9 @@ def check_and_set_checkbox(theform, user, role, should_be, set_to): class TestEditAuthz(TestController): @classmethod def setup_class(self): + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + # for the authorization editing tests we set up test data so: # three users, sysadmin , administrator, and another # one group, one package diff --git a/ckan/tests/functional/test_follow.py b/ckan/tests/functional/test_follow.py index 268fb823706..58661f480c1 100644 --- a/ckan/tests/functional/test_follow.py +++ b/ckan/tests/functional/test_follow.py @@ -9,6 +9,9 @@ class TestFollow(HtmlCheckMethods): @classmethod def setupClass(cls): + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + ckan.tests.CreateTestData.create() cls.testsysadmin = ckan.model.User.get('testsysadmin') cls.annafan = ckan.model.User.get('annafan') @@ -66,8 +69,8 @@ def test_dataset_read_not_logged_in(self): assert 'href="/dataset/followers/annakarenina"' in result assert 'Followers (3)' in result assert 'id="dataset_follow_button"' not in result - - def test_dataset_followers_not_logged_in(self): + + def test_dataset_followers_not_logged_in(self): offset = url_for(controller='package', action='followers', id='warandpeace') result = self.app.get(offset) @@ -101,7 +104,7 @@ def test_user_read_not_logged_in(self): assert 'href="/user/followers/annafan"' in result assert 'Followers (2)' in result assert 'id="user_follow_button"' not in result - + def test_user_followers_not_logged_in(self): offset = url_for(controller='user', action='followers', id='joeadmin') @@ -137,7 +140,7 @@ def test_own_user_read_logged_in(self): assert 'href="/user/followers/annafan"' in result assert 'My Followers (2)' in result assert 'id="user_follow_button"' not in result - + def test_own_user_followers_logged_in(self): offset = url_for(controller='user', action='followers', id='joeadmin') @@ -205,7 +208,7 @@ def test_dataset_follow_logged_in(self): extra_environ = {'Authorization': str(self.joeadmin.apikey)} result = self.app.get(offset, extra_environ=extra_environ) assert 'Unfollow' in result - + def test_user_read_logged_in(self): offset = url_for(controller='user', action='read', id='joeadmin') diff --git a/ckan/tests/functional/test_group.py b/ckan/tests/functional/test_group.py index 54ed1f649d6..4a1716d6a1d 100644 --- a/ckan/tests/functional/test_group.py +++ b/ckan/tests/functional/test_group.py @@ -52,7 +52,7 @@ class TestGroup(FunctionalTestCase): @classmethod def setup_class(self): from nose import SkipTest - raise SkipTest("Use organizations instead of groups") + raise SkipTest("Disable UI tests for 2.0 branch") model.Session.remove() CreateTestData.create() @@ -234,7 +234,7 @@ class TestGroupWithSearch(FunctionalTestCase): @classmethod def setup_class(self): from nose import SkipTest - raise SkipTest("Use organizations instead of groups") + raise SkipTest("Disable UI tests for 2.0 branch") setup_test_search_index() model.Session.remove() @@ -280,7 +280,7 @@ class TestEdit(FunctionalTestCase): @classmethod def setup_class(self): from nose import SkipTest - raise SkipTest("Use organizations instead of groups") + raise SkipTest("Disable UI tests for 2.0 branch") setup_test_search_index() model.Session.remove() @@ -507,7 +507,7 @@ class TestNew(FunctionalTestCase): @classmethod def setup_class(self): from nose import SkipTest - raise SkipTest("Use organizations instead of groups") + raise SkipTest("Disable UI tests for 2.0 branch") model.Session.remove() CreateTestData.create() @@ -627,7 +627,7 @@ class TestRevisions(FunctionalTestCase): @classmethod def setup_class(self): from nose import SkipTest - raise SkipTest("Use organizations instead of groups") + raise SkipTest("Disable UI tests for 2.0 branch") model.Session.remove() CreateTestData.create() diff --git a/ckan/tests/functional/test_home.py b/ckan/tests/functional/test_home.py index f69ca90d5da..3fde9565c60 100644 --- a/ckan/tests/functional/test_home.py +++ b/ckan/tests/functional/test_home.py @@ -13,11 +13,14 @@ class TestHomeController(TestController, PylonsTestCase, HtmlCheckMethods): @classmethod def setup_class(cls): + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + setup_test_search_index() PylonsTestCase.setup_class() model.repo.init_db() CreateTestData.create() - + @classmethod def teardown_class(self): model.repo.rebuild_db() @@ -36,7 +39,7 @@ def test_packages_link(self): offset = url_for('home') res = self.app.get(offset) res.click('Search', index=0) - + def test_template_head_end(self): offset = url_for('home') res = self.app.get(offset) @@ -98,7 +101,7 @@ def test_template_footer_end(self): ## tag='a', href_attr='href', ## href_extract=None, ## content='Deutsch', -## id=None, +## id=None, ## href_pattern=None, ## html_pattern=None, ## index=None, verbose=False) @@ -219,12 +222,15 @@ def test_update_profile_notice(self): class TestHomeControllerWithoutSearch(TestController, PylonsTestCase, HtmlCheckMethods): @classmethod def setup_class(cls): + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + PylonsTestCase.setup_class() - + @classmethod def teardown_class(self): model.repo.rebuild_db() - + def test_404(self): offset = '/some_nonexistent_url' res = self.app.get(offset, status=404) @@ -238,6 +244,9 @@ def test_about(self): class TestDatabaseNotInitialised(TestController): @classmethod def setup_class(cls): + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + PylonsTestCase.setup_class() model.repo.clean_db() diff --git a/ckan/tests/functional/test_package.py b/ckan/tests/functional/test_package.py index fb5104264b0..efbfb14915e 100644 --- a/ckan/tests/functional/test_package.py +++ b/ckan/tests/functional/test_package.py @@ -250,7 +250,9 @@ class TestReadOnly(TestPackageForm, HtmlCheckMethods, PylonsTestCase): @classmethod def setup_class(cls): - raise SkipTest("No UI test for organization") + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + PylonsTestCase.setup_class() CreateTestData.create() @@ -403,7 +405,9 @@ class TestReadAtRevision(FunctionalTestCase, HtmlCheckMethods): @classmethod def setup_class(cls): - raise SkipTest("No UI test for organization") + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + cls.before = datetime.datetime(2010, 1, 1) cls.date1 = datetime.datetime(2011, 1, 1) @@ -576,7 +580,8 @@ class TestEdit(TestPackageForm): @classmethod def setup_class(self): - raise SkipTest("No UI test for organization") + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") CreateTestData.create() @@ -1048,7 +1053,9 @@ class TestNew(TestPackageForm): @classmethod def setup_class(self): - raise SkipTest("No UI test for organization") + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + model.repo.init_db() CreateTestData.create_test_user() @@ -1322,7 +1329,9 @@ class TestSearch(TestPackageForm): @classmethod def setup_class(self): - raise SkipTest("No UI test for organization") + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + model.repo.init_db() @classmethod @@ -1346,7 +1355,9 @@ class TestNewPreview(TestPackageBase): @classmethod def setup_class(self): - raise SkipTest("No UI test for organization") + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + model.repo.init_db() @classmethod @@ -1358,7 +1369,9 @@ class TestNonActivePackages(TestPackageBase): @classmethod def setup_class(self): - raise SkipTest("No UI test for organization") + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + CreateTestData.create() self.non_active_name = u'test_nonactive' @@ -1395,7 +1408,9 @@ def test_read_as_admin(self): class TestRevisions(TestPackageBase): @classmethod def setup_class(cls): - raise SkipTest("No UI test for organization") + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + model.Session.remove() model.repo.init_db() cls.name = u'revisiontest1' @@ -1498,7 +1513,9 @@ class TestMarkdownHtmlWhitelist(TestPackageForm): ''' def setup(self): - raise SkipTest("No UI test for organization") + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + model.Session.remove() model.repo.init_db() @@ -1534,7 +1551,9 @@ def fail_if_fragment(self, fragment): class TestAutocomplete(PylonsTestCase, TestPackageBase): @classmethod def setup_class(cls): - raise SkipTest("No UI test for organization") + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + PylonsTestCase.setup_class() CreateTestData.create() diff --git a/ckan/tests/functional/test_package_edit_authz.py b/ckan/tests/functional/test_package_edit_authz.py index e26b06fcb1e..1e11e387e6e 100644 --- a/ckan/tests/functional/test_package_edit_authz.py +++ b/ckan/tests/functional/test_package_edit_authz.py @@ -8,6 +8,9 @@ class TestPackageEditAuthz(TestController): @classmethod def setup_class(self): + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + # for the authorization editing tests we set up test data so: # three users, madeup-sysadmin , madeup-administrator, and madeup-another # two packages test6 and test6a, m-a is admin on both diff --git a/ckan/tests/functional/test_package_relationships.py b/ckan/tests/functional/test_package_relationships.py index c44ecc32c9a..79caf0e0aa4 100644 --- a/ckan/tests/functional/test_package_relationships.py +++ b/ckan/tests/functional/test_package_relationships.py @@ -6,6 +6,9 @@ class TestRelationships(FunctionalTestCase): @classmethod def setup_class(self): + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + create = CreateTestData create.create_family_test_data() @@ -27,7 +30,7 @@ def read_package(pkg_name): self.check_named_element(res, 'li', 'is a parent of', 'lisa') self.check_named_element(res, 'li', 'has derivation', 'homer_derived') self.check_named_element(res, 'li', 'depends on', 'beer') - + res = read_package(u'bart') self.check_named_element(res, 'li', 'has sibling', 'lisa') self.check_named_element(res, 'li', 'is a child of', 'homer') diff --git a/ckan/tests/functional/test_pagination.py b/ckan/tests/functional/test_pagination.py index d48e62f6d03..79642c136f3 100644 --- a/ckan/tests/functional/test_pagination.py +++ b/ckan/tests/functional/test_pagination.py @@ -35,6 +35,9 @@ def test_scrape_user(): class TestPaginationPackage(TestController): @classmethod def setup_class(cls): + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + setup_test_search_index() model.repo.init_db() @@ -82,6 +85,9 @@ def test_group_datasets_read_p2(self): class TestPaginationGroup(TestController): @classmethod def setup_class(cls): + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + # no. entities per page is hardcoded into the controllers, so # create enough of each here so that we can test pagination cls.num_groups = 21 @@ -110,6 +116,9 @@ def test_group_index(self): class TestPaginationUsers(TestController): @classmethod def setup_class(cls): + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + # Delete default user as it appears in the first page of results model.User.by_name(u'logged_in').purge() model.repo.commit_and_remove() diff --git a/ckan/tests/functional/test_related.py b/ckan/tests/functional/test_related.py index fbe4b05016f..4b8e27a3f10 100644 --- a/ckan/tests/functional/test_related.py +++ b/ckan/tests/functional/test_related.py @@ -11,6 +11,9 @@ class TestRelatedUI(base.FunctionalTestCase): @classmethod def setup_class(self): + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + model.Session.remove() tests.CreateTestData.create() diff --git a/ckan/tests/functional/test_revision.py b/ckan/tests/functional/test_revision.py index 56121c783da..9fa5a4663c2 100644 --- a/ckan/tests/functional/test_revision.py +++ b/ckan/tests/functional/test_revision.py @@ -6,6 +6,9 @@ class TestRevisionController(TestController): @classmethod def setup_class(self): + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + model.Session.remove() # rebuild db before this test as it depends delicately on what # revisions exist @@ -134,7 +137,7 @@ def create_deleting_revision(self, name): model.repo.commit() def get_package(self, name): - return model.Package.by_name(name) + return model.Package.by_name(name) def test_read(self): anna = model.Package.by_name(u'annakarenina') @@ -151,7 +154,7 @@ def test_read(self): #assert "Datasets' Tags" in res #res = res.click('annakarenina', index=0) #assert 'Datasets - annakarenina' in res - + def test_list_format_atom(self): self.create_40_revisions() self.create_updating_revision(u'warandpeace', diff --git a/ckan/tests/functional/test_search.py b/ckan/tests/functional/test_search.py index f4aaed71e1b..67cc7727d28 100644 --- a/ckan/tests/functional/test_search.py +++ b/ckan/tests/functional/test_search.py @@ -18,6 +18,9 @@ class TestSearch(FunctionalTestCase): @classmethod def setup_class(cls): + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + model.Session.remove() setup_test_search_index() CreateTestData.create_search_test_data() @@ -73,6 +76,9 @@ class TestSearch2(FunctionalTestCase, PylonsTestCase):#, TestPackageForm): @classmethod def setup_class(cls): + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + PylonsTestCase.setup_class() setup_test_search_index() CreateTestData.create() @@ -128,6 +134,9 @@ def _check_search_results(self, page, terms, requireds): class TestNonActivePackages(FunctionalTestCase): @classmethod def setup_class(self): + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + setup_test_search_index() CreateTestData.create() self.non_active_name = u'test_nonactive' @@ -141,11 +150,11 @@ def setup_class(self): model.setup_default_user_roles(pkg, [admin]) model.repo.commit_and_remove() - model.repo.new_revision() + model.repo.new_revision() pkg = model.Session.query(model.Package).filter_by(name=self.non_active_name).one() pkg.delete() # becomes non active model.repo.commit_and_remove() - + @classmethod def teardown_class(self): diff --git a/ckan/tests/functional/test_storage.py b/ckan/tests/functional/test_storage.py index bcad2a10f18..1c23ee092ed 100644 --- a/ckan/tests/functional/test_storage.py +++ b/ckan/tests/functional/test_storage.py @@ -11,6 +11,9 @@ class TestStorageAPIController: @classmethod def setup_class(cls): + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + config = appconfig('config:test.ini', relative_to=conf_dir) for key in config.local_conf.keys(): if key.startswith('ofs'): @@ -40,11 +43,11 @@ def test_authz(self): # Non logged in users can not upload res = self.app.get(url, status=[302,401]) - + # Logged in users can upload res = self.app.get(url, status=[200], extra_environ={'REMOTE_USER':'tester'}) - - + + # TODO: ? test for non-authz case # url = url_for('storage_api_auth_form', label='abc') # res = self.app.get(url, status=[302,401]) @@ -53,6 +56,9 @@ def test_authz(self): class TestStorageAPIControllerLocal: @classmethod def setup_class(cls): + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + config = appconfig('config:test.ini', relative_to=conf_dir) for key in config.local_conf.keys(): if key.startswith('ofs'): @@ -103,6 +109,9 @@ def test_metadata(self): class _TestStorageAPIControllerGoogle: @classmethod def setup_class(cls): + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + config = appconfig('config:test.ini', relative_to=conf_dir) config.local_conf['ckan.storage.bucket'] = 'ckantest' config.local_conf['ofs.impl'] = 'google' diff --git a/ckan/tests/functional/test_tag.py b/ckan/tests/functional/test_tag.py index 1c19e8f021f..ff832f71778 100644 --- a/ckan/tests/functional/test_tag.py +++ b/ckan/tests/functional/test_tag.py @@ -9,6 +9,9 @@ class TestTagController(TestController): @classmethod def setup_class(self): + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + model.Session.remove() CreateTestData.create() @@ -64,7 +67,7 @@ def test_list_short(self): assert 'There are %s results for tags.' % tag_count in res # Avoid interactions. offset = url_for(controller='tag', action='index') - + def test_search(self): offset = url_for(controller='tag', action='index', id=None) res = self.app.get(offset) @@ -108,7 +111,7 @@ def test_autocomplete_with_capital_letter_in_search_term(self): res = self.app.get(offset) data = json.loads(res.body) assert u'Flexible \u30a1' in data['ResultSet']['Result'][0].values() - + def test_autocomplete_with_space_in_search_term(self): controller = 'api' action = 'tag_autocomplete' @@ -116,7 +119,7 @@ def test_autocomplete_with_space_in_search_term(self): res = self.app.get(offset) data = json.loads(res.body) assert u'Flexible \u30a1' in data['ResultSet']['Result'][0].values() - + def test_autocomplete_with_unicode_in_search_term(self): controller = 'api' action = 'tag_autocomplete' diff --git a/ckan/tests/functional/test_tag_vocab.py b/ckan/tests/functional/test_tag_vocab.py index f13fa039c74..760dcc9ace3 100644 --- a/ckan/tests/functional/test_tag_vocab.py +++ b/ckan/tests/functional/test_tag_vocab.py @@ -72,6 +72,9 @@ def value__get(self): class TestWUI(WsgiAppCase): @classmethod def setup_class(cls): + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + MockVocabTagsPlugin().set_active(True) CreateTestData.create(package_type='mock_vocab_tags_plugin') cls.sysadmin_user = model.User.get('testsysadmin') diff --git a/ckan/tests/functional/test_upload.py b/ckan/tests/functional/test_upload.py index 96f97cc576c..28f69f6eef7 100644 --- a/ckan/tests/functional/test_upload.py +++ b/ckan/tests/functional/test_upload.py @@ -10,6 +10,9 @@ class TestStorageController: @classmethod def setup_class(cls): + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + config = appconfig('config:test.ini', relative_to=conf_dir) config.local_conf['ckan.storage.directory'] = '/tmp' wsgiapp = make_app(config.global_conf, **config.local_conf) @@ -26,7 +29,7 @@ def test_02_authorization(self): import ckan.model as model import ckan.authz as authz - is_authorized = authz.Authorizer.is_authorized(u'tester', Action.UPLOAD_ACTION, model.System()) + is_authorized = authz.Authorizer.is_authorized(u'tester', Action.UPLOAD_ACTION, model.System()) assert is_authorized def test_03_authorization_wui(self): @@ -49,7 +52,7 @@ def test_04_index(self): url = url_for('storage_upload', filepath='xyz.txt') out = self.app.get(url, extra_environ=extra_environ) - assert 'file/xyz.txt' in out, out - + assert 'file/xyz.txt' in out, out + # TODO: test file upload itself diff --git a/ckan/tests/functional/test_user.py b/ckan/tests/functional/test_user.py index ee8db1350b0..46cc9e84cba 100644 --- a/ckan/tests/functional/test_user.py +++ b/ckan/tests/functional/test_user.py @@ -14,6 +14,9 @@ class TestUserController(FunctionalTestCase, HtmlCheckMethods, PylonsTestCase, SmtpServerHarness): @classmethod def setup_class(cls): + from nose import SkipTest + raise SkipTest("Disable UI tests for 2.0 branch") + smtp_server = config.get('test_smtp_server') if smtp_server: host, port = smtp_server.split(':')