示例#1
0
    def test_remove_multiple_tags(self):
        changes = []
        original = Dataset(tags=[
            {
                u"name": u"rivers"
            },
            {
                u"name": u"oceans"
            },
            {
                u"name": u"streams"
            },
        ])
        new = helpers.call_action(u"package_patch",
                                  id=original["id"],
                                  tags=[{
                                      u"name": u"rivers"
                                  }])

        check_metadata_changes(changes, original, new)

        assert len(changes) == 1, changes
        assert changes[0]["type"] == u"tags"
        assert changes[0]["method"] == u"remove_multiple"
        assert set(changes[0]["tags"]) == set((u"oceans", u"streams"))
示例#2
0
    def test_delete_multiple_extras(self):
        changes = []
        original = Dataset(extras=[
            {
                u"key": u"subject",
                u"value": u"science"
            },
            {
                u"key": u"topic",
                u"value": u"wind"
            },
            {
                u"key": u"geography",
                u"value": u"global"
            },
        ])
        new = helpers.call_action(
            u"package_patch",
            id=original["id"],
            extras=[{
                u"key": u"topic",
                u"value": u"wind"
            }],
        )

        check_metadata_changes(changes, original, new)

        assert len(changes) == 1, changes
        assert changes[0]["type"] == u"extra_fields"
        assert changes[0]["method"] == u"remove_multiple"
        assert set(changes[0]["key_list"]) == set((u"subject", u"geography"))
示例#3
0
    def test_change_extra(self):
        changes = []
        original = Dataset(extras=[
            {
                u"key": u"subject",
                u"value": u"science"
            },
            {
                u"key": u"topic",
                u"value": u"wind"
            },
        ])
        new = helpers.call_action(
            u"package_patch",
            id=original["id"],
            extras=[
                {
                    u"key": u"subject",
                    u"value": u"scientific"
                },
                {
                    u"key": u"topic",
                    u"value": u"wind"
                },
            ],
        )

        check_metadata_changes(changes, original, new)

        assert len(changes) == 1, changes
        assert changes[0]["type"] == u"extra_fields"
        assert changes[0]["method"] == u"change_with_old_value"
        assert changes[0]["key"] == u"subject"
        assert changes[0]["old_value"] == u"science"
        assert changes[0]["new_value"] == u"scientific"
示例#4
0
    def test_change_extra(self):
        changes = []
        original = Dataset(extras=[{
            u'key': u'subject',
            u'value': u'science'
        }, {
            u'key': u'topic',
            u'value': u'wind'
        }])
        new = helpers.call_action(u'package_patch',
                                  id=original['id'],
                                  extras=[{
                                      u'key': u'subject',
                                      u'value': u'scientific'
                                  }, {
                                      u'key': u'topic',
                                      u'value': u'wind'
                                  }])

        check_metadata_changes(changes, original, new)

        assert len(changes) == 1, changes
        eq(changes[0]['type'], u'extra_fields')
        eq(changes[0]['method'], u'change_with_old_value')
        eq(changes[0]['key'], u'subject')
        eq(changes[0]['old_value'], u'science')
        eq(changes[0]['new_value'], u'scientific')
示例#5
0
    def test_multiple_tags_removed_with_non_existing(self):
        changes = []
        original = {
            u"tags": [
                {
                    u"name": u"rivers"
                },
                {
                    u"name": u"oceans"
                },
                {
                    u"name": u"streams"
                },
            ]
        }

        new = {}

        check_metadata_changes(changes, original, new)

        assert len(changes) == 1, changes
        assert changes[0]["type"] == u"tags"
        assert changes[0]["method"] == u"remove_multiple"
        assert set(changes[0]["tags"]) == set(
            (u"rivers", u"oceans", u"streams"))
示例#6
0
    def test_delete_multiple_extras(self):
        changes = []
        original = Dataset(extras=[{
            u'key': u'subject',
            u'value': u'science'
        }, {
            u'key': u'topic',
            u'value': u'wind'
        }, {
            u'key': u'geography',
            u'value': u'global'
        }])
        new = helpers.call_action(u'package_patch',
                                  id=original['id'],
                                  extras=[{
                                      u'key': u'topic',
                                      u'value': u'wind'
                                  }])

        check_metadata_changes(changes, original, new)

        assert len(changes) == 1, changes
        eq(changes[0]['type'], u'extra_fields')
        eq(changes[0]['method'], u'remove_multiple')
        eq(set(changes[0]['key_list']), set((u'subject', u'geography')))
