def test_populate_earliest_date_from_preprint_date(): schema = load_schema('hep') subschema = schema['properties']['preprint_date'] record = { '$schema': 'http://localhost:5000/records/schemas/hep.json', 'preprint_date': '2014-05-29', } assert validate(record['preprint_date'], subschema) is None populate_earliest_date(None, record) expected = '2014-05-29' result = record['earliest_date'] assert expected == result
def test_populate_earliest_date_from_legacy_creation_date(): schema = load_schema('hep') subschema = schema['properties']['legacy_creation_date'] record = { '$schema': 'http://localhost:5000/records/schemas/hep.json', 'legacy_creation_date': '2015-11-04', } assert validate(record['legacy_creation_date'], subschema) is None populate_earliest_date(None, record) expected = '2015-11-04' result = record['earliest_date'] assert expected == result
def test_populate_earliest_date_from_publication_info_year(): schema = load_schema('hep') subschema = schema['properties']['publication_info'] record = { '$schema': 'http://localhost:5000/records/schemas/hep.json', 'publication_info': [ {'year': 2014}, ], } assert validate(record['publication_info'], subschema) is None populate_earliest_date(None, record) expected = '2014' result = record['earliest_date'] assert expected == result
def test_populate_earliest_date_from_thesis_info_defense_date(): schema = load_schema('hep') subschema = schema['properties']['thesis_info'] record = { '$schema': 'http://localhost:5000/records/schemas/hep.json', 'thesis_info': { 'defense_date': '2012-06-01', }, } assert validate(record['thesis_info'], subschema) is None populate_earliest_date(None, record) expected = '2012-06-01' result = record['earliest_date'] assert expected == result
def test_populate_earliest_date_does_nothing_if_record_is_not_literature(): record = {'$schema': 'http://localhost:5000/schemas/records/other.json'} populate_earliest_date(None, record) assert 'earliest_date' not in record