def setup_class(cls):
     model.repo.rebuild_db()
     DguCreateTestData.create_dgu_test_data()
     cls.publisher_controller = 'ckanext.dgu.controllers.publisher:PublisherController'
     import ckanext.dgu.model.publisher_request as pr_model
     pr_model.init_tables(model.meta.engine)
     SmtpServerHarness.setup_class()
Exemplo n.º 2
0
    def setup_class(cls):
        DguCreateTestData.create_dgu_test_data()
        cls.publisher_controller = 'ckanext.dgu.controllers.publisher:PublisherController'

        # monkey patch webtest to support multiple select boxes
        Field.classes['multiple_select'] = MultipleSelect
        Form._parse_fields = _parse_fields
Exemplo n.º 3
0
    def command(self):
        self._load_config()
        self._setup_app()

        # Now we can import
        from ckan import plugins
        from ckanext.dgu.testtools.create_test_data import DguCreateTestData
        
        try:
            plugins.load('synchronous_search') # so packages get indexed
        except:
            pass

        self.log = logging.getLogger(__name__)

        if self.args:
            cmd = self.args[0]
        else:
            cmd = 'basic'
        if cmd == 'basic':
            DguCreateTestData.create_dgu_test_data()
        elif cmd == 'users':
            DguCreateTestData.create_dgu_test_users()
        else:
            print 'Command %s not recognized' % cmd
            raise NotImplementedError
        
        self.log.info('Created DGU test data successfully')
Exemplo n.º 4
0
 def setup_class(cls):
     model.repo.rebuild_db()
     DguCreateTestData.create_dgu_test_data()
     cls.publisher_controller = 'ckanext.dgu.controllers.publisher:PublisherController'
     import ckanext.dgu.model.publisher_request as pr_model
     pr_model.init_tables(model.meta.engine)
     SmtpServerHarness.setup_class()
    def setup_class(cls):
        DguCreateTestData.create_dgu_test_data()
        cls.publisher_controller = 'ckanext.dgu.controllers.publisher:PublisherController'

        # monkey patch webtest to support multiple select boxes
        Field.classes['multiple_select'] = MultipleSelect
        Form._parse_fields = _parse_fields
Exemplo n.º 6
0
    def test_basic_dataset(self):
        DguCreateTestData.create_dgu_test_data()
        pkg_name = DguCreateTestData.form_package().name
        context = {"model": model, "session": model.Session, "user": "******"}

        pkg = get_action("package_show")(context, {"id": pkg_name})
        get_action("package_update")(context, pkg)
 def setup_class(cls):
     search.clear()
     cls.tsi = TestSearchIndexer()
     DguCreateTestData.create_dgu_test_data()
     DguCreateTestData.create_arbitrary({'name': 'latest',
                                         'notes': '<b>Latest</b> dataset.',
                                         'groups': ['national-health-service']})
     cls.tsi.index()
Exemplo n.º 8
0
 def setup_class(cls):
     search.clear()
     cls.tsi = TestSearchIndexer()
     DguCreateTestData.create_dgu_test_data()
     DguCreateTestData.create_arbitrary(
         {"name": "latest", "notes": "<b>Latest</b> dataset.", "groups": ["national-health-service"]}
     )
     cls.tsi.index()
Exemplo n.º 9
0
 def setup_class(cls):
     DguCreateTestData.create_dgu_test_data()
     cls.pkg_name = DguCreateTestData.form_package().name
     cls.pkg_id = DguCreateTestData.form_package().id
     cls.extra_environ_editor = {"Authorization": str(model.User.by_name("nhseditor").apikey)}
     cls.extra_environ_admin = {"Authorization": str(model.User.by_name("nhsadmin").apikey)}
     cls.extra_environ_sysadmin = {"Authorization": str(model.User.by_name("sysadmin").apikey)}
     cls.context = {"model": model, "session": model.Session, "user": ""}
Exemplo n.º 10
0
 def setup_class(cls):
     search.clear()
     cls.tsi = TestSearchIndexer()
     DguCreateTestData.create_dgu_test_data()
     DguCreateTestData.create_arbitrary({'name': 'latest',
                                         'notes': '<b>Latest</b> dataset.',
                                         'groups': ['national-health-service']})
     cls.tsi.index()
