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)
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)
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)
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)
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')