From e46ab61d685bc1445fdd7428b2b077d116d49784 Mon Sep 17 00:00:00 2001 From: John Tims Date: Sat, 21 Mar 2015 08:45:46 -0400 Subject: [PATCH] Add mongo integration tests --- .../querydsl/mongodb/MongodbSerializer.java | 2 +- .../querydsl/mongodb/MongodbQueryTest.java | 23 +++++-------------- .../mongodb/MongodbSerializerTest.java | 2 +- 3 files changed, 8 insertions(+), 19 deletions(-) diff --git a/querydsl-mongodb/src/main/java/com/querydsl/mongodb/MongodbSerializer.java b/querydsl-mongodb/src/main/java/com/querydsl/mongodb/MongodbSerializer.java index c7eb77732..ae81a9858 100644 --- a/querydsl-mongodb/src/main/java/com/querydsl/mongodb/MongodbSerializer.java +++ b/querydsl-mongodb/src/main/java/com/querydsl/mongodb/MongodbSerializer.java @@ -127,7 +127,7 @@ public abstract class MongodbSerializer implements Visitor { if (subOp == Ops.IN) { return visit(OperationImpl.create(Boolean.class, Ops.NOT_IN, subOperation.getArg(0), subOperation.getArg(1)), context); - } else if (key.equals("$or")) { + } else if ("$or".equals(key)) { return asDBObject("$nor", arg.get(key)); } else if (subOp != Ops.EQ && subOp != Ops.STRING_IS_EMPTY) { diff --git a/querydsl-mongodb/src/test/java/com/querydsl/mongodb/MongodbQueryTest.java b/querydsl-mongodb/src/test/java/com/querydsl/mongodb/MongodbQueryTest.java index 5cf9b9cde..13014c80f 100644 --- a/querydsl-mongodb/src/test/java/com/querydsl/mongodb/MongodbQueryTest.java +++ b/querydsl-mongodb/src/test/java/com/querydsl/mongodb/MongodbQueryTest.java @@ -36,6 +36,7 @@ import com.querydsl.core.testutil.ExternalDB; import com.querydsl.core.types.EntityPath; import com.querydsl.core.types.OrderSpecifier; import com.querydsl.core.types.Predicate; +import com.querydsl.core.types.path.ListPath; import com.querydsl.core.types.path.StringPath; import com.querydsl.mongodb.domain.*; import com.querydsl.mongodb.domain.User.Gender; @@ -332,10 +333,6 @@ public class MongodbQueryTest { @Test public void IsEmpty() { assertQuery(user.firstName.isEmpty()); - } - - @Test - public void isEmpty2() { assertQuery(user.friends.isEmpty(), u1); } @@ -344,6 +341,7 @@ public class MongodbQueryTest { assertQuery(user.firstName.eq("Jaakko").not(), u3, u4, u2); assertQuery(user.firstName.ne("Jaakko").not(), u1); assertQuery(user.firstName.matches("Jaakko").not(), u3, u4, u2); + assertQuery(user.friends.isNotEmpty(), u3, u4, u2); } @Test @@ -351,18 +349,6 @@ public class MongodbQueryTest { assertQuery(user.lastName.eq("Aakkonen").or(user.lastName.eq("BeekkoNen")), u3, u4); } - //This is not supported yet -// @Test -// public void UniqueResult() { -// -// addUser("Dille", "Duplikaatti"); -// addUser("Dille", "Duplikaatti"); -// -// assertEquals(2, where(user.firstName.eq("Dille")).count()); -// assertEquals(1, where(user.firstName.eq("Dille")).countDistinct()); -// -// } - @Test public void Iterate() { User a = addUser("A", "A"); @@ -398,6 +384,7 @@ public class MongodbQueryTest { @Test public void Various() { + ListPath list = user.addresses; StringPath str = user.lastName; List predicates = new ArrayList(); predicates.add(str.between("a", "b")); @@ -413,7 +400,7 @@ public class MongodbQueryTest { predicates.add(str.isEmpty()); predicates.add(str.isNotNull()); predicates.add(str.isNull()); -// predicates.add(str.like("a")); + predicates.add(str.like("a")); predicates.add(str.loe("a")); predicates.add(str.lt("a")); predicates.add(str.matches("a")); @@ -422,6 +409,8 @@ public class MongodbQueryTest { predicates.add(str.notIn("a","b","c")); predicates.add(str.startsWith("a")); predicates.add(str.startsWithIgnoreCase("a")); + predicates.add(list.isEmpty()); + predicates.add(list.isNotEmpty()); for (Predicate predicate : predicates) { where(predicate).count(); diff --git a/querydsl-mongodb/src/test/java/com/querydsl/mongodb/MongodbSerializerTest.java b/querydsl-mongodb/src/test/java/com/querydsl/mongodb/MongodbSerializerTest.java index 6aa606f0e..3ee837958 100644 --- a/querydsl-mongodb/src/test/java/com/querydsl/mongodb/MongodbSerializerTest.java +++ b/querydsl-mongodb/src/test/java/com/querydsl/mongodb/MongodbSerializerTest.java @@ -199,7 +199,7 @@ public class MongodbSerializerTest { } @Test - public void Regexcases() { + public void RegexCases() { assertQuery(title.startsWith("A"), dbo("title", dbo("$regex", "^\\QA\\E"))); assertQuery(title.startsWithIgnoreCase("A"),