use of org.neo4j.ogm.domain.cineasts.annotated.User in project neo4j-ogm by neo4j.
the class QueryCapabilityTest method shouldLoadNodesWithUnmappedOrNoLabels.
// #150
@Test
public void shouldLoadNodesWithUnmappedOrNoLabels() {
int movieCount = 0;
int userCount = 0;
int unmappedCount = 0;
int noLabelCount = 0;
session.query("CREATE (unknown), (m:Unmapped), (n:Movie), (n)-[:UNKNOWN]->(m)", emptyMap());
Result result = session.query("MATCH (n) return n", emptyMap());
assertThat(result).isNotNull();
Iterator<Map<String, Object>> resultIterator = result.iterator();
while (resultIterator.hasNext()) {
Map<String, Object> row = resultIterator.next();
Object n = row.get("n");
if (n instanceof User) {
userCount++;
} else if (n instanceof Movie) {
movieCount++;
} else if (n instanceof NodeModel) {
if (((NodeModel) n).getLabels().length == 0) {
noLabelCount++;
} else if (((NodeModel) n).getLabels()[0].equals("Unmapped")) {
unmappedCount++;
}
}
}
assertThat(unmappedCount).isEqualTo(1);
assertThat(noLabelCount).isEqualTo(1);
assertThat(movieCount).isEqualTo(4);
assertThat(userCount).isEqualTo(5);
}
use of org.neo4j.ogm.domain.cineasts.annotated.User in project neo4j-ogm by neo4j.
the class QueryCapabilityTest method shouldBeAbleToMapEntitiesAndRelationships.
// DATAGRAPH-700
@Test
public void shouldBeAbleToMapEntitiesAndRelationships() {
Iterator<Map<String, Object>> results = session.query("MATCH (u:User {name:$name})-[r:FRIENDS]->(friend) RETURN u as user, friend as friend, r", Collections.singletonMap("name", "Michal")).iterator();
assertThat(results).isNotNull();
Map<String, Object> result = results.next();
assertThat(result).isNotNull();
User user = (User) result.get("user");
assertThat(user).isNotNull();
assertThat(user.getName()).isEqualTo("Michal");
User friend = (User) result.get("friend");
assertThat(friend).isNotNull();
assertThat(friend.getName()).isEqualTo("Vince");
assertThat(user.getFriends().iterator().next().getName()).isEqualTo(friend.getName());
assertThat(results.hasNext()).isFalse();
}
use of org.neo4j.ogm.domain.cineasts.annotated.User in project neo4j-ogm by neo4j.
the class QueryCapabilityTest method shouldBeAbleToMapCollectionsFromPath.
// DATAGRAPH-700
@Test
public void shouldBeAbleToMapCollectionsFromPath() {
Iterator<Map<String, Object>> results = session.query("MATCH p=(u:User {name:$name})-[r:RATED]->(m) RETURN nodes(p) as nodes, relationships(p) as rels", Collections.singletonMap("name", "Vince")).iterator();
assertThat(results).isNotNull();
Map<String, Object> result = results.next();
assertThat(result).isNotNull();
List<Object> nodes = (List) result.get("nodes");
List<Object> rels = (List) result.get("rels");
assertThat(nodes).hasSize(2);
assertThat(rels).hasSize(1);
for (Object o : nodes) {
if (o instanceof User) {
User user = (User) o;
assertThat(user.getName()).isEqualTo("Vince");
assertThat(user.getRatings()).hasSize(1);
Movie movie = user.getRatings().iterator().next().getMovie();
assertThat(movie).isNotNull();
assertThat(movie.getTitle()).isEqualTo("Top Gear");
Rating rating = movie.getRatings().iterator().next();
assertThat(rating).isNotNull();
assertThat(rating.getStars()).isEqualTo(4);
}
}
}
use of org.neo4j.ogm.domain.cineasts.annotated.User in project neo4j-ogm by neo4j.
the class CineastsIntegrationTest method saveAndRetrieveUserWithSecurityRoles.
@Test
public void saveAndRetrieveUserWithSecurityRoles() {
User user = new User();
user.setLogin("daniela");
user.setName("Daniela");
user.setPassword("daniela");
user.setSecurityRoles(new SecurityRole[] { SecurityRole.USER });
session.save(user);
User daniela = session.load(User.class, "daniela");
assertThat(daniela).isNotNull();
assertThat(daniela.getName()).isEqualTo("Daniela");
assertThat(daniela.getSecurityRoles().length).isEqualTo(1);
assertThat(daniela.getSecurityRoles()[0]).isEqualTo(SecurityRole.USER);
}
use of org.neo4j.ogm.domain.cineasts.annotated.User in project neo4j-ogm by neo4j.
the class CineastsIntegrationTest method nestedFilteringCanBeTheOneAndOnlyOredFilter.
@Test
public void nestedFilteringCanBeTheOneAndOnlyOredFilter() {
Filter filterB = new Filter("name", ComparisonOperator.EQUALS, "Catty");
filterB.setNestedPath(new Filter.NestedPathSegment("ratings", Rating.class), new Filter.NestedPathSegment("user", User.class), new Filter.NestedPathSegment("pets", Pet.class));
filterB.setBooleanOperator(BooleanOperator.OR);
Filters filters = new Filters(filterB);
Collection<Movie> films = session.loadAll(Movie.class, filters);
assertThat(films).hasSize(2);
}
Aggregations