Example #1
0
 def setup_class(cls):
     MockPackageSearchPlugin().activate()
     MockPackageSearchPlugin().enable()
     setup_test_search_index()
     CreateTestData.create()
     MockPackageSearchPlugin().disable()
     cls.sysadmin_user = model.User.get('testsysadmin')
Example #2
0
    def setup_class(cls):
        if not tests.is_search_supported():
            raise tests.SkipTest("Search not supported")
        tests.setup_test_search_index()

        ctd.CreateTestData.create()

        model.repo.new_revision()
        cls.vocab = model.Vocabulary(TEST_VOCAB_NAME)
        model.Session.add(cls.vocab)
        model.Session.commit()

        vocab_tag_1 = model.Tag('tag1', cls.vocab.id)
        vocab_tag_2 = model.Tag('tag2', cls.vocab.id)
        model.Session.add(vocab_tag_1)
        model.Session.add(vocab_tag_2)

        pkg = model.Package.get('warandpeace')
        pkg_tag1 = model.PackageTag(pkg, vocab_tag_1)
        pkg_tag2 = model.PackageTag(pkg, vocab_tag_2)
        model.Session.add(pkg_tag1)
        model.Session.add(pkg_tag2)

        model.Session.commit()
        model.Session.remove()
Example #3
0
 def setup_class(self):
     setup_test_search_index()
     CreateTestData.create()
     self.package_fixture_data = {
         'name':
         u'testpkg',
         'title':
         'Some Title',
         'url':
         u'http://blahblahblah.mydomain',
         'resources': [{
             u'url': u'http://blahblahblah.mydomain',
             u'format': u'',
             u'description': ''
         }],
         'tags': ['russion', 'novel'],
         'license_id':
         u'gpl-3.0',
         'extras': {
             'national_statistic': 'yes',
             'geographic_coverage': 'England, Wales'
         },
     }
     CreateTestData.create_arbitrary(self.package_fixture_data)
     self.base_url = self.offset('/search/dataset')
Example #4
0
 def setup_class(cls):
     setup_test_search_index()
     init_data = [
         {
             'name': 'a',
             'extras': {
                 'department': 'abc',
                 'agency': 'ag-a'
             },
         },
         {
             'name': 'b',
             'extras': {
                 'department': 'bcd',
                 'agency': 'ag-b'
             },
         },
         {
             'name': 'c',
             'extras': {
                 'department': 'cde abc'
             },
         },
         {
             'name': 'none',
             'extras': {
                 'department': ''
             },
         },
     ]
     CreateTestData.create_arbitrary(init_data)
Example #5
0
 def setup_class(cls):
     MockPackageSearchPlugin().activate()
     MockPackageSearchPlugin().enable()
     setup_test_search_index()
     CreateTestData.create()
     MockPackageSearchPlugin().disable()
     cls.sysadmin_user = model.User.get('testsysadmin')
Example #6
0
 def setup_class(self):
     setup_test_search_index()
     model.Session.remove()
     CreateTestData.create()
     self.groupname = u'david'
     self.packagename = u'testpkg'
     model.repo.new_revision()
     model.Session.add(model.Package(name=self.packagename))
     model.repo.commit_and_remove()
Example #7
0
 def setup_class(self):
     setup_test_search_index()
     model.Session.remove()
     CreateTestData.create()
     self.groupname = u'david'
     self.packagename = u'testpkg'
     model.repo.new_revision()
     model.Session.add(model.Package(name=self.packagename))
     model.repo.commit_and_remove()
Example #8
0
 def setup_class(cls):
     model.Session.remove()
     setup_test_search_index()
     CreateTestData.create_search_test_data()
     # now remove a tag so we can test search with deleted tags
     model.repo.new_revision()
     gils = model.Package.by_name(u'gils')
     # an existing tag used only by gils
     cls.tagname = u'registry'
     idx = [t.name for t in gils.get_tags()].index(cls.tagname)
     gils.remove_tag(gils.get_tags()[idx])
     model.repo.commit_and_remove()
 def setup_class(cls):
     model.Session.remove()
     setup_test_search_index()
     CreateTestData.create_search_test_data()
     # now remove a tag so we can test search with deleted tags
     model.repo.new_revision()
     gils = model.Package.by_name(u'gils')
     # an existing tag used only by gils
     cls.tagname = u'registry'
     idx = [t.name for t in gils.get_tags()].index(cls.tagname)
     gils.remove_tag(gils.get_tags()[idx])
     model.repo.commit_and_remove()
