def test_edit_archival_object(): client = AtomClient(**AUTH) original = client.get_record('second-subfonds') assert original['title'] == 'Second subfonds' assert original['dates'][0]['end'] == '2015-01-01' assert not original['notes'] new_record = { 'slug': 'second-subfonds', 'title': 'Test edited subfonds', 'start_date': '2014-11-01', 'end_date': '2015-11-01', 'date_expression': 'November, 2014 to November, 2015', 'notes': [{ 'type': 'general', 'content': 'This is a test note' }], } client.edit_record(new_record) updated = client.get_record('second-subfonds') assert updated['title'] == new_record['title'] assert updated['dates'][0]['begin'] == new_record['start_date'] assert updated['dates'][0]['end'] == new_record['end_date'] assert updated['dates'][0]['expression'] == new_record['date_expression'] assert updated['notes'][0]['type'] == new_record['notes'][0]['type'] assert updated['notes'][0]['content'] == new_record['notes'][0]['content']
def test_posting_contentless_note(): client = AtomClient(**AUTH) slug = client.add_child('test-fonds', title='Yet another subfonds', level='subfonds', notes=[{'type': 'general', 'content': ''}]) assert client.get_record(slug)['notes'] == []
def test_adding_child_with_note(): client = AtomClient(**AUTH) slug = client.add_child('test-fonds', title='Another subfonds', level='subfonds', notes=[{'type': 'general', 'content': 'This is a test note'}]) assert slug == 'another-subfonds'
def test_find_resource_component_children_at_max_recursion_level(): client = AtomClient(**AUTH) record = client.get_resource_component_and_children( "test-subfonds", recurse_max_level=1 ) assert record["children"] == [] assert record["has_children"] is True
def test_augment_ids(): client = AtomClient(**AUTH) data = client.augment_resource_ids(["top-level-fonds", "test-fonds"]) assert len(data) == 2 assert data[0]["title"] == "Top Fonds" assert data[0]["type"] == "resource" assert data[1]["title"] == "Test fonds" assert data[1]["type"] == "resource"
def test_augment_ids(): client = AtomClient(**AUTH) data = client.augment_resource_ids(['top-level-fonds', 'test-fonds']) assert len(data) == 2 assert data[0]['title'] == 'Top Fonds' assert data[0]['type'] == 'resource' assert data[1]['title'] == 'Test fonds' assert data[1]['type'] == 'resource'
def test_delete_record_resource(): client = AtomClient(**AUTH) slug = "another-subfonds" assert client.get_record(slug) r = client.delete_record(slug) assert r["status"] == "Deleted" with pytest.raises(CommunicationError): client.get_record(slug)
def test_add_digital_object(): client = AtomClient(**AUTH) do = client.add_digital_object( "test-child", title="kitty.jpg", uri="http://www.artefactual.com/wp-content/uploads/2016/04/cat.jpg", ) assert do["slug"] == "kitty-jpg"
def test_delete_record_resource(): client = AtomClient(**AUTH) slug = 'another-subfonds' assert client.get_record(slug) r = client.delete_record(slug) assert r['status'] == 'Deleted' with pytest.raises(CommunicationError): client.get_record(slug)
def test_find_resource_children(): client = AtomClient(**AUTH) data = client.get_resource_component_and_children("test-fonds") assert type(data) == dict assert len(data["children"]) == 1 assert data["has_children"] is True assert data["title"] == "Test fonds" assert data["type"] == "resource"
def test_posting_contentless_note(): client = AtomClient(**AUTH) slug = client.add_child( "test-fonds", title="Yet another subfonds", level="subfonds", notes=[{"type": "general", "content": ""}], ) assert client.get_record(slug)["notes"] == []
def test_find_resource_children(): client = AtomClient(**AUTH) data = client.get_resource_component_and_children('test-fonds') assert type(data) == dict assert len(data['children']) == 1 assert data['has_children'] is True assert data['title'] == 'Test fonds' assert data['type'] == 'resource'
def test_adding_child_with_note(): client = AtomClient(**AUTH) slug = client.add_child( "test-fonds", title="Another subfonds", level="subfonds", notes=[{"type": "general", "content": "This is a test note"}], ) assert slug == "another-subfonds"
def test_empty_dates(): client = AtomClient(**AUTH) record = client.get_resource_component_children('test-child') assert record['dates'] == '' assert record['date_expression'] == '' record = client.get_resource_component_and_children('test-child', recurse_max_level=1) # dates are mandatory for resources, so this record does have a date but no expression assert record['date_expression'] == '' collections = client.find_collections() assert collections[0]['date_expression'] == ''
def test_listing_collections_sort(): client = AtomClient(**AUTH) asc = client.find_collections(sort_by='asc') assert len(asc) == 2 assert asc[0]['title'] == 'Test fonds' assert asc[0]['type'] == 'resource' desc = client.find_collections(sort_by='desc') assert len(desc) == 2 assert desc[0]['title'] == 'Top Fonds' assert desc[0]['type'] == 'resource'
def test_listing_collections_sort(): client = AtomClient(**AUTH) asc = client.find_collections(sort_by="asc") assert len(asc) == 2 assert asc[0]["title"] == "Test fonds" assert asc[0]["type"] == "resource" desc = client.find_collections(sort_by="desc") assert len(desc) == 2 assert desc[0]["title"] == "Top Fonds" assert desc[0]["type"] == "resource"
def test_empty_dates(): client = AtomClient(**AUTH) record = client.get_resource_component_children("test-child") assert record["dates"] == "" assert record["date_expression"] == "" record = client.get_resource_component_and_children( "test-child", recurse_max_level=1 ) # dates are mandatory for resources, so this record does have a date but no expression assert record["date_expression"] == "" collections = client.find_collections() assert collections[0]["date_expression"] == ""
def test_levels_of_description(): client = AtomClient(**AUTH) levels = client.get_levels_of_description() assert levels == [ u"Collection", u"File", u"Fonds", u"Item", u"Part", u"Series", u"Subfonds", u"Subseries", ]
def test_edit_record_empty_note(): client = AtomClient(**AUTH) original = client.get_record("second-subfonds") assert original["notes"] new_record = { "slug": "second-subfonds", "title": "Test edited subseries w/ empty note", "start_date": "2014-11-01", "end_date": "2015-11-01", "date_expression": "November, 2014 to November, 2015", "notes": [{"type": "general", "content": ""}], } client.edit_record(new_record) updated = client.get_record("second-subfonds") assert not updated["notes"]
def test_edit_record_empty_note(): client = AtomClient(**AUTH) original = client.get_record('second-subfonds') assert original['notes'] new_record = { 'slug': 'second-subfonds', 'title': 'Test edited subseries w/ empty note', 'start_date': '2014-11-01', 'end_date': '2015-11-01', 'date_expression': 'November, 2014 to November, 2015', 'notes': [{ 'type': 'general', 'content': '' }], } client.edit_record(new_record) updated = client.get_record('second-subfonds') assert not updated['notes']
def test_edit_archival_object(): client = AtomClient(**AUTH) original = client.get_record("second-subfonds") assert original["title"] == "Second subfonds" assert original["dates"][0]["end"] == "2015-01-01" assert not original["notes"] new_record = { "slug": "second-subfonds", "title": "Test edited subfonds", "start_date": "2014-11-01", "end_date": "2015-11-01", "date_expression": "November, 2014 to November, 2015", "notes": [{"type": "general", "content": "This is a test note"}], } client.edit_record(new_record) updated = client.get_record("second-subfonds") assert updated["title"] == new_record["title"] assert updated["dates"][0]["begin"] == new_record["start_date"] assert updated["dates"][0]["end"] == new_record["end_date"] assert updated["dates"][0]["expression"] == new_record["date_expression"] assert updated["notes"][0]["type"] == new_record["notes"][0]["type"] assert updated["notes"][0]["content"] == new_record["notes"][0]["content"]
def test_listing_collections_search_spaces(): client = AtomClient(**AUTH) collections = client.find_collections(identifier="2015044 Aa Ac") assert len(collections) == 1 assert collections[0]["title"] == "Resource with spaces in the identifier" assert collections[0]["levelOfDescription"] == "Fonds"
def test_find_collections_search_no_results(): client = AtomClient(**AUTH) no_results = client.find_collections(search_pattern="Nonexistent") assert len(no_results) == 0
def test_find_collections_search(): client = AtomClient(**AUTH) collections = client.find_collections(search_pattern="Test fonds") assert len(collections) == 1 assert collections[0]["title"] == "Test fonds" assert collections[0]["type"] == "resource"
def test_rendering_record_containing_a_note(): client = AtomClient(**AUTH) collections = client.find_collections() assert len(collections) == 2 assert collections[0]["notes"][0]["content"] == "Note content"
def test_collection_list(): client = AtomClient(**AUTH) collection_ids = client.collection_list("test-fonds") assert len(collection_ids) == 2 assert collection_ids[0] == "test-subfonds"
def test_add_child_resource_component(): client = AtomClient(**AUTH) slug = client.add_child("second-subfonds", title="Test child", level="item") assert slug == "test-child"
def test_listing_collections(): client = AtomClient(**AUTH) collections = client.find_collections() assert len(collections) == 2 assert collections[0]["title"] == "Top Fonds" assert collections[0]["type"] == "resource"
def get_atom_client(): settings = DashboardSetting.objects.get_dict('upload-qubit_v0.0') return AtomClient(settings.get('url'), settings.get('key'))
def test_date_expression(): client = AtomClient(**AUTH) record = client.get_resource_component_and_children( "second-subfonds", recurse_max_level=1 ) assert record["date_expression"] == "November, 2014 to November, 2015"