Пример #1
0
 def test_copied_because_same_url(self):
     harvested_dataset = {'resources': [
         {'url': 'http://abc'}]}
     copy_across_resource_ids({'resources': [
         {'url': 'http://abc', 'id': '1'}]},
         harvested_dataset,
     )
     eq_(harvested_dataset['resources'][0].get('id'), '1')
Пример #2
0
 def test_not_copied_because_completely_different(self):
     harvested_dataset = {'resources': [
         {'url': 'http://def', 'title': 'link other'}]}
     copy_across_resource_ids({'resources': [
         {'url': 'http://abc', 'title': 'link', 'id': '1'}]},
         harvested_dataset,
     )
     eq_(harvested_dataset['resources'][0].get('id'), None)
Пример #3
0
 def test_copied_with_same_url_and_changed_title(self):
     harvested_dataset = {'resources': [
         {'url': 'http://abc', 'title': 'link updated'}]}
     copy_across_resource_ids({'resources': [
         {'url': 'http://abc', 'title': 'link', 'id': '1'}]},
         harvested_dataset,
     )
     eq_(harvested_dataset['resources'][0].get('id'), '1')
 def test_not_copied_because_completely_different(self):
     harvested_dataset = {'resources': [
         {'url': 'http://def', 'title': 'link other'}]}
     copy_across_resource_ids({'resources': [
         {'url': 'http://abc', 'title': 'link', 'id': '1'}]},
         harvested_dataset,
     )
     assert harvested_dataset['resources'][0].get('id') == None
 def test_copied_with_same_url_and_changed_title(self):
     harvested_dataset = {'resources': [
         {'url': 'http://abc', 'title': 'link updated'}]}
     copy_across_resource_ids({'resources': [
         {'url': 'http://abc', 'title': 'link', 'id': '1'}]},
         harvested_dataset,
     )
     assert harvested_dataset['resources'][0].get('id') == '1'
 def test_copied_because_same_url(self):
     harvested_dataset = {'resources': [
         {'url': 'http://abc'}]}
     copy_across_resource_ids({'resources': [
         {'url': 'http://abc', 'id': '1'}]},
         harvested_dataset,
     )
     assert harvested_dataset['resources'][0].get('id') == '1'
Пример #7
0
 def test_copied_because_same_uri(self):
     harvested_dataset = {'resources': [
         {'uri': 'http://abc', 'url': 'http://abc'}]}
     copy_across_resource_ids({'resources': [
         {'uri': 'http://abc', 'url': 'http://def', 'id': '1'}]},
         harvested_dataset,
     )
     eq_(harvested_dataset['resources'][0].get('id'), '1')
     eq_(harvested_dataset['resources'][0].get('url'), 'http://abc')
Пример #8
0
 def test_copied_with_repeated_urls_but_unique_titles(self):
     harvested_dataset = {'resources': [
         {'url': 'http://abc', 'title': 'link1'},
         {'url': 'http://abc', 'title': 'link5'},
         {'url': 'http://abc', 'title': 'link3'},
         {'url': 'http://abc', 'title': 'link2'},
         {'url': 'http://abc', 'title': 'link4'},
         {'url': 'http://abc', 'title': 'link new'},
         ]}
     copy_across_resource_ids({'resources': [
         {'url': 'http://abc', 'title': 'link1', 'id': '1'},
         {'url': 'http://abc', 'title': 'link2', 'id': '2'},
         {'url': 'http://abc', 'title': 'link3', 'id': '3'},
         {'url': 'http://abc', 'title': 'link4', 'id': '4'},
         {'url': 'http://abc', 'title': 'link5', 'id': '5'},
         ]},
         harvested_dataset,
     )
     eq_([(r.get('id'), r['title']) for r in harvested_dataset['resources']],
         [('1', 'link1'), ('5', 'link5'), ('3', 'link3'), ('2', 'link2'),
          ('4', 'link4'), (None, 'link new')])
 def test_copied_with_repeated_urls_but_unique_titles(self):
     harvested_dataset = {'resources': [
         {'url': 'http://abc', 'title': 'link1'},
         {'url': 'http://abc', 'title': 'link5'},
         {'url': 'http://abc', 'title': 'link3'},
         {'url': 'http://abc', 'title': 'link2'},
         {'url': 'http://abc', 'title': 'link4'},
         {'url': 'http://abc', 'title': 'link new'},
         ]}
     copy_across_resource_ids({'resources': [
         {'url': 'http://abc', 'title': 'link1', 'id': '1'},
         {'url': 'http://abc', 'title': 'link2', 'id': '2'},
         {'url': 'http://abc', 'title': 'link3', 'id': '3'},
         {'url': 'http://abc', 'title': 'link4', 'id': '4'},
         {'url': 'http://abc', 'title': 'link5', 'id': '5'},
         ]},
         harvested_dataset,
     )
     assert ([(r.get('id'), r['title']) for r in harvested_dataset['resources']] ==
         [('1', 'link1'), ('5', 'link5'), ('3', 'link3'), ('2', 'link2'),
          ('4', 'link4'), (None, 'link new')])