Skip to content

Commit cfc9574

Browse files
committed
Fixed json2jsonld, commented on failing test.
1 parent 97127ba commit cfc9574

6 files changed

Lines changed: 57 additions & 53 deletions

File tree

isatools/convert/json2jsonld.py

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -120,24 +120,24 @@ def _inject_ld_split(self, schema_name, output, instance, reference=False):
120120
if "type" in field_props.keys() and field_props["type"] == "array":
121121
if "items" in field_props.keys() and "$ref" in field_props["items"]:
122122
ref = field_props["items"]["$ref"].replace("#", "")
123-
for value in instance[field]:
124-
value = self._inject_ld_split(ref, value, value)
123+
for idx, value in enumerate(instance[field]):
124+
instance[field][idx] = self._inject_ld_split(ref, value, value)
125125
else:
126126
if field == "inputs":
127-
for input_val in instance["inputs"]:
127+
for idx, input_val in enumerate(instance["inputs"]):
128128
ref = self._get_any_of_ref(input_val["@id"])
129129
if ref:
130-
input_val = self._inject_ld_split(ref, input_val, input_val)
130+
instance["inputs"][idx] = self._inject_ld_split(ref, input_val, input_val)
131131
elif field == "outputs":
132-
for output_val in instance["outputs"]:
132+
for idx, output_val in enumerate(instance["outputs"]):
133133
ref = self._get_any_of_ref(output_val["@id"])
134134
if ref:
135-
output_val = self._inject_ld_split(ref, output_val, output_val)
135+
instance["outputs"][idx] = self._inject_ld_split(ref, output_val, output_val)
136136
else:
137137
ref = field + "_schema.json"
138138
self.schemas[ref] = field_props
139-
for value in instance[field]:
140-
value = self._inject_ld_split(ref, value, value, schema_name)
139+
for idx, value in enumerate(instance[field]):
140+
instance[field][idx] = self._inject_ld_split(ref, value, value, schema_name)
141141
elif "type" in field_props.keys() and field_props["type"] == "object":
142142
ref = field + "_schema.json"
143143
self.schemas[ref] = field_props
@@ -171,24 +171,24 @@ def _inject_ld_collapsed(self, schema_name, output, instance):
171171
if "type" in field_props.keys() and field_props["type"] == "array":
172172
if "items" in field_props.keys() and "$ref" in field_props["items"]:
173173
ref = field_props["items"]["$ref"].replace("#", "")
174-
for value in instance[field]:
175-
value = self._inject_ld_collapsed(ref, value, value)
174+
for idx, value in enumerate(instance[field]):
175+
instance[field][idx] = self._inject_ld_collapsed(ref, value, value)
176176
else:
177177
if field == "inputs":
178-
for input_val in instance["inputs"]:
178+
for idx, input_val in enumerate(instance["inputs"]):
179179
ref = self._get_any_of_ref(input_val["@id"])
180180
if ref:
181-
input_val = self._inject_ld_collapsed(ref, input_val, input_val)
181+
instance["inputs"][idx] = self._inject_ld_collapsed(ref, input_val, input_val)
182182
elif field == "outputs":
183-
for output_val in instance["outputs"]:
183+
for idx, output_val in enumerate(instance["outputs"]):
184184
ref = self._get_any_of_ref(output_val["@id"])
185185
if ref:
186-
output_val = self._inject_ld_collapsed(ref, output_val, output_val)
186+
instance["outputs"][idx] = self._inject_ld_collapsed(ref, output_val, output_val)
187187
else:
188188
ref = field + "_schema.json"
189189
self.schemas[ref] = field_props
190-
for value in instance[field]:
191-
value = self._inject_ld_collapsed(ref, value, value)
190+
for idx, value in enumerate(instance[field]):
191+
instance[field][idx] = self._inject_ld_collapsed(ref, value, value)
192192
elif "type" in field_props.keys() and field_props["type"] == "object":
193193
ref = field + "_schema.json"
194194
self.schemas[ref] = field_props

isatools/graphQL/queries/introspection.gql

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -47,41 +47,41 @@ fragment TypeRef on __Type {
4747
kind
4848
name
4949
description
50-
# ofType {
51-
# name
52-
# inputFields {
53-
# name
54-
# description
55-
# defaultValue
56-
# type {
57-
# kind
58-
# name
59-
# description
60-
# ofType {name}
61-
# inputFields {
62-
# name
63-
# description
64-
# defaultValue
65-
# }
66-
# }
67-
# }
68-
# }
69-
# inputFields {
70-
# name
71-
# description
72-
# defaultValue
73-
# type {
74-
# kind
75-
# name
76-
# description
77-
# ofType {name}
78-
# inputFields {
79-
# name
80-
# description
81-
# defaultValue
82-
# }
83-
# }
84-
# }
50+
ofType {
51+
name
52+
inputFields {
53+
name
54+
description
55+
defaultValue
56+
type {
57+
kind
58+
name
59+
description
60+
ofType {name}
61+
inputFields {
62+
name
63+
description
64+
defaultValue
65+
}
66+
}
67+
}
68+
}
69+
inputFields {
70+
name
71+
description
72+
defaultValue
73+
type {
74+
kind
75+
name
76+
description
77+
ofType {name}
78+
inputFields {
79+
name
80+
description
81+
defaultValue
82+
}
83+
}
84+
}
8585
}
8686
}
8787
}

tests/model/test_investigation.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ def test_introspection(self):
9494

9595
self.assertTrue(len(introspection.data["schemas"]["types"]) == 46)
9696
self.assertEqual(introspection.data["schemas"]["types"][0]["name"], "IsaQuery")
97-
print("\nTOTO", introspection.data["schemas"]["types"][0]["name"])
97+
#print("\nTOTO", introspection.data["schemas"]["types"][0]["name"])
9898

9999
def test_repr(self):
100100
self.assertEqual(

tests/model/test_study.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
from datetime import datetime
21
from copy import deepcopy
2+
from datetime import datetime
33
from unittest import TestCase
44
from unittest.mock import patch
55

tests/model/test_to_dict.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from unittest import TestCase
22
from unittest.mock import patch
3+
34
from isatools.model.assay import Assay
45
from isatools.model.characteristic import Characteristic
56
from isatools.model.comments import Comment

tests/validators/test_validators.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,9 @@ def test_validate_isajson_iso8601(self):
211211
with open(os.path.join(self._unit_json_data_dir, "iso8601_fail.json")) as fp:
212212
report = isajson.validate(fp)
213213
print( report)
214+
print("Error: " + report["errors"][0]["message"])
215+
# This test fails. The iso8601_fail.json file does indeed fail to validate, but it throws different
216+
# errors from those expected in the assertion below, i.e. incorrect date format.
214217
self.assertTrue( "Invalid JSON against ISA-JSON schemas" in report["errors"][0]["message"])
215218
# if 3001 not in [e["code"] for e in report["errors"]]:
216219
# self.fail(

0 commit comments

Comments
 (0)