def test_committees(self):
# fetching directly
self.assertEqual(list(MockCommitteesResource().fetch()), [dict(COMMITTEE_EXPECTED_DATA, id=3)])
self.assertEqual(list(MockCommitteesResource().fetch(committee_ids=[4])), [dict(COMMITTEE_EXPECTED_DATA, id=4)])
self.assertEqual(list(MockCommitteesResource().fetch(all_committees=True)), [dict(COMMITTEE_EXPECTED_DATA, id=1),
dict(COMMITTEE_EXPECTED_DATA, id=2),
dict(COMMITTEE_EXPECTED_DATA, id=3),
dict(COMMITTEE_EXPECTED_DATA, id=4)])
self.assertEqual(list(MockCommitteesResource().fetch(main_committees=True)),
[dict(COMMITTEE_EXPECTED_DATA, id=1),
dict(COMMITTEE_EXPECTED_DATA, id=2),])
# making the resource
data_root = self.given_temporary_data_root()
MockCommitteesResource("committees", data_root).make()
with open(os.path.join(data_root, "committees.csv")) as f:
lines = unicodecsv.reader(f.readlines())
self.assertEqual(list(lines), [
['id', 'type_id', 'parent_id', 'name', 'name_eng', 'name_arb', 'begin_date',
'end_date', 'description', 'description_eng', 'description_arb', 'note',
'note_eng', 'portal_link', 'scraper_errors'],
['3', '4', '', 'hebrew name', 'string', 'string', '1950-01-01T00:00:00',
'', 'hebrew description', 'string', 'string', 'string',
'string', 'can be used to link to the dedicated page in knesset website', '']
])
# fetching from the made resource
fetched_items = MockCommitteesResource("committees", data_root).fetch_from_datapackage()
fetched_items = [dict(oredered_dict.items()) for oredered_dict in fetched_items]
self.assertEqual(fetched_items, [dict(COMMITTEE_EXPECTED_DATA, id=3)])
评论列表
文章目录