示例#7
0
    def test_notes_removed_with_non_existing(self):
        changes = []
        original = {u'notes': u'old notes'}
        new = {}

        check_metadata_changes(changes, original, new)

        assert changes[0]["type"] == u"notes"
        assert changes[0]["method"] == u"remove"
示例#8
0
    def test_author_removed_with_non_existing(self):
        changes = []
        original = {u'author': u"old author"}
        new = {}

        check_metadata_changes(changes, original, new)

        assert changes[0]["type"] == u"author"
        assert changes[0]["method"] == u"remove"
示例#9
0
    def test_maintainer_email_removed_with_non_existing(self):
        changes = []
        original = {u'maintainer_email': u"*****@*****.**"}
        new = {}

        check_metadata_changes(changes, original, new)

        assert changes[0]["type"] == u"maintainer_email"
        assert changes[0]["method"] == u"remove"
示例#10
0
    def test_remove_url(self):
        changes = []
        original = Dataset(url=u"first url")
        new = helpers.call_action(u"package_patch", id=original["id"], url=u"")

        check_metadata_changes(changes, original, new)

        assert changes[0]["type"] == u"url"
        assert changes[0]["method"] == u"remove"
示例#11
0
    def test_remove_url(self):
        changes = []
        original = Dataset(url=u'first url')
        new = helpers.call_action(u'package_patch', id=original['id'], url=u'')

        check_metadata_changes(changes, original, new)

        eq(changes[0]['type'], u'url')
        eq(changes[0]['method'], u'remove')
示例#12
0
    def test_license_title_added_when_it_does_not_exist(self):
        changes = []
        original = {}
        new = {u"license_title": u"new license"}

        check_metadata_changes(changes, original, new)

        assert len(changes) == 1, changes
        assert changes[0]["type"] == u"license"
        assert changes[0]["new_title"] == u"new license"
示例#13
0
    def test_author_added_when_it_does_not_exist(self):
        changes = []
        original = {}
        new = {u'author': u"new author"}

        check_metadata_changes(changes, original, new)

        assert changes[0]["type"] == u"author"
        assert changes[0]["method"] == u"add"
        assert changes[0]["new_author"] == u"new author"
示例#14
0
    def test_maintainer_email_added_when_it_does_not_exist(self):
        changes = []
        original = {}
        new = {u'maintainer_email': u"*****@*****.**"}

        check_metadata_changes(changes, original, new)

        assert changes[0]["type"] == u"maintainer_email"
        assert changes[0]["method"] == u"add"
        assert changes[0]["new_maintainer_email"] == u"*****@*****.**"
示例#15
0
    def test_notes_added_when_it_does_not_exist(self):
        changes = []
        original = {}
        new = {u'notes': u'new notes'}

        check_metadata_changes(changes, original, new)

        assert changes[0]["type"] == u"notes"
        assert changes[0]["method"] == u"add"
        assert changes[0]["new_notes"] == u"new notes"
示例#16
0
    def test_version_removed_with_non_existing(self):
        changes = []
        original = {u"version": u"1"}
        new = {}

        check_metadata_changes(changes, original, new)

        assert len(changes) == 1, changes
        assert changes[0]["type"] == u"version"
        assert changes[0]["method"] == u"remove"
        assert changes[0]["old_version"] == u"1"
示例#17
0
    def test_title_removed_with_non_existing(self):
        changes = []
        original = {u'title': u'old title'}
        new = {}

        check_metadata_changes(changes, original, new)

        assert len(changes) == 1, changes
        assert changes[0]["type"] == u"title"
        assert changes[0]["old_title"] == u'old title'
        assert changes[0]["new_title"] is None
示例#18
0
    def test_title_changed(self):
        changes = []
        original = {u'title': u'old title'}
        new = {u'title': u"new title"}

        check_metadata_changes(changes, original, new)

        assert len(changes) == 1, changes
        assert changes[0]["type"] == u"title"
        assert changes[0]["old_title"] == u"old title"
        assert changes[0]["new_title"] == u"new title"
示例#19
0
    def test_title_added_when_it_does_not_exist(self):
        changes = []
        original = {}
        new = {u'title': u"new title"}

        check_metadata_changes(changes, original, new)

        assert len(changes) == 1, changes
        assert changes[0]["type"] == u"title"
        assert changes[0]["old_title"] is None
        assert changes[0]["new_title"] == u"new title"
