use of nl.knaw.huygens.timbuctoo.v5.datastores.schemastore.dto.Type in project timbuctoo by HuygensING.
the class MergeSchemasTest method explicitPropertyIsMaintainedInMergedPredicates.
@Test
public void explicitPropertyIsMaintainedInMergedPredicates() throws Exception {
final MergeSchemas mergeSchemas = new MergeSchemas();
Map<String, Type> generatedSchema = new HashMap<>();
Type predType1 = createTypeWithPredicate("generated", Direction.IN);
predType1.getPredicate("generated", Direction.IN).setHasBeenList(true);
predType1.getPredicate("generated", Direction.IN).setOwner(new Type("testOwner"));
generatedSchema.put("Type", predType1);
Map<String, Type> customSchema = new HashMap<>();
Type predType2 = createTypeWithPredicate("generated", Direction.IN);
predType2.getPredicate("generated", Direction.IN).setHasBeenList(false);
predType2.getPredicate("generated", Direction.IN).setOwner(new Type("testOwner"));
customSchema.put("Type", predType2);
Map<String, Type> mergedSchema = mergeSchemas.mergeSchema(generatedSchema, customSchema);
assertThat(mergedSchema, hasEntry(is("Type"), hasProperty("predicates", contains(predicateMatcher().withName("generated").withDirection(Direction.IN).withWasList(true).withIsExplicit(true)))));
assertThat(mergedSchema, hasEntry(is("Type"), hasProperty("predicates", not(hasItem(predicateMatcher().withName("generated").withDirection(Direction.IN).withWasList(false))))));
}
use of nl.knaw.huygens.timbuctoo.v5.datastores.schemastore.dto.Type in project timbuctoo by HuygensING.
the class MergeSchemasTest method mergeSchemaAddsGeneratedTypeToSchema.
@Test
public void mergeSchemaAddsGeneratedTypeToSchema() throws Exception {
MergeSchemas mergeSchemas = new MergeSchemas();
Map<String, Type> generatedSchema = new HashMap<>();
generatedSchema.put("GeneratedType", new Type("TypeName"));
Map<String, Type> mergedSchema = mergeSchemas.mergeSchema(generatedSchema, new HashMap<>());
assertThat(mergedSchema, hasEntry(is("GeneratedType"), hasProperty("name", is("TypeName"))));
}
use of nl.knaw.huygens.timbuctoo.v5.datastores.schemastore.dto.Type in project timbuctoo by HuygensING.
the class MergeSchemasTest method mergeSchemaAddsCustomTypeToSchema.
@Test
public void mergeSchemaAddsCustomTypeToSchema() throws Exception {
MergeSchemas mergeSchemas = new MergeSchemas();
Map<String, Type> customSchema = new HashMap<>();
customSchema.put("CustomType", new Type("TypeName"));
Map<String, Type> mergedSchema = mergeSchemas.mergeSchema(new HashMap<>(), customSchema);
assertThat(mergedSchema, hasEntry(is("CustomType"), hasProperty("name", is("TypeName"))));
}
use of nl.knaw.huygens.timbuctoo.v5.datastores.schemastore.dto.Type in project timbuctoo by HuygensING.
the class MergeSchemasTest method mergeSchemaReturnsMergedSchemaWithAllPredicatesForSingleType.
@Test
public void mergeSchemaReturnsMergedSchemaWithAllPredicatesForSingleType() throws Exception {
MergeSchemas mergeSchemas = new MergeSchemas();
Map<String, Type> generatedSchema = new HashMap<>();
generatedSchema.put("Type", createTypeWithPredicate("generated", Direction.OUT));
Map<String, Type> customSchema = new HashMap<>();
customSchema.put("Type", createTypeWithPredicate("custom", Direction.IN));
Map<String, Type> mergedSchema = mergeSchemas.mergeSchema(generatedSchema, customSchema);
assertThat(mergedSchema, hasEntry(is("Type"), hasProperty("predicates", containsInAnyOrder(predicateMatcher().withName("generated").withDirection(Direction.OUT), predicateMatcher().withName("custom").withDirection(Direction.IN)))));
}
use of nl.knaw.huygens.timbuctoo.v5.datastores.schemastore.dto.Type in project timbuctoo by HuygensING.
the class ImportStatusTest method jsonSerialization.
@Test
public void jsonSerialization() throws Exception {
LogList logList = new LogList();
LogEntry entry = LogEntry.create("baseUri", "defaultGraph", "token");
logList.addEntry(entry);
ImportStatus status = new ImportStatus(logList);
status.start("method", "baseUri");
assertThat(status.getStatus(), is("Started method"));
status.addError("This error is recorded in logList", new RuntimeException("list"));
assertThat(status.getStatus().contains("This error is recorded in logList"), is(true));
assertThat(logList.getListErrors().get(0).contains("This error is recorded in logList"), is(true));
status.startEntry(entry);
assertThat(status.getStatus(), is("Adding entry with token token"));
status.addError("This error is recorded in logEntry", new RuntimeException("entry"));
assertThat(status.getStatus().contains("This error is recorded in logEntry"), is(true));
assertThat(entry.getImportStatus().get().getErrors().get(0).contains("This error is recorded in logEntry"), is(true));
status.finishEntry();
status.finishList();
String json = new ObjectMapper().enable(SerializationFeature.INDENT_OUTPUT).writeValueAsString(status);
// System.out.println(json);
assertThat(json.contains("\"@type\" : \"ImportStatus\""), is(true));
}
Aggregations