From 2502779445bd9084078b66d18d974ccc38a06eef Mon Sep 17 00:00:00 2001 From: Matthew Adams Date: Fri, 7 Feb 2014 10:48:51 -0600 Subject: [PATCH] DATACASS-33 - moved test support classes & improved CompoundPrimaryKeyIntegrationTests --- .../config/CassandraNamespaceTests.java | 2 +- ...andraPersistentEntityIntegrationTests.java | 2 +- .../CompoundPrimaryKeyIntegrationTests.java | 23 +++++++++++-------- ...rRepositoryJavaConfigIntegrationTests.java | 4 ++-- ...erRepositoryXmlConfigIntegrationTests.java | 2 +- ...gDataEmbeddedCassandraIntegrationTest.java | 3 +-- .../{config => support}/TestConfig.java | 3 +-- .../template/CassandraDataOperationsTest.java | 4 ++-- 8 files changed, 23 insertions(+), 20 deletions(-) rename spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/{ => support}/AbstractSpringDataEmbeddedCassandraIntegrationTest.java (93%) rename spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/{config => support}/TestConfig.java (83%) diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/config/CassandraNamespaceTests.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/config/CassandraNamespaceTests.java index 66eb3ee1a..33377606e 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/config/CassandraNamespaceTests.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/config/CassandraNamespaceTests.java @@ -4,7 +4,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; -import org.springframework.data.cassandra.test.integration.AbstractSpringDataEmbeddedCassandraIntegrationTest; +import org.springframework.data.cassandra.test.integration.support.AbstractSpringDataEmbeddedCassandraIntegrationTest; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.util.Assert; diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/mapping/BasicCassandraPersistentEntityIntegrationTests.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/mapping/BasicCassandraPersistentEntityIntegrationTests.java index 69dda8e6b..306351a00 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/mapping/BasicCassandraPersistentEntityIntegrationTests.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/mapping/BasicCassandraPersistentEntityIntegrationTests.java @@ -28,7 +28,7 @@ import org.mockito.runners.MockitoJUnitRunner; import org.springframework.context.ApplicationContext; import org.springframework.data.cassandra.mapping.BasicCassandraPersistentEntity; import org.springframework.data.cassandra.mapping.Table; -import org.springframework.data.cassandra.test.integration.AbstractSpringDataEmbeddedCassandraIntegrationTest; +import org.springframework.data.cassandra.test.integration.support.AbstractSpringDataEmbeddedCassandraIntegrationTest; import org.springframework.data.util.ClassTypeInformation; /** diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/mapping/CompoundPrimaryKeyIntegrationTests.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/mapping/CompoundPrimaryKeyIntegrationTests.java index 7b868fb0d..f02017567 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/mapping/CompoundPrimaryKeyIntegrationTests.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/mapping/CompoundPrimaryKeyIntegrationTests.java @@ -22,6 +22,7 @@ import java.util.Date; import org.junit.Before; import org.junit.Test; +import org.springframework.cassandra.core.PrimaryKeyType; import org.springframework.data.cassandra.mapping.BasicCassandraPersistentEntity; import org.springframework.data.cassandra.mapping.BasicCassandraPersistentProperty; import org.springframework.data.cassandra.mapping.CachingCassandraPersistentProperty; @@ -32,6 +33,7 @@ import org.springframework.data.cassandra.mapping.Column; import org.springframework.data.cassandra.mapping.PrimaryKey; import org.springframework.data.cassandra.mapping.PrimaryKeyClass; import org.springframework.data.cassandra.mapping.PrimaryKeyColumn; +import org.springframework.data.cassandra.mapping.Table; import org.springframework.data.util.ClassTypeInformation; import org.springframework.util.ReflectionUtils; @@ -39,41 +41,44 @@ import org.springframework.util.ReflectionUtils; * Integration test for {@link BasicCassandraPersistentProperty}. * * @author Alex Shvid + * @author Matthew T. Adams */ public class CompoundPrimaryKeyIntegrationTests { @PrimaryKeyClass static class TimelineKey { - @PrimaryKeyColumn(ordinal = 0) - String id; + @PrimaryKeyColumn(ordinal = 0, type = PrimaryKeyType.PARTITIONED) + String string; - @PrimaryKeyColumn(ordinal = 1) - Date dt; + @PrimaryKeyColumn(ordinal = 1, type = PrimaryKeyType.PARTITIONED) + Date datetime; } + @Table static class Timeline { - @PrimaryKey TimelineKey id; @Column("message") String text; - } + CassandraPersistentEntity cpk; CassandraPersistentEntity entity; @Before public void setup() { + cpk = new BasicCassandraPersistentEntity(ClassTypeInformation.from(TimelineKey.class)); entity = new BasicCassandraPersistentEntity(ClassTypeInformation.from(Timeline.class)); } @Test - public void checksIdProperty() { - Field field = ReflectionUtils.findField(Timeline.class, "id"); - CassandraPersistentProperty property = getPropertyFor(field); + public void checkIdProperty() { + Field id = ReflectionUtils.findField(Timeline.class, "id"); + CassandraPersistentProperty property = getPropertyFor(id); assertTrue(property.isIdProperty()); + assertTrue(property.isCompositePrimaryKey()); } private CassandraPersistentProperty getPropertyFor(Field field) { 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 7c1236543..9ca1eac3e 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 @@ -30,8 +30,8 @@ import org.springframework.context.annotation.Configuration; import org.springframework.data.cassandra.config.SchemaAction; import org.springframework.data.cassandra.core.CassandraOperations; import org.springframework.data.cassandra.repository.config.EnableCassandraRepositories; -import org.springframework.data.cassandra.test.integration.AbstractSpringDataEmbeddedCassandraIntegrationTest; -import org.springframework.data.cassandra.test.integration.config.TestConfig; +import org.springframework.data.cassandra.test.integration.support.AbstractSpringDataEmbeddedCassandraIntegrationTest; +import org.springframework.data.cassandra.test.integration.support.TestConfig; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; 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 05a9e8431..3fe881fca 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 @@ -21,7 +21,7 @@ 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.AbstractSpringDataEmbeddedCassandraIntegrationTest; +import org.springframework.data.cassandra.test.integration.support.AbstractSpringDataEmbeddedCassandraIntegrationTest; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/AbstractSpringDataEmbeddedCassandraIntegrationTest.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/support/AbstractSpringDataEmbeddedCassandraIntegrationTest.java similarity index 93% rename from spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/AbstractSpringDataEmbeddedCassandraIntegrationTest.java rename to spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/support/AbstractSpringDataEmbeddedCassandraIntegrationTest.java index 6c97490c4..cfbafbfc4 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/AbstractSpringDataEmbeddedCassandraIntegrationTest.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/support/AbstractSpringDataEmbeddedCassandraIntegrationTest.java @@ -1,4 +1,4 @@ -package org.springframework.data.cassandra.test.integration; +package org.springframework.data.cassandra.test.integration.support; import static org.springframework.cassandra.core.keyspace.DropTableSpecification.dropTable; @@ -13,7 +13,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cassandra.test.integration.AbstractEmbeddedCassandraIntegrationTest; import org.springframework.core.io.ClassPathResource; import org.springframework.data.cassandra.core.CassandraOperations; -import org.springframework.data.cassandra.test.integration.support.SpringDataCassandraBuildProperties; import org.springframework.data.cassandra.test.integration.template.CassandraDataOperationsTest.Config; import org.springframework.util.Assert; diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/config/TestConfig.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/support/TestConfig.java similarity index 83% rename from spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/config/TestConfig.java rename to spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/support/TestConfig.java index 1b66f649b..752b8abbd 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/config/TestConfig.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/support/TestConfig.java @@ -1,9 +1,8 @@ -package org.springframework.data.cassandra.test.integration.config; +package org.springframework.data.cassandra.test.integration.support; import org.springframework.cassandra.test.unit.support.Utils; import org.springframework.context.annotation.Configuration; import org.springframework.data.cassandra.config.java.AbstractSpringDataCassandraConfiguration; -import org.springframework.data.cassandra.test.integration.support.SpringDataCassandraBuildProperties; /** * Setup any spring configuration for unit tests diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/template/CassandraDataOperationsTest.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/template/CassandraDataOperationsTest.java index 173729928..047545bc8 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/template/CassandraDataOperationsTest.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/template/CassandraDataOperationsTest.java @@ -41,9 +41,9 @@ import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; import org.springframework.data.cassandra.config.SchemaAction; import org.springframework.data.cassandra.core.CassandraOperations; -import org.springframework.data.cassandra.test.integration.AbstractSpringDataEmbeddedCassandraIntegrationTest; -import org.springframework.data.cassandra.test.integration.config.TestConfig; import org.springframework.data.cassandra.test.integration.simpletons.Book; +import org.springframework.data.cassandra.test.integration.support.AbstractSpringDataEmbeddedCassandraIntegrationTest; +import org.springframework.data.cassandra.test.integration.support.TestConfig; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;