예제 #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"