1717import software .amazon .awssdk .services .dynamodb .model .KeyType ;
1818import software .amazon .awssdk .services .dynamodb .model .ScalarAttributeType ;
1919
20+ import javax .net .ssl .KeyManagerFactory ;
21+ import javax .net .ssl .SSLContext ;
22+ import javax .net .ssl .TrustManagerFactory ;
2023import java .io .IOException ;
2124import java .net .URI ;
2225import java .nio .file .Files ;
2831import java .security .UnrecoverableKeyException ;
2932import java .security .cert .CertificateException ;
3033
31- import javax .net .ssl .KeyManagerFactory ;
32- import javax .net .ssl .SSLContext ;
33- import javax .net .ssl .TrustManagerFactory ;
34-
3534import static org .assertj .core .api .Assertions .assertThat ;
3635import static org .assertj .core .api .Assertions .assertThatThrownBy ;
3736
@@ -44,8 +43,8 @@ public class ScyllaDBContainerTest {
4443 @ Test
4544 public void testSimple () {
4645 try ( // container {
47- ScyllaDBContainer scylladb = new ScyllaDBContainer (SCYLLADB_IMAGE )
48- // }
46+ ScyllaDBContainer scylladb = new ScyllaDBContainer (SCYLLADB_IMAGE )
47+ // }
4948 ) {
5049 scylladb .start ();
5150 // session {
@@ -64,22 +63,28 @@ public void testSimple() {
6463
6564 @ Test
6665 public void testSimpleSsl ()
67- throws InterruptedException , NoSuchAlgorithmException , KeyStoreException , IOException , CertificateException , UnrecoverableKeyException , KeyManagementException {
66+ throws NoSuchAlgorithmException , KeyStoreException , IOException , CertificateException , UnrecoverableKeyException , KeyManagementException {
6867 try (
69- // custom_configuration {
68+ // customConfiguration {
7069 ScyllaDBContainer scylladb = new ScyllaDBContainer (SCYLLADB_IMAGE )
7170 .withConfigurationOverride ("scylla-test-ssl" )
7271 // }
7372 ) {
7473 // sslContext {
75- String testResourcesDir = getClass ().getClassLoader ().getResource ("scylla-test-ssl/" ).getPath ();
74+ ScyllaDBContainer sslScylladb = scylladb .withSsl (
75+ MountableFile .forClasspathResource ("scylla-test-ssl/keys/scylla.cer.pem" ),
76+ MountableFile .forClasspathResource ("scylla-test-ssl/keys/scylla.key.pem" ),
77+ MountableFile .forClasspathResource ("scylla-test-ssl/keys/scylla.truststore" )
78+ );
79+
80+ String testResourcesDir = getClass ().getClassLoader ().getResource ("scylla-test-ssl/keys/" ).getPath ();
7681
7782 KeyStore keyStore = KeyStore .getInstance ("PKCS12" );
78- keyStore .load (Files .newInputStream (Paths .get (testResourcesDir + "keystore.node0 " )), "scylla" .toCharArray ());
83+ keyStore .load (Files .newInputStream (Paths .get (testResourcesDir + "scylla.keystore " )), "scylla" .toCharArray ());
7984
8085 KeyStore trustStore = KeyStore .getInstance ("PKCS12" );
8186 trustStore .load (
82- Files .newInputStream (Paths .get (testResourcesDir + "truststore.node0 " )),
87+ Files .newInputStream (Paths .get (testResourcesDir + "scylla.truststore " )),
8388 "scylla" .toCharArray ()
8489 );
8590
@@ -97,11 +102,11 @@ public void testSimpleSsl()
97102 sslContext .init (keyManagerFactory .getKeyManagers (), trustManagerFactory .getTrustManagers (), null );
98103 // }
99104
100- scylladb .start ();
105+ sslScylladb .start ();
101106
102107 CqlSession session = CqlSession
103108 .builder ()
104- .addContactPoint (scylladb .getContactPoint ())
109+ .addContactPoint (sslScylladb .getContactPoint ())
105110 .withLocalDatacenter ("datacenter1" )
106111 .withSslContext (sslContext )
107112 .build ();
@@ -113,15 +118,20 @@ public void testSimpleSsl()
113118 }
114119
115120 @ Test
116- public void testSimpleSslCqlsh () throws InterruptedException , IOException {
121+ public void testSimpleSslCqlsh () throws IllegalStateException , InterruptedException , IOException {
122+ // sslConfiguration {
123+ // }
117124 try (
118125 ScyllaDBContainer scylladb = new ScyllaDBContainer (SCYLLADB_IMAGE )
119126 .withConfigurationOverride ("scylla-test-ssl" )
120- ) {
127+ .withSsl (
128+ MountableFile .forClasspathResource ("scylla-test-ssl/keys/scylla.cer.pem" ),
129+ MountableFile .forClasspathResource ("scylla-test-ssl/keys/scylla.key.pem" ),
130+ MountableFile .forClasspathResource ("scylla-test-ssl/keys/scylla.truststore" )
131+ )) {
121132 scylladb .start ();
122133
123134 // sslCqlsh {
124- scylladb .execInContainer ("mv" , "-f" , "/etc/scylla/cqlshrc" , "/root/.cassandra/cqlshrc" );
125135 Container .ExecResult execResult = scylladb .execInContainer ("cqlsh" , "--ssl" , "-e" , "select * from system_schema.keyspaces;" );
126136 assertThat (execResult .getStdout ()).contains ("keyspace_name" );
127137 // }
@@ -148,8 +158,8 @@ public void testShardAwareness() {
148158 @ Test
149159 public void testAlternator () {
150160 try ( // alternator {
151- ScyllaDBContainer scylladb = new ScyllaDBContainer (SCYLLADB_IMAGE ).withAlternator ()
152- // }
161+ ScyllaDBContainer scylladb = new ScyllaDBContainer (SCYLLADB_IMAGE ).withAlternator ()
162+ // }
153163 ) {
154164 scylladb .start ();
155165
@@ -185,4 +195,5 @@ public void throwExceptionWhenAlternatorDisabled() {
185195 .hasMessageContaining ("Alternator is not enabled" );
186196 }
187197 }
198+
188199}
0 commit comments