Skip to content

Commit 9b92e1e

Browse files
authored
Implement useSSL connection config option (#11)
* Implement useSSL connection config option * Update README to reflect useSsl option. * Set version to 1.0.7 * Update CHANGELOG
1 parent 50838b6 commit 9b92e1e

File tree

6 files changed

+32
-1
lines changed

6 files changed

+32
-1
lines changed

CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7+
## [1.0.7] - 2020-03-10
8+
### Changed
9+
- Added support for SSL
10+
711
## [1.0.6] - 2020-02-09
812
### Changed
913
- Switched development cluster to Kubernetes

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ In most situations, the record values that you will want to sink into ArangoDB i
8585
| `arangodb.port` | ArangoDB server host port number. | int | | high |
8686
| `arangodb.user` | ArangoDB connection username. | string | | high |
8787
| `arangodb.password` | ArangoDB connection password. | password | "" | high |
88+
| `arangodb.useSsl` | ArangoDB use SSL connection. | boolean | false | high |
8889
| `arangodb.database.name` | ArangoDB database name. | string | | high |
8990

9091
### Single Message Transformations

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<groupId>io.github.jaredpetersen</groupId>
77
<artifactId>kafka-connect-arangodb</artifactId>
8-
<version>1.0.6</version>
8+
<version>1.0.7</version>
99
<packaging>jar</packaging>
1010

1111
<name>kafka-connect-arangodb</name>

src/main/java/io/github/jaredpetersen/kafkaconnectarangodb/sink/ArangoDbSinkTask.java

+1
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ public final void start(final Map<String, String> props) {
4646
.host(config.arangoDbHost, config.arangoDbPort)
4747
.user(config.arangoDbUser)
4848
.password(config.arangoDbPassword.value())
49+
.useSsl(config.arangoDbUseSsl)
4950
.build();
5051
final ArangoDatabase database = arangodb.db(config.arangoDbDatabaseName);
5152

src/main/java/io/github/jaredpetersen/kafkaconnectarangodb/sink/config/ArangoDbSinkConfig.java

+7
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@ public class ArangoDbSinkConfig extends AbstractConfig {
2929
private static final String ARANGODB_PASSWORD_DOC = "ArangoDb connection password.";
3030
public final Password arangoDbPassword;
3131

32+
private static final String ARANGODB_USE_SSL = "arangodb.useSsl";
33+
private static final boolean ARANGODB_USE_SSL_DEFAULT = false;
34+
private static final String ARANGODB_USE_SSL_DOC = "ArangoDb use SSL connection.";
35+
public final boolean arangoDbUseSsl;
36+
3237
private static final String ARANGODB_DATABASE_NAME = "arangodb.database.name";
3338
private static final String ARANGODB_DATABASE_NAME_DOC = "ArangoDb database name.";
3439
public final String arangoDbDatabaseName;
@@ -38,6 +43,7 @@ public class ArangoDbSinkConfig extends AbstractConfig {
3843
.define(ARANGODB_PORT, Type.INT, Importance.HIGH, ARANGODB_PORT_DOC)
3944
.define(ARANGODB_USER, Type.STRING, Importance.HIGH, ARANGODB_USER_DOC)
4045
.define(ARANGODB_PASSWORD, Type.PASSWORD, ARANGODB_PASSWORD_DEFAULT, Importance.HIGH, ARANGODB_PASSWORD_DOC)
46+
.define(ARANGODB_USE_SSL, Type.BOOLEAN, ARANGODB_USE_SSL_DEFAULT, Importance.HIGH, ARANGODB_USE_SSL_DOC)
4147
.define(ARANGODB_DATABASE_NAME, Type.STRING, Importance.HIGH, ARANGODB_DATABASE_NAME_DOC);
4248

4349
/**
@@ -53,6 +59,7 @@ public ArangoDbSinkConfig(final Map<?, ?> originals) {
5359
this.arangoDbPort = getInt(ARANGODB_PORT);
5460
this.arangoDbUser = getString(ARANGODB_USER);
5561
this.arangoDbPassword = getPassword(ARANGODB_PASSWORD);
62+
this.arangoDbUseSsl = getBoolean(ARANGODB_USE_SSL);
5663
this.arangoDbDatabaseName = getString(ARANGODB_DATABASE_NAME);
5764
}
5865
}

src/test/unit/java/io/github/jaredpetersen/kafkaconnectarangodb/sink/config/ArangoDbSinkConfigTest.java

+18
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ private Map<String, Object> buildConfigMap() {
1515
originalsStub.put("arangodb.port", "8529");
1616
originalsStub.put("arangodb.user", "root");
1717
originalsStub.put("arangodb.password", "password");
18+
originalsStub.put("arangodb.useSsl", true);
1819
originalsStub.put("arangodb.database.name", "kafka-connect-arangodb");
1920

2021
return originalsStub;
@@ -98,6 +99,23 @@ public void configGetArangoDbPasswordReturnsArangoDbPassword() {
9899
assertEquals(originalsStub.get("arangodb.password"), config.arangoDbPassword.value());
99100
}
100101

102+
@Test
103+
public void configGetUseSslReturnsUseSsl() {
104+
final Map<String, Object> originalsStub = buildConfigMap();
105+
final ArangoDbSinkConfig config = new ArangoDbSinkConfig(originalsStub);
106+
107+
assertEquals(originalsStub.get("arangodb.useSsl"), config.arangoDbUseSsl);
108+
}
109+
110+
@Test
111+
public void configGetUseSslReturnsDefaultValue() {
112+
final Map<String, Object> originalsStub = buildConfigMap();
113+
originalsStub.remove("arangodb.useSsl");
114+
final ArangoDbSinkConfig config = new ArangoDbSinkConfig(originalsStub);
115+
116+
assertEquals(false, config.arangoDbUseSsl);
117+
}
118+
101119
@Test
102120
public void configGetArangoDbDatabaseNameReturnsArangoDbDatabaseName() {
103121
final Map<String, Object> originalsStub = buildConfigMap();

0 commit comments

Comments
 (0)