Exemplo n.º 11
0
    def test_basic_dataset(self):
        DguCreateTestData.create_dgu_test_data()
        pkg_name = DguCreateTestData.form_package().name
        context = {'model': model, 'session': model.Session,
                   'user': '******'}

        pkg = get_action('package_show')(context, {'id': pkg_name})
        get_action('package_update')(context, pkg)
Exemplo n.º 12
0
    def test_1_edit_publisher(self):
        # Load form
        publisher_name = 'national-health-service'
        group = model.Group.by_name(publisher_name)
        offset = url_for('/publisher/edit/%s' % publisher_name)
        res = self.app.get(offset, status=200, extra_environ={'REMOTE_USER': '******'})
        assert 'Edit Publisher' in res, res
        form = res.forms[1]
        # TODO assert_equal(form['title'].value, 'National Health Service')
        assert_equal(form['name'].value, 'national-health-service')
        assert_equal(form['description'].value, '')
        # TODO assert_equal(form['parent'].value, 'dept-health')
        assert_equal(form['contact-name'].value, '')
        assert_equal(form['contact-email'].value, '*****@*****.**')
        assert_equal(form['foi-name'].value, '')
        assert_equal(form['foi-email'].value, '')
        assert_equal(form['foi-web'].value, '')
        assert_equal(form['category'].value, 'grouping')
        assert_equal(form['abbreviation'].value, 'NHS')

        # Make edit
        publisher_name = 'new-name'
        form['name'] = publisher_name
        form['description'] = 'New description'
        form['contact-name'] = 'Head of Comms'
        form['contact-email'] = '*****@*****.**'
        form['contact-phone'] = '01234 4567890'
        form['foi-name'] = 'Head of FOI Comms'
        form['foi-email'] = '*****@*****.**'
        form['foi-phone'] = '0845 4567890'
        form['foi-web'] = 'http://whatdotheyknow.com'
        form['category'] = 'non-ministerial-department'
        form['abbreviation'] = 'nhs'
        res = form.submit('save', status=302, extra_environ={'REMOTE_USER': '******'})

        # The return value is /organization, which routing then redirects to publisher
        assert_equal(res.header_dict['Location'], 'http://localhost/organization/new-name')

        # Check saved object
        publisher = model.Group.by_name(publisher_name)

        assert_equal(publisher.description, 'New description')
        assert_equal(publisher.extras['contact-name'], 'Head of Comms')
        assert_equal(publisher.extras['contact-email'], '*****@*****.**')
        assert_equal(publisher.extras['contact-phone'], '01234 4567890')
        assert_equal(publisher.extras['foi-name'], 'Head of FOI Comms')
        assert_equal(publisher.extras['foi-email'], '*****@*****.**')
        assert_equal(publisher.extras['foi-phone'], '0845 4567890')
        assert_equal(publisher.extras['foi-web'], 'http://whatdotheyknow.com')
        assert_equal(publisher.extras['category'], 'non-ministerial-department')
        assert_equal(publisher.extras['abbreviation'], 'nhs')

        # restore name for other tests
        #model.repo.new_revision()
        #publisher.name = 'national-health-service'
        #model.repo.commit_and_remove()
        model.repo.rebuild_db()
        DguCreateTestData.create_dgu_test_data()
Exemplo n.º 13
0
 def setup_class(cls):
     DguCreateTestData.create_dgu_test_data()
     DguCreateTestData.create_arbitrary({'name': 'latest',
                                         'notes': '<b>Latest</b> dataset.',
                                         'tags': ['tag1', 'tag2'],
                                         'extras': {'key': 'value'},
                                         'groups': ['national-health-service']})
     cls._assert_revision_created()
     model.Session.remove() # ensure last revision appears
Exemplo n.º 14
0
    def test_basic_dataset(self):
        DguCreateTestData.create_dgu_test_data()
        pkg_name = DguCreateTestData.form_package().name
        extra_environ_editor = {"Authorization": str(model.User.by_name("nhseditor").apikey)}

        result = self.app.get("/api/action/package_show?id=%s" % pkg_name, status=200)
        pkg = json.loads(result.body)["result"]
        postparams = "%s=1" % json.dumps(pkg)
        result = self.app.post(
            "/api/action/package_update", postparams, status=[200], extra_environ=extra_environ_editor
        )
