From 376f0b4ffac4ab8b3ae72cd5c3fc5aebaf800573 Mon Sep 17 00:00:00 2001 From: Matthew Adams Date: Mon, 24 Feb 2014 20:59:01 -0600 Subject: [PATCH] DATACASS-93 - finished incomplete tests --- .../compositeprimarykey/Explicit.java | 11 ++- .../compositeprimarykey/ExplicitKey.java | 4 +- ...ePrimaryKeyRepositoryIntegrationTests.java | 73 +++++++------------ ...eyRepositoryIntegrationTestsDelegator.java | 7 +- ...yRepositoryJavaConfigIntegrationTests.java | 8 ++ ...eyRepositoryXmlConfigIntegrationTests.java | 15 ++++ .../compositeprimarykey/Implicit.java | 4 + ...itoryXmlConfigIntegrationTests-context.xml | 31 +++----- .../resources/spring-data-cassandra-basic.xml | 4 + 9 files changed, 85 insertions(+), 72 deletions(-) create mode 100644 spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryXmlConfigIntegrationTests.java diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/Explicit.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/Explicit.java index e6c2fc699..b75dd3d35 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/Explicit.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/Explicit.java @@ -2,15 +2,20 @@ package org.springframework.data.cassandra.test.integration.forcequote.composite import java.util.UUID; +import org.springframework.data.cassandra.mapping.Column; import org.springframework.data.cassandra.mapping.PrimaryKey; import org.springframework.data.cassandra.mapping.Table; -@Table(forceQuote = true) +@Table(forceQuote = true, value = Explicit.TABLE_NAME) public class Explicit { + public static final String TABLE_NAME = "JavaExplicitTable"; + public static final String STRING_VALUE_COLUMN_NAME = "JavaExplicitStringValue"; + @PrimaryKey ExplicitKey primaryKey; + @Column(value = STRING_VALUE_COLUMN_NAME, forceQuote = true) String stringValue = UUID.randomUUID().toString(); @SuppressWarnings("unused") @@ -32,4 +37,8 @@ public class Explicit { public String getStringValue() { return stringValue; } + + public void setStringValue(String stringValue) { + this.stringValue = stringValue; + } } diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ExplicitKey.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ExplicitKey.java index e7392cbfd..74e522cc7 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ExplicitKey.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ExplicitKey.java @@ -9,8 +9,8 @@ import org.springframework.data.cassandra.mapping.PrimaryKeyColumn; @PrimaryKeyClass public class ExplicitKey implements Serializable { - public static final String EXPLICIT_KEY_ZERO = "FirstKey"; - public static final String EXPLICIT_KEY_ONE = "SecondKey"; + public static final String EXPLICIT_KEY_ZERO = "JavaExplicitKeyZero"; + public static final String EXPLICIT_KEY_ONE = "JavaExplicitKeyOne"; private static final long serialVersionUID = 4459456944472099332L; diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryIntegrationTests.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryIntegrationTests.java index 99c8c3482..771bdc9cb 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryIntegrationTests.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryIntegrationTests.java @@ -12,9 +12,7 @@ import org.springframework.data.cassandra.core.CassandraTemplate; public class ForceQuotedCompositePrimaryKeyRepositoryIntegrationTests { ImplicitRepository i; - // ImplicitPropertiesRepository ip; ExplicitRepository e; - // ExplicitPropertiesRepository ep; CassandraTemplate t; public void before() { @@ -33,75 +31,56 @@ public class ForceQuotedCompositePrimaryKeyRepositoryIntegrationTests { ImplicitKey key = new ImplicitKey(UUID.randomUUID().toString(), UUID.randomUUID().toString()); Implicit entity = new Implicit(key); + // insert Implicit s = i.save(entity); assertSame(s, entity); + // select Implicit f = i.findOne(key); assertNotSame(f, entity); - String stringValue = query("stringvalue", "\"Implicit\"", "\"keyZero\"", f.getPrimaryKey().getKeyZero(), "\"keyOne\"", f.getPrimaryKey().getKeyOne()); assertEquals(f.getStringValue(), stringValue); - i.delete(key); + // update + f.setStringValue(f.getStringValue() + "X"); + Implicit u = i.save(f); + assertSame(u, f); + f = i.findOne(u.getPrimaryKey()); + assertNotSame(f, u); + assertEquals(u.getStringValue(), f.getStringValue()); + // delete + i.delete(key); assertNull(i.findOne(key)); } - public void testExplicit() { + public void testExplicit(String tableName, String stringValueColumnName, String keyZeroColumnName, + String keyOneColumnName) { ExplicitKey key = new ExplicitKey(UUID.randomUUID().toString(), UUID.randomUUID().toString()); Explicit entity = new Explicit(key); + // insert Explicit s = e.save(entity); assertSame(s, entity); + // select Explicit f = e.findOne(key); assertNotSame(f, entity); - - String stringValue = query("stringvalue", "\"Explicit\"", String.format("\"%s\"", ExplicitKey.EXPLICIT_KEY_ZERO), f - .getPrimaryKey().getKeyZero(), String.format("\"%s\"", ExplicitKey.EXPLICIT_KEY_ONE), f.getPrimaryKey() - .getKeyOne()); + String stringValue = query(stringValueColumnName, tableName, keyZeroColumnName, f.getPrimaryKey().getKeyZero(), + keyOneColumnName, f.getPrimaryKey().getKeyOne()); assertEquals(f.getStringValue(), stringValue); - e.delete(key); + // update + f.setStringValue(f.getStringValue() + "X"); + Explicit u = e.save(f); + assertSame(u, f); + f = e.findOne(u.getPrimaryKey()); + assertNotSame(f, u); + assertEquals(u.getStringValue(), f.getStringValue()); + // delete + e.delete(key); assertNull(e.findOne(key)); } - - // public void testImplicitProperties() { - // ImplicitProperties entity = new ImplicitProperties(); - // String key = entity.getPrimaryKey(); - // - // ImplicitProperties s = ip.save(entity); - // assertSame(s, entity); - // - // ImplicitProperties f = ip.findOne(key); - // assertNotSame(f, entity); - // - // String stringValue = query("\"stringValue\"", "implicitproperties", "\"primaryKey\"", f.getPrimaryKey()); - // assertEquals(f.getStringValue(), stringValue); - // - // ip.delete(key); - // - // assertNull(ip.findOne(key)); - // } - - // public void testExplicitProperties(String stringValueColumnName, String primaryKeyColumnName) { - // ExplicitProperties entity = new ExplicitProperties(); - // String key = entity.getPrimaryKey(); - // - // ExplicitProperties s = ep.save(entity); - // assertSame(s, entity); - // - // ExplicitProperties f = ep.findOne(key); - // assertNotSame(f, entity); - // - // String stringValue = query(String.format("\"%s\"", ExplicitProperties.EXPLICIT_STRING_VALUE), "explicitproperties", - // String.format("\"%s\"", ExplicitProperties.EXPLICIT_PRIMARY_KEY), f.getPrimaryKey()); - // assertEquals(f.getStringValue(), stringValue); - // - // ip.delete(key); - // - // assertNull(ip.findOne(key)); - // } } diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryIntegrationTestsDelegator.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryIntegrationTestsDelegator.java index 0f17fb8d6..82aa8c44d 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryIntegrationTestsDelegator.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryIntegrationTestsDelegator.java @@ -38,8 +38,9 @@ public abstract class ForceQuotedCompositePrimaryKeyRepositoryIntegrationTestsDe tests.testImplicit(); } - @Test - public void testExplicit() { - tests.testExplicit(); + public void testExplicit(String tableName, String stringValueColumnName, String keyZeroColumnName, + String keyOneColumnName) { + + tests.testExplicit(tableName, stringValueColumnName, keyZeroColumnName, keyOneColumnName); } } diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryJavaConfigIntegrationTests.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryJavaConfigIntegrationTests.java index b21c19cd0..1b0496ebc 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryJavaConfigIntegrationTests.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryJavaConfigIntegrationTests.java @@ -1,5 +1,6 @@ package org.springframework.data.cassandra.test.integration.forcequote.compositeprimarykey; +import org.junit.Test; import org.springframework.context.annotation.Configuration; import org.springframework.data.cassandra.repository.config.EnableCassandraRepositories; import org.springframework.data.cassandra.test.integration.support.IntegrationTestConfig; @@ -13,4 +14,11 @@ public class ForceQuotedCompositePrimaryKeyRepositoryJavaConfigIntegrationTests @EnableCassandraRepositories(basePackageClasses = ImplicitRepository.class) public static class Config extends IntegrationTestConfig { } + + @Test + public void testExplicit() { + testExplicit(String.format("\"%s\"", Explicit.TABLE_NAME), + String.format("\"%s\"", Explicit.STRING_VALUE_COLUMN_NAME), + String.format("\"%s\"", ExplicitKey.EXPLICIT_KEY_ZERO), String.format("\"%s\"", ExplicitKey.EXPLICIT_KEY_ONE)); + } } diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryXmlConfigIntegrationTests.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryXmlConfigIntegrationTests.java new file mode 100644 index 000000000..935cf605f --- /dev/null +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryXmlConfigIntegrationTests.java @@ -0,0 +1,15 @@ +package org.springframework.data.cassandra.test.integration.forcequote.compositeprimarykey; + +import org.junit.Test; +import org.springframework.test.context.ContextConfiguration; + +@ContextConfiguration +public class ForceQuotedCompositePrimaryKeyRepositoryXmlConfigIntegrationTests extends + ForceQuotedCompositePrimaryKeyRepositoryIntegrationTestsDelegator { + + @Test + public void testExplicit() { + testExplicit(String.format("\"%s\"", "XmlExplicitTable"), String.format("\"%s\"", "XmlExplicitStringValue"), + String.format("\"%s\"", "XmlExplicitKeyZero"), String.format("\"%s\"", "XmlExplicitKeyOne")); + } +} diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/Implicit.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/Implicit.java index 8d035117f..389749ab9 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/Implicit.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/Implicit.java @@ -32,4 +32,8 @@ public class Implicit { public String getStringValue() { return stringValue; } + + public void setStringValue(String stringValue) { + this.stringValue = stringValue; + } } diff --git a/spring-data-cassandra/src/test/resources/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryXmlConfigIntegrationTests-context.xml b/spring-data-cassandra/src/test/resources/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryXmlConfigIntegrationTests-context.xml index 78d9a4893..f8ae871f1 100644 --- a/spring-data-cassandra/src/test/resources/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryXmlConfigIntegrationTests-context.xml +++ b/spring-data-cassandra/src/test/resources/org/springframework/data/cassandra/test/integration/forcequote/compositeprimarykey/ForceQuotedCompositePrimaryKeyRepositoryXmlConfigIntegrationTests-context.xml @@ -13,40 +13,33 @@ + entity-base-packages="org.springframework.data.cassandra.test.integration.forcequote.compositeprimarykey"> + class="org.springframework.data.cassandra.test.integration.forcequote.compositeprimarykey.Implicit"> - + class="org.springframework.data.cassandra.test.integration.forcequote.compositeprimarykey.Explicit"> + + - - - - - - - + class="org.springframework.data.cassandra.test.integration.forcequote.compositeprimarykey.ExplicitKey"> + + - - + + base-package="org.springframework.data.cassandra.test.integration.forcequote.compositeprimarykey" /> diff --git a/spring-data-cassandra/src/test/resources/spring-data-cassandra-basic.xml b/spring-data-cassandra/src/test/resources/spring-data-cassandra-basic.xml index b5ac038be..672f4dc0e 100644 --- a/spring-data-cassandra/src/test/resources/spring-data-cassandra-basic.xml +++ b/spring-data-cassandra/src/test/resources/spring-data-cassandra-basic.xml @@ -7,6 +7,10 @@ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> + + + +