Search in sources :

Example 11 with Type

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))))));
}
Also used : MergeSchemas(nl.knaw.huygens.timbuctoo.v5.graphql.customschema.MergeSchemas) Type(nl.knaw.huygens.timbuctoo.v5.datastores.schemastore.dto.Type) HashMap(java.util.HashMap) Test(org.junit.Test)

Example 12 with Type

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"))));
}
Also used : MergeSchemas(nl.knaw.huygens.timbuctoo.v5.graphql.customschema.MergeSchemas) Type(nl.knaw.huygens.timbuctoo.v5.datastores.schemastore.dto.Type) HashMap(java.util.HashMap) Test(org.junit.Test)

Example 13 with Type

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"))));
}
Also used : MergeSchemas(nl.knaw.huygens.timbuctoo.v5.graphql.customschema.MergeSchemas) Type(nl.knaw.huygens.timbuctoo.v5.datastores.schemastore.dto.Type) HashMap(java.util.HashMap) Test(org.junit.Test)

Example 14 with Type

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)))));
}
Also used : MergeSchemas(nl.knaw.huygens.timbuctoo.v5.graphql.customschema.MergeSchemas) Type(nl.knaw.huygens.timbuctoo.v5.datastores.schemastore.dto.Type) HashMap(java.util.HashMap) Test(org.junit.Test)

Example 15 with Type

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));
}
Also used : LogList(nl.knaw.huygens.timbuctoo.v5.dataset.dto.LogList) LogEntry(nl.knaw.huygens.timbuctoo.v5.dataset.dto.LogEntry) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) Test(org.junit.Test)

Aggregations

Type (nl.knaw.huygens.timbuctoo.v5.datastores.schemastore.dto.Type)17 Test (org.junit.Test)13 HashMap (java.util.HashMap)9 Map (java.util.Map)8 Predicate (nl.knaw.huygens.timbuctoo.v5.datastores.schemastore.dto.Predicate)8 MergeSchemas (nl.knaw.huygens.timbuctoo.v5.graphql.customschema.MergeSchemas)8 IOException (java.io.IOException)6 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)5 List (java.util.List)5 Optional (java.util.Optional)5 DataSet (nl.knaw.huygens.timbuctoo.v5.dataset.dto.DataSet)5 QuadStore (nl.knaw.huygens.timbuctoo.v5.datastores.quadstore.QuadStore)5 Logger (org.slf4j.Logger)5 ArrayList (java.util.ArrayList)4 ImportStatus (nl.knaw.huygens.timbuctoo.v5.dataset.ImportStatus)4 CursorQuad (nl.knaw.huygens.timbuctoo.v5.datastores.quadstore.dto.CursorQuad)4 Direction (nl.knaw.huygens.timbuctoo.v5.datastores.quadstore.dto.Direction)4 DocumentLoader (com.github.jsonldjava.core.DocumentLoader)3 Collectors (java.util.stream.Collectors)3 LoggerFactory (org.slf4j.LoggerFactory)3