def test_delete_multiple_resources(self): changes = [] original = Dataset(resources=[ { u"url": u"http://example.com/image.png", u"format": u"png", u"name": u"Image 1", }, { u"url": u"http://example.com/image.png", u"format": u"png", u"name": u"Image 2", }, { u"url": u"http://example.com/image.png", u"format": u"png", u"name": u"Image 3", }, ]) new = copy.deepcopy(original) del new["resources"][1] del new["resources"][0] new = helpers.call_action(u"package_update", **new) check_resource_changes(changes, original, new, u"fake") assert len(changes) == 2, changes assert changes[0]["type"] == u"delete_resource" if changes[0]["resource_name"] == u"Image 1": assert changes[1]["resource_name"] == u"Image 2" else: assert changes[0]["resource_name"] == u"Image 2" assert changes[1]["resource_name"] == u"Image 1"
def test_change_resource_description(self): changes = [] original = Dataset(resources=[ { u"url": u"http://example.com/image.png", u"format": u"png", u"name": u"Image 1", u"description": u"First image", }, { u"url": u"http://example.com/image.png", u"format": u"png", u"name": u"Image 2", u"description": u"Second image", }, ]) new = copy.deepcopy(original) new["resources"][1]["description"] = u"changed" new = helpers.call_action(u"package_update", **new) check_resource_changes(changes, original, new, u"fake") assert len(changes) == 1, changes assert changes[0]["type"] == u"resource_desc" assert changes[0]["method"] == u"change" assert changes[0]["resource_name"] == u"Image 2"
def test_add_multiple_resources(self): changes = [] original = Dataset() new = helpers.call_action( u"package_patch", id=original["id"], resources=[ { u"url": u"http://example.com/image.png", u"format": u"png", u"name": u"Image 1", }, { u"url": u"http://example.com/image2.png", u"format": u"png", u"name": u"Image 2", }, ], ) check_resource_changes(changes, original, new, u"fake") assert len(changes) == 2, changes assert changes[0]["type"] == u"new_resource" assert changes[1]["type"] == u"new_resource" if changes[0]["resource_name"] == u"Image 1": assert changes[1]["resource_name"] == u"Image 2" else: assert changes[1]["resource_name"] == u"Image 1" assert changes[0]["resource_name"] == u"Image 2"
def test_delete_multiple_resources(self): changes = [] original = Dataset(resources=[{ u'url': u'http://example.com/image.png', u'format': u'png', u'name': u'Image 1' }, { u'url': u'http://example.com/image.png', u'format': u'png', u'name': u'Image 2' }, { u'url': u'http://example.com/image.png', u'format': u'png', u'name': u'Image 3' }]) new = copy.deepcopy(original) del new['resources'][1] del new['resources'][0] new = helpers.call_action(u'package_update', **new) check_resource_changes(changes, original, new, u'fake') assert len(changes) == 2, changes eq(changes[0]['type'], u'delete_resource') if changes[0]['resource_name'] == u'Image 1': eq(changes[1]['resource_name'], u'Image 2') else: eq(changes[0]['resource_name'], u'Image 2') eq(changes[1]['resource_name'], u'Image 1')
def test_add_multiple_resources(self): changes = [] original = Dataset() new = helpers.call_action(u'package_patch', id=original['id'], resources=[{ u'url': u'http://example.com/image.png', u'format': u'png', u'name': u'Image 1' }, { u'url': u'http://example.com/image2.png', u'format': u'png', u'name': u'Image 2' }]) check_resource_changes(changes, original, new, u'fake') assert len(changes) == 2, changes eq(changes[0]['type'], u'new_resource') eq(changes[1]['type'], u'new_resource') if changes[0]['resource_name'] == u'Image 1': eq(changes[1]['resource_name'], u'Image 2') else: eq(changes[1]['resource_name'], u'Image 1') eq(changes[0]['resource_name'], u'Image 2')
def test_remove_resource_extra(self): changes = [] original = Dataset(resources=[{ u"url": u"http://example.com/image.png", u"format": u"png", u"name": u"Image 1", u"key1": u"value1", }]) new = copy.deepcopy(original) del new["resources"][0]["key1"] new = helpers.call_action(u"package_update", **new) check_resource_changes(changes, original, new, u"fake") assert len(changes) == 1, changes assert changes[0]["type"] == u"resource_extras" assert changes[0]["method"] == u"remove_one" assert changes[0]["key"] == u"key1"
def test_remove_resource_extra(self): changes = [] original = Dataset(resources=[{ u'url': u'http://example.com/image.png', u'format': u'png', u'name': u'Image 1', u'key1': u'value1' }]) new = copy.deepcopy(original) del new['resources'][0]['key1'] new = helpers.call_action(u'package_update', **new) check_resource_changes(changes, original, new, u'fake') assert len(changes) == 1, changes eq(changes[0]['type'], u'resource_extras') eq(changes[0]['method'], u'remove_one') eq(changes[0]['key'], u'key1')
def test_change_resource_format(self): changes = [] original = Dataset(resources=[{ u'url': u'http://example.com/image.png', u'format': u'png', u'name': u'Image 1' }, { u'url': u'http://example.com/image.png', u'format': u'png', u'name': u'Image 2' }]) new = copy.deepcopy(original) new['resources'][1]['format'] = u'jpg' new = helpers.call_action(u'package_update', **new) check_resource_changes(changes, original, new, u'fake') assert len(changes) == 1, changes eq(changes[0]['type'], u'resource_format') eq(changes[0]['resource_name'], u'Image 2')