Example #10
0
 def setup_class(cls):
     setup_test_search_index()
     init_data = [{'name':u'test1-penguin-canary',
                   'title':u'penguin',
                   'tags':u'canary goose squirrel wombat wombat'.split()},
                  {'name':u'test2-squirrel-squirrel-canary-goose',
                   'title':u'squirrel goose',
                   'tags':u'penguin wombat'.split()},
                  ]
     CreateTestData.create_arbitrary(init_data)
     cls.pkg_names = [
         u'test1-penguin-canary',
         u'test2-squirrel-squirrel-canary-goose'
     ]
Example #11
0
 def setup_class(cls):
     setup_test_search_index()
     init_data = [
         {'name':'eng',
          'extras':{'geographic_coverage':'100000: England'},},
         {'name':'eng_ni',
          'extras':{'geographic_coverage':'100100: England, Northern Ireland'},},
         {'name':'uk',
          'extras':{'geographic_coverage':'111100: United Kingdom (England, Scotland, Wales, Northern Ireland'},},
         {'name':'gb',
          'extras':{'geographic_coverage':'111000: Great Britain (England, Scotland, Wales)'},},
         {'name':'none',
          'extras':{'geographic_coverage':'000000:'},},
     ]
     CreateTestData.create_arbitrary(init_data)
Example #12
0
 def setup_class(cls):
     setup_test_search_index()
     init_data = [
         {'name':'a',
          'extras':{'department':'abc',
                    'agency':'ag-a'},},
         {'name':'b',
          'extras':{'department':'bcd',
                    'agency':'ag-b'},},
         {'name':'c',
          'extras':{'department':'cde abc'},},
         {'name':'none',
          'extras':{'department':''},},
         ]
     CreateTestData.create_arbitrary(init_data)
Example #13
0
 def setup_class(self):
     setup_test_search_index()
     CreateTestData.create()
     self.package_fixture_data = {
         'name' : u'testpkg',
         'title': 'Some Title',
         'url': u'http://blahblahblah.mydomain',
         'resources': [{u'url':u'http://blahblahblah.mydomain',
                        u'format':u'', u'description':''}],
         'tags': ['russion', 'novel'],
         'license_id': u'gpl-3.0',
         'extras': {'national_statistic':'yes',
                    'geographic_coverage':'England, Wales'},
     }
     CreateTestData.create_arbitrary(self.package_fixture_data)
     self.base_url = self.offset('/search/dataset')
Example #14
0
    def setup_class(cls):
        setup_test_search_index()
        model.repo.init_db()

        # no. entities per page is hardcoded into the controllers, so
        # create enough of each here so that we can test pagination
        cls.num_packages_in_large_group = 51

        packages = []
        for i in range(cls.num_packages_in_large_group):
            packages.append({
                # CS: nasty_string ignore
                'name': u'dataset_%s' % str(i).zfill(2),
                'groups': u'group_00'
            })

        CreateTestData.create_arbitrary(packages)
Example #15
0
    def setup_class(cls):
        setup_test_search_index()
        model.repo.init_db()

        # no. entities per page is hardcoded into the controllers, so
        # create enough of each here so that we can test pagination
        cls.num_packages_in_large_group = 51

        packages = []
        for i in range(cls.num_packages_in_large_group):
            packages.append({
                # CS: nasty_string ignore
                'name': u'dataset_%s' % str(i).zfill(2),
                'groups': u'group_00'
            })

        CreateTestData.create_arbitrary(packages)
