Removed harry-core dependency on the in in-jvm dtest libs (cassandra-dtest-shaded and dtest-api); Moved in-jvm tests to the harry-integration module; Created a new module: harry-integration-external for connections with external clusters.
diff --git a/harry-core/pom.xml b/harry-core/pom.xml
index 3c53a7d..6ca4ef0 100755
--- a/harry-core/pom.xml
+++ b/harry-core/pom.xml
@@ -59,18 +59,6 @@
</dependency>
<dependency>
- <groupId>org.apache.cassandra</groupId>
- <artifactId>cassandra-dtest-shaded</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.cassandra</groupId>
- <artifactId>dtest-api</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
diff --git a/harry-integration-external/pom.xml b/harry-integration-external/pom.xml
new file mode 100755
index 0000000..3e4e72e
--- /dev/null
+++ b/harry-integration-external/pom.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you 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.
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <packaging>jar</packaging>
+
+ <parent>
+ <groupId>org.apache.cassandra</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ <artifactId>harry-parent</artifactId>
+ </parent>
+
+ <artifactId>harry-integration-external</artifactId>
+ <name>Harry Integration - External</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.cassandra</groupId>
+ <artifactId>harry-core</artifactId>
+ <version>${project.parent.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.quicktheories</groupId>
+ <artifactId>quicktheories</artifactId>
+ <version>0.25</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
+
diff --git a/harry-integration/src/harry/model/sut/ExternalClusterSut.java b/harry-integration-external/src/harry/model/sut/external/ExternalClusterSut.java
similarity index 97%
rename from harry-integration/src/harry/model/sut/ExternalClusterSut.java
rename to harry-integration-external/src/harry/model/sut/external/ExternalClusterSut.java
index 061d751..146a162 100644
--- a/harry-integration/src/harry/model/sut/ExternalClusterSut.java
+++ b/harry-integration-external/src/harry/model/sut/external/ExternalClusterSut.java
@@ -16,15 +16,13 @@
* limitations under the License.
*/
-package harry.model.sut;
+package harry.model.sut.external;
import java.util.List;
import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
-import java.util.function.Consumer;
import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
@@ -36,6 +34,7 @@
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.Row;
import com.datastax.driver.core.Session;
+import harry.model.sut.SystemUnderTest;
public class ExternalClusterSut implements SystemUnderTest
{
diff --git a/harry-integration/pom.xml b/harry-integration/pom.xml
index 99bacdb..3bc873a 100755
--- a/harry-integration/pom.xml
+++ b/harry-integration/pom.xml
@@ -30,7 +30,7 @@
</parent>
<artifactId>harry-integration</artifactId>
- <name>Harry Integration</name>
+ <name>Harry Integration - InJVM</name>
<dependencies>
<dependency>
diff --git a/harry-core/test/harry/op/RowVisitorTest.java b/harry-integration/test/harry/op/RowVisitorTest.java
similarity index 96%
rename from harry-core/test/harry/op/RowVisitorTest.java
rename to harry-integration/test/harry/op/RowVisitorTest.java
index c2db8ed..e58c05b 100644
--- a/harry-core/test/harry/op/RowVisitorTest.java
+++ b/harry-integration/test/harry/op/RowVisitorTest.java
@@ -18,7 +18,6 @@
package harry.op;
-import java.util.function.Consumer;
import java.util.function.Supplier;
import org.junit.Assert;
@@ -27,12 +26,8 @@
import harry.ddl.SchemaGenerators;
import harry.ddl.SchemaSpec;
-import harry.generators.Generator;
-import harry.generators.PcgRSUFast;
import harry.generators.RandomGenerator;
-import harry.generators.Surjections;
import harry.generators.distribution.Distribution;
-import harry.model.OpSelectorsTest;
import harry.runner.DefaultRowVisitor;
import harry.model.clock.OffsetClock;
import harry.model.OpSelectors;
diff --git a/pom.xml b/pom.xml
index 0bcf9c5..f582caa 100755
--- a/pom.xml
+++ b/pom.xml
@@ -32,15 +32,16 @@
<modules>
<module>harry-core</module>
<module>harry-integration</module>
+ <module>harry-integration-external</module>
<module>harry-runner</module>
</modules>
<properties>
<javac.target>1.8</javac.target>
<harry.version>0.0.1-SNAPSHOT</harry.version>
- <cassandra.version>4.0.0-SNAPSHOT</cassandra.version>
+ <cassandra.version>4.0.1-SNAPSHOT</cassandra.version>
<jackson.version>2.11.3</jackson.version>
- <dtest.version>0.0.4</dtest.version>
+ <dtest.version>0.0.6</dtest.version>
<jmh.version>1.11.3</jmh.version>
<argLine.common>
-server
@@ -98,8 +99,8 @@
--add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED
-Dcassandra.config=file://${session.executionRootDirectory}/test/conf/cassandra.yaml
- -Dlog4j.configurationFile=file://${session.executionRootDirectory}/test/conf/log4j2-test.xml
- -Dcassandra.test.logConfigPath=${session.executionRootDirectory}/test/conf/log4j2-dtest.xml
+ -Dlog4j.configurationFile=file://${session.executionRootDirectory}/test/conf/logback-dtest.xml
+ -Dcassandra.test.logConfigPath=${session.executionRootDirectory}/test/conf/logback-dtest.xml
-Dcassandra.test.logConfigProperty=log4j.configurationFile
</argLine.common>
</properties>
diff --git a/test/conf/cassandra.yaml b/test/conf/cassandra.yaml
new file mode 100644
index 0000000..b155761
--- /dev/null
+++ b/test/conf/cassandra.yaml
@@ -0,0 +1,53 @@
+#
+# Warning!
+# Consider the effects on 'o.a.c.i.s.LegacySSTableTest' before changing schemas in this file.
+#
+cluster_name: Test Cluster
+# memtable_allocation_type: heap_buffers
+memtable_allocation_type: offheap_objects
+commitlog_sync: batch
+commitlog_sync_batch_window_in_ms: 1.0
+commitlog_segment_size_in_mb: 5
+commitlog_directory: build/test/cassandra/commitlog
+# commitlog_compression:
+# - class_name: LZ4Compressor
+cdc_raw_directory: build/test/cassandra/cdc_raw
+cdc_enabled: false
+hints_directory: build/test/cassandra/hints
+partitioner: org.apache.cassandra.dht.ByteOrderedPartitioner
+listen_address: 127.0.0.1
+storage_port: 7012
+ssl_storage_port: 7011
+start_native_transport: true
+native_transport_port: 9042
+column_index_size_in_kb: 4
+saved_caches_directory: build/test/cassandra/saved_caches
+data_file_directories:
+ - build/test/cassandra/data
+disk_access_mode: mmap
+seed_provider:
+ - class_name: org.apache.cassandra.locator.SimpleSeedProvider
+ parameters:
+ - seeds: "127.0.0.1:7012"
+endpoint_snitch: org.apache.cassandra.locator.SimpleSnitch
+dynamic_snitch: true
+server_encryption_options:
+ internode_encryption: none
+ keystore: conf/.keystore
+ keystore_password: cassandra
+ truststore: conf/.truststore
+ truststore_password: cassandra
+incremental_backups: true
+concurrent_compactors: 4
+compaction_throughput_mb_per_sec: 0
+row_cache_class_name: org.apache.cassandra.cache.OHCProvider
+row_cache_size_in_mb: 16
+enable_user_defined_functions: true
+enable_scripted_user_defined_functions: true
+prepared_statements_cache_size_mb: 1
+corrupted_tombstone_strategy: exception
+stream_entire_sstables: true
+stream_throughput_outbound_megabits_per_sec: 200000000
+enable_sasi_indexes: true
+enable_materialized_views: true
+file_cache_enabled: true
\ No newline at end of file