From 2dcd9c86e59c321f3365a523d4cbed960c0d1961 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Wed, 4 Oct 2017 10:47:20 +0200 Subject: [PATCH] DATACASS-502 - Polishing. Add unit tests for Keyspace create/create-drop. --- ...tionSpecificationFactoryBeanUnitTests.java | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/config/KeyspaceActionSpecificationFactoryBeanUnitTests.java b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/config/KeyspaceActionSpecificationFactoryBeanUnitTests.java index ff207d2eb..7a4d96adb 100644 --- a/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/config/KeyspaceActionSpecificationFactoryBeanUnitTests.java +++ b/spring-data-cassandra/src/test/java/org/springframework/data/cassandra/config/KeyspaceActionSpecificationFactoryBeanUnitTests.java @@ -23,6 +23,8 @@ import java.util.List; import org.junit.Test; import org.springframework.data.cassandra.core.cql.KeyspaceIdentifier; import org.springframework.data.cassandra.core.cql.keyspace.AlterKeyspaceSpecification; +import org.springframework.data.cassandra.core.cql.keyspace.CreateKeyspaceSpecification; +import org.springframework.data.cassandra.core.cql.keyspace.DropKeyspaceSpecification; import org.springframework.data.cassandra.core.cql.keyspace.KeyspaceActionSpecification; import org.springframework.data.cassandra.core.cql.keyspace.KeyspaceOption.ReplicationStrategy; @@ -35,6 +37,44 @@ public class KeyspaceActionSpecificationFactoryBeanUnitTests { KeyspaceActionSpecificationFactoryBean bean = new KeyspaceActionSpecificationFactoryBean(); + @Test // DATACASS-502 + public void shouldCreateKeyspace() { + + bean.setAction(KeyspaceAction.CREATE); + bean.setName("my_keyspace"); + bean.setReplicationStrategy(ReplicationStrategy.SIMPLE_STRATEGY); + bean.setReplicationFactor(1); + + bean.afterPropertiesSet(); + + List actions = bean.getObject().getActions(); + + assertThat(actions).hasSize(1).hasAtLeastOneElementOfType(CreateKeyspaceSpecification.class); + + CreateKeyspaceSpecification create = (CreateKeyspaceSpecification) actions.get(0); + + assertThat(create.getName()).isEqualTo(KeyspaceIdentifier.of("my_keyspace")); + assertThat(create.getOptions()).containsKeys("durable_writes", "replication"); + } + + @Test // DATACASS-502 + public void shouldCreateAndDropKeyspace() { + + bean.setAction(KeyspaceAction.CREATE_DROP); + bean.setName("my_keyspace"); + + bean.afterPropertiesSet(); + + List actions = bean.getObject().getActions(); + + assertThat(actions).hasSize(2).hasAtLeastOneElementOfType(CreateKeyspaceSpecification.class) + .hasAtLeastOneElementOfType(DropKeyspaceSpecification.class); + + DropKeyspaceSpecification drop = (DropKeyspaceSpecification) actions.get(1); + + assertThat(drop.getName()).isEqualTo(KeyspaceIdentifier.of("my_keyspace")); + } + @Test // DATACASS-502 public void shouldAlterKeyspace() {