def test_jsonld_is_json(capsys, csv_reader): """Test if jsonld output is in JSON.""" outputs.jsonld(csv_reader, None) stdout, stderr = capsys.readouterr() assert json.loads(stdout) assert stderr == ""
def test_jsonld_text_limit_identifier(capsys, csv_reader): """Check if required string is in JSON output, limit 2, custom identifier.""" text = "205923-56-4" n.COLUMNS['identifier'] = "CAS" outputs.jsonld(csv_reader, 2) stdout, stderr = capsys.readouterr() assert stderr == "" assert text in stdout
def test_multiple_values_jsonld(capsys, csv_reader): """Check if multiple values are supported in JSON-LD.""" text = '["Hirudin variant-1", "Lepirudin recombinant"]' n.COLUMNS['alternateName'] = "Synonyms" outputs.jsonld(csv_reader, 1) stdout, stderr = capsys.readouterr() assert stderr == "" assert text in stdout
def test_jsonld_bnode(capsys, csv_reader): """Check if JSON-LD output have bnode for bdnode subject type.""" text = '_:b1' n.COLUMNS['name'] = "Common name" n.SUBJECT_BASE = '_:b' outputs.jsonld(csv_reader) stdout, stderr = capsys.readouterr() assert stderr == "" assert text in stdout
def test_jsonld_uuid(capsys, csv_reader): """Check if JSON-LD output have urn:uuid: for UUID subject type.""" text = '"urn:uuid:' n.COLUMNS['alternateName'] = "Synonyms" n.SUBJECT_BASE = False outputs.jsonld(csv_reader) stdout, stderr = capsys.readouterr() assert stderr == "" assert text in stdout
def test_jsonld_contains_required_strings(capsys, csv_reader): """Test if jsonld output contains required strings.""" # set column name n.COLUMNS['name'] = "Common name" # list of strings to check strings = ['@id', '{', '}', ',', 'MolecularEntity', 'name'] outputs.jsonld(csv_reader, None) stdout, stderr = capsys.readouterr() assert all(s in stdout for s in strings) assert stderr == ""
def test_jsonld_iri_no_id(capsys, csv_reader): """Check if JSON-LD output have IRI for IRI subject type without id.""" text = 'http://example.com/molecule0' text2 = 'id="' n.COLUMNS['identifier'] = "CAS" n.SUBJECT_BASE = "http://example.com/molecule" outputs.jsonld(csv_reader) stdout, stderr = capsys.readouterr() assert stderr == "" assert text in stdout assert text2 not in stdout