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)
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)
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)
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)
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)