Example #16
0
    def test_sorting_datasets_by_total_views(self):
        # FIXME: Have some datasets with different numbers of recent and total
        # views, to make this a better test.
        import ckan.lib.search

        tests.setup_test_search_index()

        app = self._get_app()
        sysadmin_user, apikey = self._create_sysadmin(app)
        self._create_package(app, apikey, name='consider_phlebas')
        self._create_package(app, apikey, name='the_player_of_games')
        self._create_package(app, apikey, name='use_of_weapons')

        with app.flask_app.test_request_context():
            url = url_for(controller='package',
                          action='read',
                          id='consider_phlebas')
        self._post_to_tracking(app, url)

        with app.flask_app.test_request_context():
            url = url_for(controller='package',
                          action='read',
                          id='the_player_of_games')
        self._post_to_tracking(app, url, ip='111.11.111.111')
        self._post_to_tracking(app, url, ip='222.22.222.222')

        with app.flask_app.test_request_context():
            url = url_for(controller='package',
                          action='read',
                          id='use_of_weapons')
        self._post_to_tracking(app, url, ip='111.11.111.111')
        self._post_to_tracking(app, url, ip='222.22.222.222')
        self._post_to_tracking(app, url, ip='333.33.333.333')

        self._update_tracking_summary()
        ckan.lib.search.rebuild()

        response = tests.call_action_api(app,
                                         'package_search',
                                         sort='views_total desc')
        assert response['count'] == 3
        assert response['sort'] == 'views_total desc'
        packages = response['results']
        assert packages[0]['name'] == 'use_of_weapons'
        assert packages[1]['name'] == 'the_player_of_games'
        assert packages[2]['name'] == 'consider_phlebas'
 def setup_class(cls):
     setup_test_search_index()
     init_data = [
         {
             'name': u'test1-penguin-canary',
             'title': u'penguin',
             'tags': u'canary goose squirrel wombat wombat'.split()
         },
         {
             'name': u'test2-squirrel-squirrel-canary-goose',
             'title': u'squirrel goose',
             'tags': u'penguin wombat'.split()
         },
     ]
     CreateTestData.create_arbitrary(init_data)
     cls.pkg_names = [
         u'test1-penguin-canary', u'test2-squirrel-squirrel-canary-goose'
     ]
Example #18
0
 def initial_data(self, clean_db, clean_index):
     setup_test_search_index()
     init_data = [
         {
             "name": u"test1-penguin-canary",
             "title": u"penguin",
             "tags": u"canary goose squirrel wombat wombat".split(),
         },
         {
             "name": u"test2-squirrel-squirrel-canary-goose",
             "title": u"squirrel goose",
             "tags": u"penguin wombat".split(),
         },
     ]
     CreateTestData.create_arbitrary(init_data)
     self.pkg_names = [
         u"test1-penguin-canary",
         u"test2-squirrel-squirrel-canary-goose",
     ]
Example #19
0
    def test_sorting_datasets_by_total_views(self):
        # FIXME: Have some datasets with different numbers of recent and total
        # views, to make this a better test.
        import ckan.lib.search

        tests.setup_test_search_index()

        app = self._get_app()
        sysadmin_user, apikey = self._create_sysadmin(app)
        self._create_package(app, apikey, name='consider_phlebas')
        self._create_package(app, apikey, name='the_player_of_games')
        self._create_package(app, apikey, name='use_of_weapons')

        url = routes.url_for(controller='package', action='read',
                             id='consider_phlebas')
        self._post_to_tracking(app, url)

        url = routes.url_for(controller='package', action='read',
                             id='the_player_of_games')
        self._post_to_tracking(app, url, ip='111.11.111.111')
        self._post_to_tracking(app, url, ip='222.22.222.222')

        url = routes.url_for(controller='package', action='read',
                             id='use_of_weapons')
        self._post_to_tracking(app, url, ip='111.11.111.111')
        self._post_to_tracking(app, url, ip='222.22.222.222')
        self._post_to_tracking(app, url, ip='333.33.333.333')

        self._update_tracking_summary()
        ckan.lib.search.rebuild()

        response = tests.call_action_api(app, 'package_search',
                                         sort='views_total desc')
        assert response['count'] == 3
        assert response['sort'] == 'views_total desc'
        packages = response['results']
        assert packages[0]['name'] == 'use_of_weapons'
        assert packages[1]['name'] == 'the_player_of_games'
        assert packages[2]['name'] == 'consider_phlebas'
    def setup_class(cls):
        setup_test_search_index()
        # Force a garbage collection to trigger issue #695
        import gc
        gc.collect()

        CreateTestData.create()

        cls.new_pkg_dict = {
            'name': 'council-owned-litter-bins',
            'notes': 'Location of Council owned litter bins within Borough.',
            'resources': [{'description': 'Resource locator',
                           'format': 'Unverified',
                           'url': 'http://www.barrowbc.gov.uk'}],
            'tags': ['Utility and governmental services'],
            'title': 'Council Owned Litter Bins',
            'extras': {
                'INSPIRE': 'True',
                'bbox-east-long': '-3.12442',
                'bbox-north-lat': '54.218407',
                'bbox-south-lat': '54.039634',
                'bbox-west-long': '-3.32485',
                'constraint': 'conditions unknown; (e) intellectual property rights;',
                'dataset-reference-date': json.dumps(
                                          [{'type': 'creation',
                                            'value': '2008-10-10'},
                                           {'type': 'revision',
                                            'value': '2009-10-08'}]),
                'guid': '00a743bf-cca4-4c19-a8e5-e64f7edbcadd',
                'metadata-date': '2009-10-16',
                'metadata-language': 'eng',
                'published_by': 0,
                'resource-type': 'dataset',
                'spatial-reference-system': 'test-spatial',
                'temporal_coverage-from': '1977-03-10T11:45:30',
                'temporal_coverage-to': '2005-01-15T09:10:00'
            }
        }
 def setup_class(cls):
     setup_test_search_index()
     init_data = [
         {
             'name': 'eng',
             'extras': {
                 'geographic_coverage': '100000: England'
             },
         },
         {
             'name': 'eng_ni',
             'extras': {
                 'geographic_coverage': '100100: England, Northern Ireland'
             },
         },
         {
             'name': 'uk',
             'extras': {
                 'geographic_coverage':
                 '111100: United Kingdom (England, Scotland, Wales, Northern Ireland'
             },
         },
         {
             'name': 'gb',
             'extras': {
                 'geographic_coverage':
                 '111000: Great Britain (England, Scotland, Wales)'
             },
         },
         {
             'name': 'none',
             'extras': {
                 'geographic_coverage': '000000:'
             },
         },
     ]
     CreateTestData.create_arbitrary(init_data)
