use of nl.knaw.huygens.timbuctoo.model.vre.Vre in project timbuctoo by HuygensING.
the class LoadSaveVreTest method saveAddsKeywordTypesWhenAvailable.
@Test
public void saveAddsKeywordTypesWhenAvailable() throws JsonProcessingException {
Map<String, String> keyWordTypes = Maps.newHashMap();
keyWordTypes.put("typeA", "valueA");
keyWordTypes.put("typeB", "valueB");
final Vre vre = new Vre("VreName", keyWordTypes);
final Vertex result = save(vre, initGraph()).get(0);
assertThat(result.property(KEYWORD_TYPES_PROPERTY_NAME).value(), equalTo(new ObjectMapper().writeValueAsString(keyWordTypes)));
}
use of nl.knaw.huygens.timbuctoo.model.vre.Vre in project timbuctoo by HuygensING.
the class LoadSaveVreTest method loadLoadsTheCollections.
@Test
public void loadLoadsTheCollections() throws JsonProcessingException {
final String entityTypeName = "person";
final String collectionName = "persons";
final HashMap<String, String> keywordTypes = new HashMap<>();
keywordTypes.put("keyword", "type");
String stringifiedKeyWordTypes = new ObjectMapper().writeValueAsString(keywordTypes);
final Vre instance = load(initGraph(g -> g.withVertex("vre", v -> v.withLabel(Vre.DATABASE_LABEL).withProperty(VRE_NAME_PROPERTY_NAME, "VreName").withProperty(KEYWORD_TYPES_PROPERTY_NAME, stringifiedKeyWordTypes)).withVertex(v -> v.withLabel(entityTypeName).withProperty(Collection.COLLECTION_NAME_PROPERTY_NAME, collectionName).withProperty(Collection.ENTITY_TYPE_NAME_PROPERTY_NAME, entityTypeName).withProperty(Collection.IS_RELATION_COLLECTION_PROPERTY_NAME, false).withIncomingRelation(HAS_COLLECTION_RELATION_NAME, "vre"))));
final Collection collectionByName = instance.getCollectionForCollectionName(collectionName).get();
assertThat(instance.getKeywordTypes().get("keyword"), equalTo("type"));
assertThat(collectionByName, instanceOf(Collection.class));
assertThat(instance.getCollectionForTypeName(entityTypeName), instanceOf(Collection.class));
assertThat(instance.getCollections().get(entityTypeName), instanceOf(Collection.class));
assertThat(instance.getEntityTypes(), contains(entityTypeName));
assertThat(instance.getImplementerOf("person").get(), equalTo(collectionByName));
assertThat(instance.getOwnType("notmytype", "person"), equalTo(entityTypeName));
}
use of nl.knaw.huygens.timbuctoo.model.vre.Vre in project timbuctoo by HuygensING.
the class LoadSaveVreTest method saveAddsVreCollectionsToTheVre.
@Test
public void saveAddsVreCollectionsToTheVre() {
Vre vre = vre("VreName", "prefix").withCollection("prefixpersons").withCollection("prefixdocuments").build();
Optional<Vertex> vreVertex = save(vre, initGraph()).stream().filter(x -> ((Neo4jVertex) x).labels().contains(Vre.DATABASE_LABEL)).findAny();
if (!vreVertex.isPresent()) {
throw new RuntimeException("No Vre vertex found!");
} else {
List<Vertex> edges = Lists.newArrayList(vreVertex.get().vertices(Direction.OUT, HAS_COLLECTION_RELATION_NAME));
assertThat(edges, containsInAnyOrder(likeVertex().withLabel(Collection.DATABASE_LABEL).withProperty(Collection.COLLECTION_NAME_PROPERTY_NAME, "prefixpersons"), likeVertex().withLabel(Collection.DATABASE_LABEL).withProperty(Collection.COLLECTION_NAME_PROPERTY_NAME, "prefixdocuments")));
}
}
use of nl.knaw.huygens.timbuctoo.model.vre.Vre in project timbuctoo by HuygensING.
the class LoadSaveVreTest method loadLoadsAVreFromAVertex.
@Test
public void loadLoadsAVreFromAVertex() throws JsonProcessingException {
final Map<String, String> keyWordTypes = new HashMap<>();
keyWordTypes.put("keyword", "type");
String stringifiedKeyWordTypes = new ObjectMapper().writeValueAsString(keyWordTypes);
final Vre instance = load(initGraph(g -> g.withVertex(v -> v.withLabel(Vre.DATABASE_LABEL).withProperty(VRE_NAME_PROPERTY_NAME, "VreName").withProperty(KEYWORD_TYPES_PROPERTY_NAME, stringifiedKeyWordTypes))));
assertThat(instance.getVreName(), equalTo("VreName"));
assertThat(instance.getKeywordTypes().get("keyword"), equalTo("type"));
}
use of nl.knaw.huygens.timbuctoo.model.vre.Vre in project timbuctoo by HuygensING.
the class LoadSaveVreTest method saveReplacesAnExistingVertexForTheVre.
@Test
public void saveReplacesAnExistingVertexForTheVre() {
final Vre vre = new Vre("VreName");
final List<Vertex> result = save(vre, initGraph(b -> b.withVertex(v -> v.withLabel(Vre.DATABASE_LABEL).withProperty(VRE_NAME_PROPERTY_NAME, "VreName"))));
assertThat(result.get(0).label(), is(Vre.DATABASE_LABEL));
assertThat(result.get(0).value(VRE_NAME_PROPERTY_NAME), is("VreName"));
assertThat(result.size(), is(1));
}
Aggregations