From 6c8b441fdd728cc6899a7253dedc9e2072a5c448 Mon Sep 17 00:00:00 2001 From: Matthew Adams Date: Wed, 5 Mar 2014 12:31:18 -0600 Subject: [PATCH] DATACASS-107 - added tests for external named queries --- .../declared}/Person.java | 2 +- .../declared/QueryIntegrationTests.java} | 12 +-- ...ngBasedCassandraQueryIntegrationTests.java | 4 +- ...PersonRepositoryWithQueryAnnotations.java} | 24 ++++-- .../anno/QueryAnnotationIntegrationTests.java | 15 ++++ .../declared/base/PersonRepository.java | 33 ++++++++ .../named/NamedQueryIntegrationTests.java | 15 ++++ .../PersonRepositoryWithNamedQueries.java | 6 ++ .../repository/UserRepository.java | 4 +- .../UserRepositoryIntegrationTests.java | 6 ++ ...erRepositoryIntegrationTestsDelegator.java | 77 +++++++++++++++++++ ...rRepositoryJavaConfigIntegrationTests.java | 50 +----------- ...erRepositoryXmlConfigIntegrationTests.java | 51 +----------- ...ersonRepositoryWithNamedQueries.properties | 9 +++ .../cassandra-named-queries.properties | 2 +- 15 files changed, 191 insertions(+), 119 deletions(-) rename spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/{repositoryquery => querymethods/declared}/Person.java (96%) rename spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/{repositoryquery/QueryAnnotationIntegrationTests.java => querymethods/declared/QueryIntegrationTests.java} (92%) rename spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/{repositoryquery => querymethods/declared}/StringBasedCassandraQueryIntegrationTests.java (97%) rename spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/{repositoryquery/PersonRepository.java => querymethods/declared/anno/PersonRepositoryWithQueryAnnotations.java} (66%) create mode 100644 spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/anno/QueryAnnotationIntegrationTests.java create mode 100644 spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/base/PersonRepository.java create mode 100644 spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/named/NamedQueryIntegrationTests.java create mode 100644 spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/named/PersonRepositoryWithNamedQueries.java create mode 100644 spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repository/UserRepositoryIntegrationTestsDelegator.java create mode 100644 spring-data-cassandra/src/test/resources/META-INF/PersonRepositoryWithNamedQueries.properties diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repositoryquery/Person.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/Person.java similarity index 96% rename from spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repositoryquery/Person.java rename to spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/Person.java index d387851ff..b9213795d 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repositoryquery/Person.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/Person.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.cassandra.test.integration.repositoryquery; +package org.springframework.data.cassandra.test.integration.querymethods.declared; import java.util.Date; diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repositoryquery/QueryAnnotationIntegrationTests.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/QueryIntegrationTests.java similarity index 92% rename from spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repositoryquery/QueryAnnotationIntegrationTests.java rename to spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/QueryIntegrationTests.java index 1b15fae6e..08c932b16 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repositoryquery/QueryAnnotationIntegrationTests.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/QueryIntegrationTests.java @@ -1,4 +1,4 @@ -package org.springframework.data.cassandra.test.integration.repositoryquery; +package org.springframework.data.cassandra.test.integration.querymethods.declared; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; @@ -8,26 +8,20 @@ import java.util.Collection; import java.util.Date; import java.util.List; import java.util.Map; -import java.util.UUID; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Configuration; import org.springframework.data.cassandra.config.SchemaAction; -import org.springframework.data.cassandra.repository.config.EnableCassandraRepositories; +import org.springframework.data.cassandra.test.integration.querymethods.declared.base.PersonRepository; import org.springframework.data.cassandra.test.integration.support.AbstractSpringDataEmbeddedCassandraIntegrationTest; import org.springframework.data.cassandra.test.integration.support.IntegrationTestConfig; -import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration -public class QueryAnnotationIntegrationTests extends AbstractSpringDataEmbeddedCassandraIntegrationTest { +public abstract class QueryIntegrationTests extends AbstractSpringDataEmbeddedCassandraIntegrationTest { - @Configuration - @EnableCassandraRepositories(basePackageClasses = PersonRepository.class) public static class Config extends IntegrationTestConfig { @Override diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repositoryquery/StringBasedCassandraQueryIntegrationTests.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/StringBasedCassandraQueryIntegrationTests.java similarity index 97% rename from spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repositoryquery/StringBasedCassandraQueryIntegrationTests.java rename to spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/StringBasedCassandraQueryIntegrationTests.java index e371e901c..911214815 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repositoryquery/StringBasedCassandraQueryIntegrationTests.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/StringBasedCassandraQueryIntegrationTests.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.cassandra.test.integration.repositoryquery; +package org.springframework.data.cassandra.test.integration.querymethods.declared; import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThat; @@ -42,8 +42,6 @@ import com.datastax.driver.core.querybuilder.Select; /** * Unit tests for {@link StringBasedCassandraQuery}. - * - * @author Oliver Gierke */ @RunWith(MockitoJUnitRunner.class) public class StringBasedCassandraQueryIntegrationTests { diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repositoryquery/PersonRepository.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/anno/PersonRepositoryWithQueryAnnotations.java similarity index 66% rename from spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repositoryquery/PersonRepository.java rename to spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/anno/PersonRepositoryWithQueryAnnotations.java index 0f4ac2b7b..71f881843 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repositoryquery/PersonRepository.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/anno/PersonRepositoryWithQueryAnnotations.java @@ -1,44 +1,54 @@ -package org.springframework.data.cassandra.test.integration.repositoryquery; +package org.springframework.data.cassandra.test.integration.querymethods.declared.anno; import java.util.Date; import java.util.List; import java.util.Map; -import java.util.UUID; -import org.springframework.data.cassandra.repository.CassandraRepository; import org.springframework.data.cassandra.repository.Query; +import org.springframework.data.cassandra.test.integration.querymethods.declared.Person; +import org.springframework.data.cassandra.test.integration.querymethods.declared.base.PersonRepository; +import org.springframework.data.cassandra.test.integration.querymethods.declared.named.PersonRepositoryWithNamedQueries; import com.datastax.driver.core.ResultSet; -public interface PersonRepository extends CassandraRepository { +/** + * we extend {@link PersonRepositoryWithNamedQueries} here just to keep the test codebase in sync. + */ +public interface PersonRepositoryWithQueryAnnotations extends PersonRepository { + @Override @Query("select * from person where lastname = '?0'") List findFolksWithLastnameAsList(String lastname); + @Override @Query("select * from person where lastname = '?0'") ResultSet findFolksWithLastnameAsResultSet(String last); + @Override @Query("select * from person where lastname = '?0'") Person[] findFolksWithLastnameAsArray(String lastname); + @Override @Query("select * from person where lastname = '?0' and firstname = '?1'") Person findSingle(String last, String first); + @Override @Query("select * from person where lastname = '?0'") List> findFolksWithLastnameAsListOfMapOfStringToObject(String last); + @Override @Query("select nickname from person where lastname = '?0' and firstname = '?1'") String findSingleNickname(String last, String first); + @Override @Query("select birthdate from person where lastname = '?0' and firstname = '?1'") Date findSingleBirthdate(String last, String first); + @Override @Query("select cool from person where lastname = '?0' and firstname = '?1'") boolean findSingleCool(String last, String first); + @Override @Query("select numberofchildren from person where lastname = '?0' and firstname = '?1'") int findSingleNumberOfChildren(String last, String first); - - @Query("select uuid from person where lastname = '?0' and firstname = '?1'") - UUID findSingleUuid(String last, String first); } diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/anno/QueryAnnotationIntegrationTests.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/anno/QueryAnnotationIntegrationTests.java new file mode 100644 index 000000000..df6841ff7 --- /dev/null +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/anno/QueryAnnotationIntegrationTests.java @@ -0,0 +1,15 @@ +package org.springframework.data.cassandra.test.integration.querymethods.declared.anno; + +import org.springframework.context.annotation.Configuration; +import org.springframework.data.cassandra.repository.config.EnableCassandraRepositories; +import org.springframework.data.cassandra.test.integration.querymethods.declared.QueryIntegrationTests; +import org.springframework.test.context.ContextConfiguration; + +@ContextConfiguration +public class QueryAnnotationIntegrationTests extends QueryIntegrationTests { + + @Configuration + @EnableCassandraRepositories(basePackageClasses = PersonRepositoryWithQueryAnnotations.class) + public static class Config extends QueryIntegrationTests.Config { + } +} diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/base/PersonRepository.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/base/PersonRepository.java new file mode 100644 index 000000000..4a4d97e92 --- /dev/null +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/base/PersonRepository.java @@ -0,0 +1,33 @@ +package org.springframework.data.cassandra.test.integration.querymethods.declared.base; + +import java.util.Date; +import java.util.List; +import java.util.Map; + +import org.springframework.data.cassandra.repository.CassandraRepository; +import org.springframework.data.cassandra.test.integration.querymethods.declared.Person; +import org.springframework.data.repository.NoRepositoryBean; + +import com.datastax.driver.core.ResultSet; + +@NoRepositoryBean +public interface PersonRepository extends CassandraRepository { + + List findFolksWithLastnameAsList(String lastname); + + ResultSet findFolksWithLastnameAsResultSet(String last); + + Person[] findFolksWithLastnameAsArray(String lastname); + + Person findSingle(String last, String first); + + List> findFolksWithLastnameAsListOfMapOfStringToObject(String last); + + String findSingleNickname(String last, String first); + + Date findSingleBirthdate(String last, String first); + + boolean findSingleCool(String last, String first); + + int findSingleNumberOfChildren(String last, String first); +} diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/named/NamedQueryIntegrationTests.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/named/NamedQueryIntegrationTests.java new file mode 100644 index 000000000..0673f347c --- /dev/null +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/named/NamedQueryIntegrationTests.java @@ -0,0 +1,15 @@ +package org.springframework.data.cassandra.test.integration.querymethods.declared.named; + +import org.springframework.context.annotation.Configuration; +import org.springframework.data.cassandra.repository.config.EnableCassandraRepositories; +import org.springframework.data.cassandra.test.integration.querymethods.declared.QueryIntegrationTests; +import org.springframework.test.context.ContextConfiguration; + +@ContextConfiguration +public class NamedQueryIntegrationTests extends QueryIntegrationTests { + + @Configuration + @EnableCassandraRepositories(basePackageClasses = PersonRepositoryWithNamedQueries.class, namedQueriesLocation = "classpath:META-INF/PersonRepositoryWithNamedQueries.properties") + public static class Config extends QueryIntegrationTests.Config { + } +} diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/named/PersonRepositoryWithNamedQueries.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/named/PersonRepositoryWithNamedQueries.java new file mode 100644 index 000000000..1ec86d130 --- /dev/null +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/querymethods/declared/named/PersonRepositoryWithNamedQueries.java @@ -0,0 +1,6 @@ +package org.springframework.data.cassandra.test.integration.querymethods.declared.named; + +import org.springframework.data.cassandra.test.integration.querymethods.declared.base.PersonRepository; + +public interface PersonRepositoryWithNamedQueries extends PersonRepository { +} diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repository/UserRepository.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repository/UserRepository.java index 293404960..f0d8eb100 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repository/UserRepository.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repository/UserRepository.java @@ -21,7 +21,9 @@ import org.springframework.data.cassandra.repository.TypedIdCassandraRepository; * Sample repository managing {@link User} entities. * * @author Alex Shvid - * + * @author Matthew T. Adams */ public interface UserRepository extends TypedIdCassandraRepository { + + String findByNamedQuery(String username); } diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repository/UserRepositoryIntegrationTests.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repository/UserRepositoryIntegrationTests.java index df98ac254..2887374e9 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repository/UserRepositoryIntegrationTests.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repository/UserRepositoryIntegrationTests.java @@ -93,6 +93,12 @@ public class UserRepositoryIntegrationTests { setUp(); } + public void findByNamedQuery() { + String name = repository.findByNamedQuery("bob"); + Assert.assertNotNull(name); + Assert.assertEquals("Bob", name); + } + public void findsUserById() throws Exception { User user = repository.findOne(bob.getUsername()); diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repository/UserRepositoryIntegrationTestsDelegator.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repository/UserRepositoryIntegrationTestsDelegator.java new file mode 100644 index 000000000..aa9e06b9e --- /dev/null +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repository/UserRepositoryIntegrationTestsDelegator.java @@ -0,0 +1,77 @@ +/* + * Copyright 2013-2014 the original author or authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.cassandra.test.integration.repository; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.cassandra.core.CassandraOperations; +import org.springframework.data.cassandra.test.integration.support.AbstractSpringDataEmbeddedCassandraIntegrationTest; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +/** + * Base class for Java config tests for {@link UserRepository}. + * + * @author Matthew T. Adams + */ +@RunWith(SpringJUnit4ClassRunner.class) +public class UserRepositoryIntegrationTestsDelegator extends AbstractSpringDataEmbeddedCassandraIntegrationTest { + + @Autowired + protected UserRepository repository; + + @Autowired + protected CassandraOperations template; + + UserRepositoryIntegrationTests tests; + + @Before + public void before() { + tests = new UserRepositoryIntegrationTests(repository, template); + tests.before(); + } + + @Test + public void findByNamedQuery() { + tests.findByNamedQuery(); + } + + @Test + public void findsUserById() throws Exception { + tests.findsUserById(); + } + + @Test + public void findsAll() throws Exception { + tests.findsAll(); + } + + @Test + public void findsAllWithGivenIds() { + tests.findsAllWithGivenIds(); + } + + @Test + public void deletesUserCorrectly() throws Exception { + tests.deletesUserCorrectly(); + } + + @Test + public void deletesUserByIdCorrectly() { + tests.deletesUserByIdCorrectly(); + } +} diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repository/UserRepositoryJavaConfigIntegrationTests.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repository/UserRepositoryJavaConfigIntegrationTests.java index 992dd8ec0..6f6f43a0a 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repository/UserRepositoryJavaConfigIntegrationTests.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repository/UserRepositoryJavaConfigIntegrationTests.java @@ -15,26 +15,18 @@ */ package org.springframework.data.cassandra.test.integration.repository; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; -import org.springframework.data.cassandra.core.CassandraOperations; import org.springframework.data.cassandra.repository.config.EnableCassandraRepositories; -import org.springframework.data.cassandra.test.integration.support.AbstractSpringDataEmbeddedCassandraIntegrationTest; import org.springframework.data.cassandra.test.integration.support.IntegrationTestConfig; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; /** - * Base class for Java config tests for {@link UserRepository}. + * Java config tests for {@link UserRepository}. * * @author Matthew T. Adams */ -@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration -public class UserRepositoryJavaConfigIntegrationTests extends AbstractSpringDataEmbeddedCassandraIntegrationTest { +public class UserRepositoryJavaConfigIntegrationTests extends UserRepositoryIntegrationTestsDelegator { @Configuration @EnableCassandraRepositories(basePackageClasses = UserRepository.class) @@ -51,42 +43,4 @@ public class UserRepositoryJavaConfigIntegrationTests extends AbstractSpringData } } - @Autowired - protected UserRepository repository; - - @Autowired - protected CassandraOperations template; - - UserRepositoryIntegrationTests tests; - - @Before - public void before() { - tests = new UserRepositoryIntegrationTests(repository, template); - tests.before(); - } - - @Test - public void findsUserById() throws Exception { - tests.findsUserById(); - } - - @Test - public void findsAll() throws Exception { - tests.findsAll(); - } - - @Test - public void findsAllWithGivenIds() { - tests.findsAllWithGivenIds(); - } - - @Test - public void deletesUserCorrectly() throws Exception { - tests.deletesUserCorrectly(); - } - - @Test - public void deletesUserByIdCorrectly() { - tests.deletesUserByIdCorrectly(); - } } diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repository/UserRepositoryXmlConfigIntegrationTests.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repository/UserRepositoryXmlConfigIntegrationTests.java index 2b8915299..1b9868394 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repository/UserRepositoryXmlConfigIntegrationTests.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/repository/UserRepositoryXmlConfigIntegrationTests.java @@ -15,60 +15,13 @@ */ package org.springframework.data.cassandra.test.integration.repository; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.cassandra.core.CassandraOperations; -import org.springframework.data.cassandra.test.integration.support.AbstractSpringDataEmbeddedCassandraIntegrationTest; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; /** - * Base class for xml config tests for {@link UserRepository}. + * xml config tests for {@link UserRepository}. * * @author Matthew T. Adams */ -@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration -public class UserRepositoryXmlConfigIntegrationTests extends AbstractSpringDataEmbeddedCassandraIntegrationTest { - - @Autowired - protected UserRepository repository; - - @Autowired - protected CassandraOperations template; - - UserRepositoryIntegrationTests tests; - - @Before - public void before() { - tests = new UserRepositoryIntegrationTests(repository, template); - tests.before(); - } - - @Test - public void findsUserById() throws Exception { - tests.findsUserById(); - } - - @Test - public void findsAll() throws Exception { - tests.findsAll(); - } - - @Test - public void findsAllWithGivenIds() { - tests.findsAllWithGivenIds(); - } - - @Test - public void deletesUserCorrectly() throws Exception { - tests.deletesUserCorrectly(); - } - - @Test - public void deletesUserByIdCorrectly() { - tests.deletesUserByIdCorrectly(); - } +public class UserRepositoryXmlConfigIntegrationTests extends UserRepositoryIntegrationTestsDelegator { } diff --git a/spring-data-cassandra/src/test/resources/META-INF/PersonRepositoryWithNamedQueries.properties b/spring-data-cassandra/src/test/resources/META-INF/PersonRepositoryWithNamedQueries.properties new file mode 100644 index 000000000..6f9ad4229 --- /dev/null +++ b/spring-data-cassandra/src/test/resources/META-INF/PersonRepositoryWithNamedQueries.properties @@ -0,0 +1,9 @@ +Person.findFolksWithLastnameAsList=select * from person where lastname = '?0' +Person.findFolksWithLastnameAsResultSet=select * from person where lastname = '?0' +Person.findFolksWithLastnameAsArray=select * from person where lastname = '?0' +Person.findSingle=select * from person where lastname = '?0' and firstname = '?1' +Person.findFolksWithLastnameAsListOfMapOfStringToObject=select * from person where lastname = '?0' +Person.findSingleNickname=select nickname from person where lastname = '?0' and firstname = '?1' +Person.findSingleBirthdate=select birthdate from person where lastname = '?0' and firstname = '?1' +Person.findSingleCool=select cool from person where lastname = '?0' and firstname = '?1' +Person.findSingleNumberOfChildren=select numberofchildren from person where lastname = '?0' and firstname = '?1' diff --git a/spring-data-cassandra/src/test/resources/META-INF/cassandra-named-queries.properties b/spring-data-cassandra/src/test/resources/META-INF/cassandra-named-queries.properties index f8e240021..76c051295 100644 --- a/spring-data-cassandra/src/test/resources/META-INF/cassandra-named-queries.properties +++ b/spring-data-cassandra/src/test/resources/META-INF/cassandra-named-queries.properties @@ -1 +1 @@ -User.findByNamedQuery=SELECT firstName FROM table WHERE firstName=?0 +User.findByNamedQuery=SELECT firstname FROM users WHERE username='?0'