Example #22
0
    def setup_class(cls):
        if not tests.is_search_supported():
            raise tests.SkipTest("Search not supported")
        tests.setup_test_search_index()

        ctd.CreateTestData.create()

        cls.vocab = model.Vocabulary(TEST_VOCAB_NAME)
        model.Session.add(cls.vocab)
        model.Session.commit()

        vocab_tag_1 = model.Tag('tag1', cls.vocab.id)
        vocab_tag_2 = model.Tag('tag2', cls.vocab.id)
        model.Session.add(vocab_tag_1)
        model.Session.add(vocab_tag_2)

        pkg = model.Package.get('warandpeace')
        pkg_tag1 = model.PackageTag(pkg, vocab_tag_1)
        pkg_tag2 = model.PackageTag(pkg, vocab_tag_2)
        model.Session.add(pkg_tag1)
        model.Session.add(pkg_tag2)

        model.Session.commit()
        model.Session.remove()
Example #23
0
 def setup_class(cls):
     setup_test_search_index()
     CreateTestData.create_search_test_data()
     cls.solr = search.make_connection()
     cls.fq = " +site_id:\"%s\" " % config['ckan.site_id']
     search.rebuild()
Example #24
0
 def setup_class(cls):
     setup_test_search_index()
     PylonsTestCase.setup_class()
     model.repo.init_db()
     CreateTestData.create()
 def initial_data(self, clean_db, clean_index):
     setup_test_search_index()
     CreateTestData.create_search_test_data()
     self.solr = search.make_connection()
     self.fq = ' +site_id:"%s" ' % config["ckan.site_id"]
     search.rebuild()
Example #26
0
 def setup_class(cls):
     setup_test_search_index()
     CreateTestData.create_search_test_data()
     cls.solr = search.make_connection()
     cls.fq = " +site_id:\"%s\" " % config['ckan.site_id']
     search.rebuild()
Example #27
0
 def setup_class(cls):
     setup_test_search_index()
     PylonsTestCase.setup_class()
     model.repo.init_db()
     CreateTestData.create()
 def setup_class(cls):
     setup_test_search_index()
     CreateTestData.create()
Example #29
0
 def setup_class(cls):
     setup_test_search_index()
     CreateTestData.create()
Example #30
0
 def setup_class(self, clean_db, clean_index):
     setup_test_search_index()
     CreateTestData.create()