Exemplo n.º 15
0
 def setup_class(cls):
     DguCreateTestData.create_dgu_test_data()
     cls.pkg_name = DguCreateTestData.form_package().name
     cls.pkg_id = DguCreateTestData.form_package().id
     cls.extra_environ_editor = {
         'Authorization': str(model.User.by_name('nhseditor').apikey)}
     cls.extra_environ_admin = {
         'Authorization': str(model.User.by_name('nhsadmin').apikey)}
     cls.extra_environ_sysadmin = {
         'Authorization': str(model.User.by_name('sysadmin').apikey)}
     cls.context = {'model': model, 'session': model.Session,
                    'user': ''}
Exemplo n.º 16
0
    def setup_class(cls):
        DguCreateTestData.create_dgu_test_data()
        DguCreateTestData.create_arbitrary({'name': 'latest',
                                            'notes': '<b>Latest</b> dataset.',
                                            'tags': ['tag1', 'tag2'],
                                            'extras': {'key': 'value'},
                                            'groups': ['national-health-service']})
        cls._assert_revision_created()
        model.Session.remove() # ensure last revision appears

        from ckanext.archiver.model import init_tables
        init_tables(model.meta.engine)
Exemplo n.º 17
0
 def setup_class(cls):
     DguCreateTestData.create_dgu_test_data()
     cls.pkg_name = DguCreateTestData.form_package().name
     cls.pkg_id = DguCreateTestData.form_package().id
     cls.extra_environ_editor = {
         'Authorization': str(model.User.by_name('nhseditor').apikey)}
     cls.extra_environ_admin = {
         'Authorization': str(model.User.by_name('nhsadmin').apikey)}
     cls.extra_environ_sysadmin = {
         'Authorization': str(model.User.by_name('sysadmin').apikey)}
     cls.context = {'model': model, 'session': model.Session,
                    'user': ''}
Exemplo n.º 18
0
    def test_basic_dataset(self):
        DguCreateTestData.create_dgu_test_data()
        pkg_name = DguCreateTestData.form_package().name
        extra_environ_editor = {
            'Authorization': str(model.User.by_name('nhseditor').apikey)}

        result = self.app.get('/api/action/package_show?id=%s' % pkg_name,
                              status=200)
        pkg = json.loads(result.body)['result']
        postparams = '%s=1' % json.dumps(pkg)
        result = self.app.post('/api/action/package_update',
                               postparams, status=[200],
                               extra_environ=extra_environ_editor)
Exemplo n.º 19
0
    def setup_class(cls):
        DguCreateTestData.create_dgu_test_data()
        DguCreateTestData.create_arbitrary(
            {
                "name": "latest",
                "notes": "<b>Latest</b> dataset.",
                "tags": ["tag1", "tag2"],
                "extras": {"key": "value"},
                "groups": ["national-health-service"],
            }
        )
        cls._assert_revision_created()
        model.Session.remove()  # ensure last revision appears

        from ckanext.archiver.model import init_tables

        init_tables(model.meta.engine)
Exemplo n.º 20
0
 def setup_class(cls):
     DguCreateTestData.create_dgu_test_data()
     cls.publisher_controller = 'ckanext.dgu.controllers.publisher:PublisherController'
     SmtpServerHarness.setup_class()
Exemplo n.º 21
0
 def setup_class(cls):
     DguCreateTestData.create_dgu_test_data()
     cls.publisher_controller = 'ckanext.dgu.controllers.publisher:PublisherController'
     SmtpServerHarness.setup_class()
Exemplo n.º 22
0
 def setup_class(cls):
     DguCreateTestData.create_dgu_test_data()
     model.repo.new_revision()
Exemplo n.º 23
0
 def setup_class(cls):
     PylonsTestCase.setup_class()
     DguCreateTestData.create_dgu_test_data()
Exemplo n.º 24
0
 def setup_class(cls):
     DguCreateTestData.create_dgu_test_data()
