示例#1
0
    def test_resource_form_update(self):
        value = {
            'a': 1,
            'b': 2,
        }
        dataset = Dataset(
            type='test-schema',
            resources=[{
                'url': 'http://example.com/data.csv',
                'a_resource_json_field': value
            }]
        )

        app = self._get_test_app()
        env, response = _get_resource_update_page_as_sysadmin(
            app, dataset['id'], dataset['resources'][0]['id'])
        form = response.forms['resource-edit']

        assert_equals(form['a_resource_json_field'].value, json.dumps(value, indent=2))

        value = {
            'a': 1,
            'b': 2,
            'c': 3,
        }
        json_value = json.dumps(value)

        form['a_resource_json_field'] = json_value

        submit_and_follow(app, form, env, 'save')

        dataset = call_action('package_show', id=dataset['id'])

        assert_equals(dataset['resources'][0]['a_resource_json_field'], value)
    def test_dataset_form_update(self):
        value = {
            'a': 1,
            'b': 2,
        }
        dataset = Dataset(
            type='test-schema',
            a_json_field=value)

        app = self._get_test_app()
        env, response = _get_package_update_page_as_sysadmin(
            app, dataset['id'])
        form = response.forms['dataset-edit']

        assert_equals(form['a_json_field'].value, json.dumps(value, indent=2))

        value = {
            'a': 1,
            'b': 2,
            'c': 3,
        }
        json_value = json.dumps(value)

        form['a_json_field'] = json_value

        submit_and_follow(app, form, env, 'save')

        dataset = call_action('package_show', id=dataset['id'])

        assert_equals(dataset['a_json_field'], value)
示例#3
0
    def test_resource_form_update(self):
        value = {
            'a': 1,
            'b': 2,
        }
        dataset = Dataset(type='test-schema',
                          resources=[{
                              'url': 'http://example.com/data.csv',
                              'a_resource_json_field': value
                          }])

        app = self._get_test_app()
        env, response = _get_resource_update_page_as_sysadmin(
            app, dataset['id'], dataset['resources'][0]['id'])
        form = response.forms['resource-edit']

        assert_equals(form['a_resource_json_field'].value,
                      json.dumps(value, indent=2))

        value = {
            'a': 1,
            'b': 2,
            'c': 3,
        }
        json_value = json.dumps(value)

        form['a_resource_json_field'] = json_value

        submit_and_follow(app, form, env, 'save')

        dataset = call_action('package_show', id=dataset['id'])

        assert_equals(dataset['resources'][0]['a_resource_json_field'], value)
    def test_resource_form_update_json(self):
        value = {'fields': [{'name': 'code'}, {'name': 'department'}]}
        dataset = Dataset(resources=[{
            'url': 'https://example.com/data.csv',
            'schema': value
        }])

        app = self._get_test_app()
        env, response = _get_resource_update_page_as_sysadmin(
            app, dataset['id'], dataset['resources'][0]['id'])
        form = response.forms['resource-edit']

        assert_equals(form['schema_json'].value, json.dumps(value, indent=2))

        value = {
            'fields': [{
                'name': 'code'
            }, {
                'name': 'department'
            }, {
                'name': 'date'
            }]
        }

        json_value = json.dumps(value)

        form['schema_json'] = json_value

        submit_and_follow(app, form, env, 'save')

        dataset = call_action('package_show', id=dataset['id'])

        assert_equals(dataset['resources'][0]['schema'], value)
    def test_resource_form_create_url(self):
        dataset = Dataset()

        app = self._get_test_app()
        env, response = _get_resource_new_page_as_sysadmin(app, dataset['id'])
        form = response.forms['resource-edit']

        value = 'https://example.com/schemas.json'

        form['url'] = 'https://example.com/data.csv'
        form['schema_json'] = value

        submit_and_follow(app, form, env, 'save')

        dataset = call_action('package_show', id=dataset['id'])

        assert_equals(dataset['resources'][0]['schema'], value)
    def test_resource_form_includes_custom_fields(self):
        app = self._get_test_app()
        env, response = _get_package_new_page_as_sysadmin(app)
        form = response.forms['dataset-edit']
        form['name'] = 'resource-includes-custom'

        response = submit_and_follow(app, form, env, 'save')
        form = response.forms['resource-edit']
        assert_true('camels_in_photo' in form.fields)
    def test_resource_form_create(self):
        dataset = Dataset()

        app = self._get_test_app()
        env, response = _get_resource_new_page_as_sysadmin(app, dataset['id'])
        form = response.forms['resource-edit']

        value = {'fields': [{'name': 'code'}, {'name': 'department'}]}
        json_value = json.dumps(value)

        form['url'] = 'https://example.com/data.csv'
        form['schema'] = json_value

        submit_and_follow(app, form, env, 'save')

        dataset = call_action('package_show', id=dataset['id'])

        assert_equals(dataset['resources'][0]['schema'], value)
    def test_dataset_form_create(self):
        app = self._get_test_app()
        env, response = _get_package_new_page_as_sysadmin(app)
        form = response.forms['dataset-edit']

        value = {
            'a': 1,
            'b': 2,
        }
        json_value = json.dumps(value)

        form['name'] = 'json_dataset_1'
        form['a_json_field'] = json_value

        submit_and_follow(app, form, env, 'save')

        dataset = call_action('package_show', id='json_dataset_1')

        assert_equals(dataset['a_json_field'], value)
    def test_resource_form_create_valid(self, mock_open):
        dataset = Dataset()

        app = self._get_test_app()
        env, response = _get_resource_new_page_as_sysadmin(app, dataset['id'])
        form = response.forms['resource-edit']

        upload = ('upload', 'valid.csv', VALID_CSV)

        valid_stream = io.BufferedReader(io.BytesIO(VALID_CSV))

        with mock.patch('io.open', return_value=valid_stream):

            submit_and_follow(app, form, env, 'save', upload_files=[upload])

        dataset = call_action('package_show', id=dataset['id'])

        assert_equals(dataset['resources'][0]['validation_status'], 'success')
        assert 'validation_timestamp' in dataset['resources'][0]
    def test_resource_form_create(self):
        dataset = Dataset(type='test-schema')

        app = self._get_test_app()
        env, response = _get_resource_new_page_as_sysadmin(app, dataset['id'])
        form = response.forms['resource-edit']

        value = {
            'a': 1,
            'b': 2,
        }
        json_value = json.dumps(value)

        form['url'] = 'http://example.com/data.csv'
        form['a_resource_json_field'] = json_value

        submit_and_follow(app, form, env, 'save')

        dataset = call_action('package_show', id=dataset['id'])

        assert_equals(dataset['resources'][0]['a_resource_json_field'], value)
