示例#1
0
def test_roundtrip_with_missing_fields():
    json_compiler = JSONCompiler()
    json_parser = JSONParser_1_4()
    with open("tests/data/metadata_v14.json", "r") as _input_file:
        input_string = _input_file.read()
        for expected_json in __mask(json.loads(input_string), keep=["id", "metaMetadata"]):
            assert_equal(json_compiler.visit(json_parser.parse(expected_json)), expected_json)
def omi_validateMd(data):
    OmiParser = JSONParser_1_4()
    logging.info("VALIDATE")
    try:
        OmiParser.parse(data)
        logging.info("The metadatafile is valid for OEM version 1.4.0")
    except TypeError as e:
        logging.error("Something went wrong, please make sure that the input OEM is provided in string format")
        logging.error(e)
示例#3
0
def assert_roundtrip(expected_json, input_string):
    json_compiler = JSONCompiler()
    json_parser = JSONParser_1_4()
    rdf_compiler = RDFCompiler()
    rdf_p = RDFParser()
    # Step 1: Parse JSON to internal structure
    internal_metadata = json_parser.parse_from_string(input_string)
    # Step 2: Translate to rdf
    _ = rdf_compiler.visit(internal_metadata)
    # Step 3: Parse rdf string
    internal_metadata2 = rdf_p.parse(rdf_compiler.graph)
    # Step 4: Translate to JSON
    result_json = json_compiler.visit(internal_metadata2)
    # Final step: Compare
    assert_equal(expected_json, result_json, disregard_ordering=True)
示例#4
0
def test_roundtrip():
    json_compiler = JSONCompiler()
    json_parser = JSONParser_1_4()
    rdf_compiler = RDFCompiler()
    rdf_p = RDFParser()
    with open("tests/data/metadata_v14.json", "r") as _input_file:
        input_string = _input_file.read()
        expected_json = json.loads(input_string)
        # Step 1: Parse JSON to internal structure
        internal_metadata = json_parser.parse_from_string(input_string)
        # Step 2: Translate to rdf
        _ = rdf_compiler.visit(internal_metadata)
        # Step 3: Parse rdf string
        internal_metadata2 = rdf_p.parse(rdf_compiler.graph)
        # Step 4: Translate to JSON
        result_json = json_compiler.visit(internal_metadata2)
        # Final step: Compare
        assert_equal(expected_json, result_json, disregard_ordering=True)
示例#5
0
def test_roundtrip():
    json_compiler = JSONCompiler()
    json_parser = JSONParser_1_4()
    json_renderer = JSONRenderer()
    rdf_compiler = RDFCompiler()
    rdf_p = RDFParser()
    with open("tests/data/metadata_v14.ttl", "r") as _input_file:
        input_string = _input_file.read()
        expected_graph = Graph()
        expected_graph.parse(data=input_string, format="ttl")
        # Step 1: Parse Turtle to internal structure
        internal_metadata = rdf_p.parse_from_string(input_string)
        # Step 2: Translate to json string
        json_metadata = json_renderer.render(json_compiler.visit(internal_metadata))
        # Step 3: Parse json string
        internal_metadata2 = json_parser.parse_from_string(json_metadata)
        # Step 4: Translate to Turtle
        _ = rdf_compiler.visit(internal_metadata2)
        # Final step: Compare
        for (t1, t2) in _squashed_graphs_triples(expected_graph, rdf_compiler.graph):
            assert t1 == t2
        assert isomorphic(expected_graph, rdf_compiler.graph)
示例#6
0
def test_parser_v1_4():
    parser = JSONParser_1_4()
    _input_file = "tests/data/metadata_v14.json"
    expected_result = metadata_v_1_4
    _test_generic_parsing(parser, _input_file, expected_result)