Exemplo n.º 25
0
 def setup_class(cls):
     DguCreateTestData.create_dgu_test_data()
     cls.inv_controller = 'ckanext.dgu.controllers.inventory:InventoryController'
Exemplo n.º 26
0
 def setup_class(cls):
     helpers.reset_db()
     PylonsTestCase.setup_class()
     DguCreateTestData.create_dgu_test_data()
Exemplo n.º 27
0
 def setup_class(cls):
     DguCreateTestData.create_dgu_test_data()
     cls.inv_controller = 'ckanext.dgu.controllers.inventory:InventoryController'
Exemplo n.º 28
0
    def test_1_edit_publisher(self):
        # Load form
        publisher_name = 'national-health-service'
        group = model.Group.by_name(publisher_name)
        offset = url_for('/publisher/edit/%s' % publisher_name)
        res = self.app.get(offset,
                           status=200,
                           extra_environ={'REMOTE_USER': '******'})
        assert 'Edit: %s' % group.title in res, res
        form = res.forms[0]
        # TODO assert_equal(form['title'].value, 'National Health Service')
        assert_equal(form['name'].value, 'national-health-service')
        assert_equal(form['description'].value, '')
        # TODO assert_equal(form['parent'].value, 'dept-health')
        assert_equal(form['contact-name'].value, '')
        assert_equal(form['contact-email'].value, '*****@*****.**')
        assert_equal(form['foi-name'].value, '')
        assert_equal(form['foi-email'].value, '')
        assert_equal(form['foi-web'].value, '')
        assert_equal(form['category'].value, 'grouping')
        assert_equal(form['abbreviation'].value, 'NHS')

        # Make edit
        publisher_name = 'new-name'
        form['name'] = publisher_name
        form['description'] = 'New description'
        form['contact-name'] = 'Head of Comms'
        form['contact-email'] = '*****@*****.**'
        form['contact-phone'] = '01234 4567890'
        form['foi-name'] = 'Head of FOI Comms'
        form['foi-email'] = '*****@*****.**'
        form['foi-phone'] = '0845 4567890'
        form['foi-web'] = 'http://whatdotheyknow.com'
        form['category'] = 'alb'
        form['abbreviation'] = 'nhs'
        res = form.submit('save',
                          status=302,
                          extra_environ={'REMOTE_USER': '******'})
        assert_equal(res.header_dict['Location'],
                     'http://localhost/publisher/new-name')

        # Check saved object
        publisher = model.Group.by_name(publisher_name)

        assert_equal(publisher.description, 'New description')
        assert_equal(publisher.extras['contact-name'], 'Head of Comms')
        assert_equal(publisher.extras['contact-email'], '*****@*****.**')
        assert_equal(publisher.extras['contact-phone'], '01234 4567890')
        assert_equal(publisher.extras['foi-name'], 'Head of FOI Comms')
        assert_equal(publisher.extras['foi-email'], '*****@*****.**')
        assert_equal(publisher.extras['foi-phone'], '0845 4567890')
        assert_equal(publisher.extras['foi-web'], 'http://whatdotheyknow.com')
        assert_equal(publisher.extras['category'], 'alb')
        assert_equal(publisher.extras['abbreviation'], 'nhs')

        # restore name for other tests
        #model.repo.new_revision()
        #publisher.name = 'national-health-service'
        #model.repo.commit_and_remove()
        model.repo.rebuild_db()
        DguCreateTestData.create_dgu_test_data()
Exemplo n.º 29
0
 def setup_class(cls):
     cls._form_client = _PackageFormClient()
     DguCreateTestData.create_dgu_test_data()
Exemplo n.º 30
0
 def setup_class(cls):
     PylonsTestCase.setup_class()
     DguCreateTestData.create_dgu_test_data()
Exemplo n.º 31
0
 def setup_class(cls):
     DguCreateTestData.create_dgu_test_data()
Exemplo n.º 32
0
 def setup_class(cls):
     helpers.reset_db()
     PylonsTestCase.setup_class()
     DguCreateTestData.create_dgu_test_data()
Exemplo n.º 33
0
 def setup_class(cls):
     cls._form_client = _PackageFormClient()
     DguCreateTestData.create_dgu_test_data()