Ejemplo n.º 1
0
    def test_cannot_create_versions_with_same_name(self):
        dataset = factories.Dataset()
        resource = factories.Resource(package_id=dataset['id'])
        user = factories.Sysadmin()

        resource_version_create(get_context(user), {
            'resource_id': resource['id'],
            'name': '1',
            'notes': 'Version notes'
        })

        with pytest.raises(toolkit.ValidationError):
            resource_version_create(
                get_context(user), {
                    'resource_id': resource['id'],
                    'name': '1',
                    'notes': 'Version notes'
                })
Ejemplo n.º 2
0
    def test_resource_has_version(self):
        dataset = factories.Dataset()
        resource = factories.Resource(package_id=dataset['id'],
                                      name='First name')
        user = factories.Sysadmin()
        context = get_context(user)

        assert False == resource_has_versions(context,
                                              {'resource_id': resource['id']})

        resource_version_create(context, {
            'resource_id': resource['id'],
            'name': '1',
            'notes': 'Version notes'
        })

        assert True == resource_has_versions(context,
                                             {'resource_id': resource['id']})
Ejemplo n.º 3
0
    def test_fails_if_objects_do_not_exist(self):
        user = factories.Sysadmin()
        with pytest.raises(toolkit.ObjectNotFound) as e:
            resource_version_create(
                get_context(user), {
                    'resource_id': 'fake-resource-id',
                    'name': '1',
                    'notes': 'Version notes'
                })
            assert e.msg == 'Dataset not found'

        dataset = factories.Dataset()
        with pytest.raises(toolkit.ObjectNotFound) as e:
            resource_version_create(
                get_context(user), {
                    'resource_id': 'fake-resource-id',
                    'name': '1',
                    'notes': 'Version notes'
                })
            assert e.msg == 'Resource not found'
Ejemplo n.º 4
0
    def test_version_activity_is_correct(self):
        dataset = factories.Dataset()
        resource = factories.Resource(package_id=dataset['id'],
                                      name='First name')
        user = factories.Sysadmin()
        context = get_context(user)

        version = resource_version_create(context, {
            'resource_id': resource['id'],
            'name': '1',
            'notes': 'Version notes'
        })

        toolkit.get_action('resource_patch')(context, {
            'id': resource['id'],
            'name': 'Second Name'
        })

        package = toolkit.get_action('activity_data_show')(
            context, {
                'id': version['activity_id']
            })['package']
        activity_resource = package['resources'][0]

        assert activity_resource['id'] == resource['id']
        assert activity_resource['name'] == 'First name'

        version = resource_version_create(context, {
            'resource_id': resource['id'],
            'name': '2'
        })

        package = toolkit.get_action('activity_data_show')(
            context, {
                'id': version['activity_id']
            })['package']
        activity_resource = package['resources'][0]

        assert activity_resource['id'] == resource['id']
        assert activity_resource['name'] == 'Second Name'
Ejemplo n.º 5
0
    def test_resource_version_clear(self):
        resource = factories.Resource(name='First name')
        user = factories.Sysadmin()
        context = get_context(user)

        for i in range(0, 3):
            resource_version_create(
                context, {
                    'resource_id': resource['id'],
                    'name': '{}.0'.format(i),
                    'notes': 'Version notes {}'.format(i)
                })

        assert len(
            resource_version_list(context,
                                  {'resource_id': resource['id']})) == 3

        resource_version_clear(context, {'resource_id': resource['id']})

        assert len(
            resource_version_list(context,
                                  {'resource_id': resource['id']})) == 0
Ejemplo n.º 6
0
    def test_resource_version_create(self):
        dataset = factories.Dataset()
        resource = factories.Resource(package_id=dataset['id'])
        user = factories.Sysadmin()

        version = resource_version_create(get_context(user), {
            'resource_id': resource['id'],
            'name': '1',
            'notes': 'Version notes'
        })

        assert version
        assert version['package_id'] == dataset['id']
        assert version['resource_id'] == resource['id']
        assert version['notes'] == 'Version notes'
        assert version['name'] == '1'
        assert version['creator_user_id'] == user['id']
Ejemplo n.º 7
0
    def test_version_delete(self):
        dataset = factories.Dataset()
        resource = factories.Resource(package_id=dataset['id'],
                                      name='First name')
        user = factories.Sysadmin()
        context = get_context(user)

        version = resource_version_create(context, {
            'resource_id': resource['id'],
            'name': '1',
            'notes': 'Version notes'
        })

        assert version

        version_delete(context, {'version_id': version['id']})

        with pytest.raises(toolkit.ObjectNotFound):
            version_show(context, {'version_id': version['id']})
Ejemplo n.º 8
0
    def test_version_show(self):
        dataset = factories.Dataset()
        resource = factories.Resource(package_id=dataset['id'],
                                      name='First name')
        user = factories.Sysadmin()
        context = get_context(user)

        version = resource_version_create(context, {
            'resource_id': resource['id'],
            'name': '1',
            'notes': 'Version notes'
        })

        result = version_show(context, {'version_id': version['id']})

        assert result['id'] == version['id']
        assert result['name'] == '1'
        assert result['notes'] == 'Version notes'
        assert result['creator_user_id'] == user['id']
Ejemplo n.º 9
0
    def test_resource_version_create_editor_user(self):
        user = factories.User()
        owner_org = factories.Organization(users=[{
            'name': user['name'],
            'capacity': 'editor'
        }])
        dataset = factories.Dataset(owner_org=owner_org['id'])
        resource = factories.Resource(package_id=dataset['id'])

        version = resource_version_create(get_context(user), {
            'resource_id': resource['id'],
            'name': '1',
            'notes': 'Version notes'
        })

        assert version
        assert version['package_id'] == dataset['id']
        assert version['resource_id'] == resource['id']
        assert version['notes'] == 'Version notes'
        assert version['name'] == '1'
        assert version['creator_user_id'] == user['id']