示例#20
0
    def test_license_title_changed(self):
        changes = []
        original = {u"license_title": u"old license"}
        new = {u"license_title": u"new license"}

        check_metadata_changes(changes, original, new)

        assert len(changes) == 1, changes
        assert changes[0]["type"] == u"license"
        assert changes[0]["old_title"] == u"old license"
        assert changes[0]["new_title"] == u"new license"
示例#21
0
    def test_tag_added_when_it_does_not_exist(self):
        changes = []
        original = {}
        new = {u"tags": [{u"name": u"rivers"}]}

        check_metadata_changes(changes, original, new)

        assert len(changes) == 1, changes
        assert changes[0]["type"] == u"tags"
        assert changes[0]["method"] == u"add_one"
        assert changes[0]["tag"] == u"rivers"
示例#22
0
    def test_maintainer_email_changed(self):
        changes = []
        original = {u'maintainer_email': u"*****@*****.**"}
        new = {u'maintainer_email': u"*****@*****.**"}

        check_metadata_changes(changes, original, new)

        assert changes[0]["type"] == u"maintainer_email"
        assert changes[0]["method"] == u"change"
        assert changes[0]["new_maintainer_email"] == u"*****@*****.**"
        assert changes[0]["old_maintainer_email"] == u"*****@*****.**"
示例#23
0
    def test_maintainer_changed(self):
        changes = []
        original = {u'maintainer': u"old maintainer"}
        new = {u'maintainer': u"new maintainer"}

        check_metadata_changes(changes, original, new)

        assert changes[0]["type"] == u"maintainer"
        assert changes[0]["method"] == u"change"
        assert changes[0]["new_maintainer"] == u"new maintainer"
        assert changes[0]["old_maintainer"] == u"old maintainer"
示例#24
0
    def test_version_added_when_it_does_not_exist(self):
        changes = []
        original = {}
        new = {u'version': u'1'}

        check_metadata_changes(changes, original, new)

        assert len(changes) == 1, changes
        assert changes[0]["type"] == u"version"
        assert changes[0]["method"] == u"add"
        assert changes[0]["new_version"] == u'1'
示例#25
0
    def test_license_title_removed_with_non_existing(self):
        changes = []
        original = {u"license_title": u"old license"}
        new = {}

        check_metadata_changes(changes, original, new)

        assert len(changes) == 1, changes
        assert changes[0]["type"] == u"license"
        assert changes[0]["old_title"] == u"old license"
        assert changes[0]["new_title"] is None
示例#26
0
    def test_url_added_when_it_does_not_exist(self):
        changes = []
        original = {}
        new = {u'url': u'http://example.com'}

        check_metadata_changes(changes, original, new)

        assert len(changes) == 1, changes
        assert changes[0]["type"] == u"url"
        assert changes[0]["method"] == u"add"
        assert changes[0]["new_url"] == u'http://example.com'
示例#27
0
    def test_notes_changed(self):
        changes = []
        original = {u'notes': u'old notes'}
        new = {u'notes': u'new notes'}

        check_metadata_changes(changes, original, new)

        assert changes[0]["type"] == u"notes"
        assert changes[0]["method"] == u"change"
        assert changes[0]["new_notes"] == u"new notes"
        assert changes[0]["old_notes"] == u"old notes"
示例#28
0
    def test_remove_maintainer(self):
        changes = []
        original = Dataset(maintainer=u"first maintainer")
        new = helpers.call_action(u"package_patch",
                                  id=original["id"],
                                  maintainer=u"")

        check_metadata_changes(changes, original, new)

        assert changes[0]["type"] == u"maintainer"
        assert changes[0]["method"] == u"remove"
示例#29
0
    def test_url_removed_with_non_existing(self):
        changes = []
        original = {u"url": u"http://example.com"}
        new = {}

        check_metadata_changes(changes, original, new)

        assert len(changes) == 1, changes
        assert changes[0]["type"] == u"url"
        assert changes[0]["method"] == u"remove"
        assert changes[0]["old_url"] == u"http://example.com"
示例#30
0
    def test_tag_removed_with_non_existing(self):
        changes = []
        original = {u"tags": [{u"name": u"oceans"}]}
        new = {}

        check_metadata_changes(changes, original, new)

        assert len(changes) == 1, changes
        assert changes[0]["type"] == u"tags"
        assert changes[0]["method"] == u"remove_one"
        assert changes[0]["tag"] == u"oceans"