示例#11
0
    def test_resource_form_create(self):
        dataset = Dataset()

        app = self._get_test_app()
        env, response = _get_resource_new_page_as_sysadmin(app, dataset['id'])
        form = response.forms['resource-edit']

        value = {
            'delimiter': ';',
            'headers': 2,
            'skip_rows': ['#'],
        }
        json_value = json.dumps(value)

        form['url'] = 'https://example.com/data.csv'
        form['validation_options'] = json_value

        submit_and_follow(app, form, env, 'save')

        dataset = call_action('package_show', id=dataset['id'])

        assert_equals(dataset['resources'][0]['validation_options'], value)
示例#12
0
    def test_resource_form_update(self):
        value = {
            'delimiter': ';',
            'headers': 2,
            'skip_rows': ['#'],
        }

        dataset = Dataset(resources=[{
            'url': 'https://example.com/data.csv',
            'validation_options': value
        }])

        app = self._get_test_app()
        env, response = _get_resource_update_page_as_sysadmin(
            app, dataset['id'], dataset['resources'][0]['id'])
        form = response.forms['resource-edit']

        assert_equals(form['validation_options'].value,
                      json.dumps(value, indent=2, sort_keys=True))

        value = {
            'delimiter': ';',
            'headers': 2,
            'skip_rows': ['#'],
            'skip_tests': ['blank-rows'],
        }

        json_value = json.dumps(value)

        form['url'] = 'https://example.com/data.csv'
        form['validation_options'] = json_value

        submit_and_follow(app, form, env, 'save')

        dataset = call_action('package_show', id=dataset['id'])

        assert_equals(dataset['resources'][0]['validation_options'], value)
示例#13
0
    def test_resource_form_fields_are_persisted(self):

        dataset = Dataset(resources=[
            {
                'url': 'https://example.com/data.csv',
                'validation_status': 'success',
                'validation_timestamp': datetime.datetime.now().isoformat()
            }
        ])

        app = self._get_test_app()
        env, response = _get_resource_update_page_as_sysadmin(
            app, dataset['id'], dataset['resources'][0]['id'])
        form = response.forms['resource-edit']

        form['description'] = 'test desc'

        submit_and_follow(app, form, env, 'save')

        dataset = call_action('package_show', id=dataset['id'])

        assert_equals(dataset['resources'][0]['validation_status'], 'success')
        assert 'validation_timestamp' in dataset['resources'][0]
        assert_equals(dataset['resources'][0]['description'], 'test desc')