From de17f48be25a01b9b9a6dc10c399f1431c6d177e Mon Sep 17 00:00:00 2001 From: Stefan Kalscheuer Date: Fri, 11 Jun 2021 21:15:49 +0200 Subject: [PATCH] move builder into main package, introduce new invocation method (#51) The builder is target of major refactoring in the 1.0 development branch so we introduce some delegate classes and methods to prepare migration. --- CHANGELOG.md | 9 + README.md | 8 +- pom.xml | 2 +- .../jvault/connector/HTTPVaultConnector.java | 10 + .../connector/HTTPVaultConnectorBuilder.java | 299 ++++++++++++++++++ .../builder/HTTPVaultConnectorBuilder.java | 276 +--------------- .../builder/VaultConnectorBuilder.java | 3 + .../factory/HTTPVaultConnectorFactory.java | 2 +- .../connector/HTTPVaultConnectorTest.java | 1 - .../HTTPVaultConnectorBuilderTest.java | 10 +- 10 files changed, 337 insertions(+), 283 deletions(-) create mode 100644 src/main/java/de/stklcode/jvault/connector/HTTPVaultConnectorBuilder.java diff --git a/CHANGELOG.md b/CHANGELOG.md index 48d44d2..029cf95 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +## 0.9.5 (unreleased) + +### Deprecations +* Deprecated builder invocation `VaultConnectorBuilder.http()` in favor of `HTTPVaultConnector.builder()`. +* Deprecated `de.stklcode.jvault.connector.builder.HTTPVaultConnectorBuilder` in favor of `de.stklcode.jvault.connector.HTTPVaultConnectorBuilder` (only package changed). + +Old builders will be removed in 1.0 + + ## 0.9.4 (2021-06-06) ### Deprecations diff --git a/README.md b/README.md index edd7a12..dbfb8fe 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ Java Vault Connector is a connector library for [Vault](https://www.vaultproject de.stklcode.jvault jvault-connector - 0.9.4 + 0.9.5-SNAPSHOT ``` @@ -50,21 +50,21 @@ Java Vault Connector is a connector library for [Vault](https://www.vaultproject ```java // Instantiate using builder pattern style factory (TLS enabled by default) -VaultConnector vault = VaultConnectorBuilder.http() +VaultConnector vault = HTTPVaultConnector.builder() .withHost("127.0.0.1") .withPort(8200) .withTLS() .build(); // Instantiate with custom SSL context -VaultConnector vault = VaultConnectorBuilder.http() +VaultConnector vault = HTTPVaultConnector.builder() .withHost("example.com") .withPort(8200) .withTrustedCA(Paths.get("/path/to/CA.pem")) .build(); // Initialization from environment variables -VaultConnector vault = VaultConnectorBuilder.http() +VaultConnector vault = HTTPVaultConnector.builder() .fromEnv() .build(); ``` diff --git a/pom.xml b/pom.xml index f0d8b57..7dc2b6f 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ de.stklcode.jvault jvault-connector - 0.9.4 + 0.9.5-SNAPSHOT jar diff --git a/src/main/java/de/stklcode/jvault/connector/HTTPVaultConnector.java b/src/main/java/de/stklcode/jvault/connector/HTTPVaultConnector.java index c01de36..2674341 100644 --- a/src/main/java/de/stklcode/jvault/connector/HTTPVaultConnector.java +++ b/src/main/java/de/stklcode/jvault/connector/HTTPVaultConnector.java @@ -71,6 +71,16 @@ public class HTTPVaultConnector implements VaultConnector { private String token; // Current token. private long tokenTTL = 0; // Expiration time for current token. + /** + * Get a new builder for a connector. + * + * @return Builder instance. + * @since 0.9.5 + */ + public static HTTPVaultConnectorBuilder builder() { + return new HTTPVaultConnectorBuilder(); + } + /** * Create connector using hostname and schema. * diff --git a/src/main/java/de/stklcode/jvault/connector/HTTPVaultConnectorBuilder.java b/src/main/java/de/stklcode/jvault/connector/HTTPVaultConnectorBuilder.java new file mode 100644 index 0000000..439a03a --- /dev/null +++ b/src/main/java/de/stklcode/jvault/connector/HTTPVaultConnectorBuilder.java @@ -0,0 +1,299 @@ +/* + * Copyright 2016-2021 Stefan Kalscheuer + * + * Licensed 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. + */ + +package de.stklcode.jvault.connector; + +import de.stklcode.jvault.connector.builder.VaultConnectorBuilder; +import de.stklcode.jvault.connector.exception.ConnectionException; +import de.stklcode.jvault.connector.exception.TlsException; +import de.stklcode.jvault.connector.exception.VaultConnectorException; + +import java.io.IOException; +import java.io.InputStream; +import java.net.MalformedURLException; +import java.net.URL; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.security.cert.CertificateException; +import java.security.cert.CertificateFactory; +import java.security.cert.X509Certificate; + +/** + * Vault Connector Builder implementation for HTTP Vault connectors. + * + * @author Stefan Kalscheuer + * @since 0.8.0 + * @since 0.9.5 Package {@link de.stklcode.jvault.connector} + */ +public class HTTPVaultConnectorBuilder implements VaultConnectorBuilder { + private static final String ENV_VAULT_ADDR = "VAULT_ADDR"; + private static final String ENV_VAULT_CACERT = "VAULT_CACERT"; + private static final String ENV_VAULT_TOKEN = "VAULT_TOKEN"; + private static final String ENV_VAULT_MAX_RETRIES = "VAULT_MAX_RETRIES"; + + public static final String DEFAULT_HOST = "127.0.0.1"; + public static final Integer DEFAULT_PORT = 8200; + public static final boolean DEFAULT_TLS = true; + public static final String DEFAULT_TLS_VERSION = "TLSv1.2"; + public static final String DEFAULT_PREFIX = "/v1/"; + public static final int DEFAULT_NUMBER_OF_RETRIES = 0; + + private String host; + private Integer port; + private boolean tls; + private String tlsVersion; + private String prefix; + private X509Certificate trustedCA; + private int numberOfRetries; + private Integer timeout; + private String token; + + /** + * Default empty constructor. + * Initializes factory with default values. + */ + public HTTPVaultConnectorBuilder() { + host = DEFAULT_HOST; + port = DEFAULT_PORT; + tls = DEFAULT_TLS; + tlsVersion = DEFAULT_TLS_VERSION; + prefix = DEFAULT_PREFIX; + numberOfRetries = DEFAULT_NUMBER_OF_RETRIES; + } + + /** + * Set hostname (default: 127.0.0.1). + * + * @param host Hostname or IP address + * @return self + */ + public HTTPVaultConnectorBuilder withHost(final String host) { + this.host = host; + return this; + } + + /** + * Set port (default: 8200). + * + * @param port Vault TCP port + * @return self + */ + public HTTPVaultConnectorBuilder withPort(final Integer port) { + this.port = port; + return this; + } + + /** + * Set TLS usage (default: TRUE). + * + * @param useTLS use TLS or not + * @return self + */ + public HTTPVaultConnectorBuilder withTLS(final boolean useTLS) { + this.tls = useTLS; + return this; + } + + /** + * Set TLS usage (default: TRUE). + * + * @param useTLS Use TLS or not. + * @param version Supported TLS version ({@code TLSv1.2}, {@code TLSv1.1}, {@code TLSv1.0}, {@code TLS}). + * @return self + * @since 0.8 Added version parameter (#22). + */ + public HTTPVaultConnectorBuilder withTLS(final boolean useTLS, final String version) { + this.tls = useTLS; + this.tlsVersion = version; + return this; + } + + /** + * Convenience Method for TLS usage (enabled by default). + * + * @param version Supported TLS version ({@code TLSv1.2}, {@code TLSv1.1}, {@code TLSv1.0}, {@code TLS}). + * @return self + * @since 0.8 Added version parameter (#22). + */ + public HTTPVaultConnectorBuilder withTLS(final String version) { + return withTLS(true, version); + } + + /** + * Convenience Method for TLS usage (enabled by default). + * + * @return self + */ + public HTTPVaultConnectorBuilder withTLS() { + return withTLS(true); + } + + /** + * Convenience Method for NOT using TLS. + * + * @return self + */ + public HTTPVaultConnectorBuilder withoutTLS() { + return withTLS(false); + } + + /** + * Set API prefix. Default is "/v1/" and changes should not be necessary for current state of development. + * + * @param prefix Vault API prefix (default: "/v1/" + * @return self + */ + public HTTPVaultConnectorBuilder withPrefix(final String prefix) { + this.prefix = prefix; + return this; + } + + /** + * Add a trusted CA certificate for HTTPS connections. + * + * @param cert path to certificate file + * @return self + * @throws VaultConnectorException on error + * @since 0.4.0 + */ + public HTTPVaultConnectorBuilder withTrustedCA(final Path cert) throws VaultConnectorException { + if (cert != null) { + return withTrustedCA(certificateFromFile(cert)); + } else { + this.trustedCA = null; + } + return this; + } + + /** + * Add a trusted CA certificate for HTTPS connections. + * + * @param cert path to certificate file + * @return self + * @since 0.8.0 + */ + public HTTPVaultConnectorBuilder withTrustedCA(final X509Certificate cert) { + this.trustedCA = cert; + return this; + } + + /** + * Set token for automatic authentication, using {@link #buildAndAuth()}. + * + * @param token Vault token + * @return self + * @since 0.6.0 + */ + public HTTPVaultConnectorBuilder withToken(final String token) { + this.token = token; + return this; + } + + /** + * Build connector based on the {@code }VAULT_ADDR} and {@code VAULT_CACERT} (optional) environment variables. + * + * @return self + * @throws VaultConnectorException if Vault address from environment variables is malformed + * @since 0.6.0 + */ + public HTTPVaultConnectorBuilder fromEnv() throws VaultConnectorException { + /* Parse URL from environment variable */ + if (System.getenv(ENV_VAULT_ADDR) != null && !System.getenv(ENV_VAULT_ADDR).trim().isEmpty()) { + try { + URL url = new URL(System.getenv(ENV_VAULT_ADDR)); + this.host = url.getHost(); + this.port = url.getPort(); + this.tls = url.getProtocol().equals("https"); + } catch (MalformedURLException e) { + throw new ConnectionException("URL provided in environment variable malformed", e); + } + } + + /* Read number of retries */ + if (System.getenv(ENV_VAULT_MAX_RETRIES) != null) { + try { + numberOfRetries = Integer.parseInt(System.getenv(ENV_VAULT_MAX_RETRIES)); + } catch (NumberFormatException ignored) { + /* Ignore malformed values. */ + } + } + + /* Read token */ + token = System.getenv(ENV_VAULT_TOKEN); + + /* Parse certificate, if set */ + if (System.getenv(ENV_VAULT_CACERT) != null && !System.getenv(ENV_VAULT_CACERT).trim().isEmpty()) { + return withTrustedCA(Paths.get(System.getenv(ENV_VAULT_CACERT))); + } + return this; + } + + /** + * Define the number of retries to attempt on 5xx errors. + * + * @param numberOfRetries The number of retries to attempt on 5xx errors (default: 0) + * @return self + * @since 0.6.0 + */ + public HTTPVaultConnectorBuilder withNumberOfRetries(final int numberOfRetries) { + this.numberOfRetries = numberOfRetries; + return this; + } + + /** + * Define a custom timeout for the HTTP connection. + * + * @param milliseconds Timeout value in milliseconds. + * @return self + * @since 0.6.0 + */ + public HTTPVaultConnectorBuilder withTimeout(final int milliseconds) { + this.timeout = milliseconds; + return this; + } + + @Override + public HTTPVaultConnector build() { + return new HTTPVaultConnector(host, tls, tlsVersion, port, prefix, trustedCA, numberOfRetries, timeout); + } + + @Override + public HTTPVaultConnector buildAndAuth() throws VaultConnectorException { + if (token == null) { + throw new ConnectionException("No vault token provided, unable to authenticate."); + } + HTTPVaultConnector con = build(); + con.authToken(token); + return con; + } + + /** + * Read given certificate file to X.509 certificate. + * + * @param certFile Path to certificate file + * @return X.509 Certificate object + * @throws TlsException on error + * @since 0.4.0 + */ + private X509Certificate certificateFromFile(final Path certFile) throws TlsException { + try (InputStream is = Files.newInputStream(certFile)) { + return (X509Certificate) CertificateFactory.getInstance("X.509").generateCertificate(is); + } catch (IOException | CertificateException e) { + throw new TlsException("Unable to read certificate.", e); + } + } +} diff --git a/src/main/java/de/stklcode/jvault/connector/builder/HTTPVaultConnectorBuilder.java b/src/main/java/de/stklcode/jvault/connector/builder/HTTPVaultConnectorBuilder.java index bec6243..e7e7d1e 100644 --- a/src/main/java/de/stklcode/jvault/connector/builder/HTTPVaultConnectorBuilder.java +++ b/src/main/java/de/stklcode/jvault/connector/builder/HTTPVaultConnectorBuilder.java @@ -16,283 +16,17 @@ package de.stklcode.jvault.connector.builder; -import de.stklcode.jvault.connector.HTTPVaultConnector; -import de.stklcode.jvault.connector.exception.ConnectionException; -import de.stklcode.jvault.connector.exception.TlsException; -import de.stklcode.jvault.connector.exception.VaultConnectorException; - -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.security.cert.CertificateException; -import java.security.cert.CertificateFactory; -import java.security.cert.X509Certificate; - /** * Vault Connector Builder implementation for HTTP Vault connectors. * * @author Stefan Kalscheuer * @since 0.8.0 + * @since 0.9.5 Extends new class for migration purposes only. + * @deprecated Use {@link de.stklcode.jvault.connector.HTTPVaultConnectorBuilder} instead. Will be removed in 1.0 */ -public final class HTTPVaultConnectorBuilder implements VaultConnectorBuilder { - private static final String ENV_VAULT_ADDR = "VAULT_ADDR"; - private static final String ENV_VAULT_CACERT = "VAULT_CACERT"; - private static final String ENV_VAULT_TOKEN = "VAULT_TOKEN"; - private static final String ENV_VAULT_MAX_RETRIES = "VAULT_MAX_RETRIES"; - - public static final String DEFAULT_HOST = "127.0.0.1"; - public static final Integer DEFAULT_PORT = 8200; - public static final boolean DEFAULT_TLS = true; - public static final String DEFAULT_TLS_VERSION = "TLSv1.2"; - public static final String DEFAULT_PREFIX = "/v1/"; - public static final int DEFAULT_NUMBER_OF_RETRIES = 0; - - private String host; - private Integer port; - private boolean tls; - private String tlsVersion; - private String prefix; - private X509Certificate trustedCA; - private int numberOfRetries; - private Integer timeout; - private String token; - - /** - * Default empty constructor. - * Initializes factory with default values. - */ +@Deprecated +public class HTTPVaultConnectorBuilder extends de.stklcode.jvault.connector.HTTPVaultConnectorBuilder { public HTTPVaultConnectorBuilder() { - host = DEFAULT_HOST; - port = DEFAULT_PORT; - tls = DEFAULT_TLS; - tlsVersion = DEFAULT_TLS_VERSION; - prefix = DEFAULT_PREFIX; - numberOfRetries = DEFAULT_NUMBER_OF_RETRIES; - } - - /** - * Set hostname (default: 127.0.0.1). - * - * @param host Hostname or IP address - * @return self - */ - public HTTPVaultConnectorBuilder withHost(final String host) { - this.host = host; - return this; - } - - /** - * Set port (default: 8200). - * - * @param port Vault TCP port - * @return self - */ - public HTTPVaultConnectorBuilder withPort(final Integer port) { - this.port = port; - return this; - } - - /** - * Set TLS usage (default: TRUE). - * - * @param useTLS use TLS or not - * @return self - */ - public HTTPVaultConnectorBuilder withTLS(final boolean useTLS) { - this.tls = useTLS; - return this; - } - - /** - * Set TLS usage (default: TRUE). - * - * @param useTLS Use TLS or not. - * @param version Supported TLS version ({@code TLSv1.2}, {@code TLSv1.1}, {@code TLSv1.0}, {@code TLS}). - * @return self - * @since 0.8 Added version parameter (#22). - */ - public HTTPVaultConnectorBuilder withTLS(final boolean useTLS, final String version) { - this.tls = useTLS; - this.tlsVersion = version; - return this; - } - - /** - * Convenience Method for TLS usage (enabled by default). - * - * @param version Supported TLS version ({@code TLSv1.2}, {@code TLSv1.1}, {@code TLSv1.0}, {@code TLS}). - * @return self - * @since 0.8 Added version parameter (#22). - */ - public HTTPVaultConnectorBuilder withTLS(final String version) { - return withTLS(true, version); - } - - /** - * Convenience Method for TLS usage (enabled by default). - * - * @return self - */ - public HTTPVaultConnectorBuilder withTLS() { - return withTLS(true); - } - - /** - * Convenience Method for NOT using TLS. - * - * @return self - */ - public HTTPVaultConnectorBuilder withoutTLS() { - return withTLS(false); - } - - /** - * Set API prefix. Default is "/v1/" and changes should not be necessary for current state of development. - * - * @param prefix Vault API prefix (default: "/v1/" - * @return self - */ - public HTTPVaultConnectorBuilder withPrefix(final String prefix) { - this.prefix = prefix; - return this; - } - - /** - * Add a trusted CA certificate for HTTPS connections. - * - * @param cert path to certificate file - * @return self - * @throws VaultConnectorException on error - * @since 0.4.0 - */ - public HTTPVaultConnectorBuilder withTrustedCA(final Path cert) throws VaultConnectorException { - if (cert != null) { - return withTrustedCA(certificateFromFile(cert)); - } else { - this.trustedCA = null; - } - return this; - } - - /** - * Add a trusted CA certificate for HTTPS connections. - * - * @param cert path to certificate file - * @return self - * @since 0.8.0 - */ - public HTTPVaultConnectorBuilder withTrustedCA(final X509Certificate cert) { - this.trustedCA = cert; - return this; - } - - /** - * Set token for automatic authentication, using {@link #buildAndAuth()}. - * - * @param token Vault token - * @return self - * @since 0.6.0 - */ - public HTTPVaultConnectorBuilder withToken(final String token) { - this.token = token; - return this; - } - - /** - * Build connector based on the {@code }VAULT_ADDR} and {@code VAULT_CACERT} (optional) environment variables. - * - * @return self - * @throws VaultConnectorException if Vault address from environment variables is malformed - * @since 0.6.0 - */ - public HTTPVaultConnectorBuilder fromEnv() throws VaultConnectorException { - /* Parse URL from environment variable */ - if (System.getenv(ENV_VAULT_ADDR) != null && !System.getenv(ENV_VAULT_ADDR).trim().isEmpty()) { - try { - URL url = new URL(System.getenv(ENV_VAULT_ADDR)); - this.host = url.getHost(); - this.port = url.getPort(); - this.tls = url.getProtocol().equals("https"); - } catch (MalformedURLException e) { - throw new ConnectionException("URL provided in environment variable malformed", e); - } - } - - /* Read number of retries */ - if (System.getenv(ENV_VAULT_MAX_RETRIES) != null) { - try { - numberOfRetries = Integer.parseInt(System.getenv(ENV_VAULT_MAX_RETRIES)); - } catch (NumberFormatException ignored) { - /* Ignore malformed values. */ - } - } - - /* Read token */ - token = System.getenv(ENV_VAULT_TOKEN); - - /* Parse certificate, if set */ - if (System.getenv(ENV_VAULT_CACERT) != null && !System.getenv(ENV_VAULT_CACERT).trim().isEmpty()) { - return withTrustedCA(Paths.get(System.getenv(ENV_VAULT_CACERT))); - } - return this; - } - - /** - * Define the number of retries to attempt on 5xx errors. - * - * @param numberOfRetries The number of retries to attempt on 5xx errors (default: 0) - * @return self - * @since 0.6.0 - */ - public HTTPVaultConnectorBuilder withNumberOfRetries(final int numberOfRetries) { - this.numberOfRetries = numberOfRetries; - return this; - } - - /** - * Define a custom timeout for the HTTP connection. - * - * @param milliseconds Timeout value in milliseconds. - * @return self - * @since 0.6.0 - */ - public HTTPVaultConnectorBuilder withTimeout(final int milliseconds) { - this.timeout = milliseconds; - return this; - } - - @Override - public HTTPVaultConnector build() { - return new HTTPVaultConnector(host, tls, tlsVersion, port, prefix, trustedCA, numberOfRetries, timeout); - } - - @Override - public HTTPVaultConnector buildAndAuth() throws VaultConnectorException { - if (token == null) { - throw new ConnectionException("No vault token provided, unable to authenticate."); - } - HTTPVaultConnector con = build(); - con.authToken(token); - return con; - } - - /** - * Read given certificate file to X.509 certificate. - * - * @param certFile Path to certificate file - * @return X.509 Certificate object - * @throws TlsException on error - * @since 0.4.0 - */ - private X509Certificate certificateFromFile(final Path certFile) throws TlsException { - try (InputStream is = Files.newInputStream(certFile)) { - return (X509Certificate) CertificateFactory.getInstance("X.509").generateCertificate(is); - } catch (IOException | CertificateException e) { - throw new TlsException("Unable to read certificate.", e); - } + super(); } } diff --git a/src/main/java/de/stklcode/jvault/connector/builder/VaultConnectorBuilder.java b/src/main/java/de/stklcode/jvault/connector/builder/VaultConnectorBuilder.java index 3ad809b..e023732 100644 --- a/src/main/java/de/stklcode/jvault/connector/builder/VaultConnectorBuilder.java +++ b/src/main/java/de/stklcode/jvault/connector/builder/VaultConnectorBuilder.java @@ -16,6 +16,7 @@ package de.stklcode.jvault.connector.builder; +import de.stklcode.jvault.connector.HTTPVaultConnector; import de.stklcode.jvault.connector.VaultConnector; import de.stklcode.jvault.connector.exception.VaultConnectorException; @@ -31,7 +32,9 @@ public interface VaultConnectorBuilder { * Get Factory implementation for HTTP Vault Connector. * * @return HTTP Connector Factory + * @deprecated Use {@link HTTPVaultConnector#builder()} instead. This interface will be removed in 1.0 */ + @Deprecated static HTTPVaultConnectorBuilder http() { return new HTTPVaultConnectorBuilder(); } diff --git a/src/main/java/de/stklcode/jvault/connector/factory/HTTPVaultConnectorFactory.java b/src/main/java/de/stklcode/jvault/connector/factory/HTTPVaultConnectorFactory.java index 0d22143..33640a6 100644 --- a/src/main/java/de/stklcode/jvault/connector/factory/HTTPVaultConnectorFactory.java +++ b/src/main/java/de/stklcode/jvault/connector/factory/HTTPVaultConnectorFactory.java @@ -17,7 +17,7 @@ package de.stklcode.jvault.connector.factory; import de.stklcode.jvault.connector.HTTPVaultConnector; -import de.stklcode.jvault.connector.builder.HTTPVaultConnectorBuilder; +import de.stklcode.jvault.connector.HTTPVaultConnectorBuilder; import de.stklcode.jvault.connector.exception.VaultConnectorException; import javax.net.ssl.SSLContext; diff --git a/src/test/java/de/stklcode/jvault/connector/HTTPVaultConnectorTest.java b/src/test/java/de/stklcode/jvault/connector/HTTPVaultConnectorTest.java index aa6e9fe..4c24d13 100644 --- a/src/test/java/de/stklcode/jvault/connector/HTTPVaultConnectorTest.java +++ b/src/test/java/de/stklcode/jvault/connector/HTTPVaultConnectorTest.java @@ -16,7 +16,6 @@ package de.stklcode.jvault.connector; -import de.stklcode.jvault.connector.builder.HTTPVaultConnectorBuilder; import de.stklcode.jvault.connector.builder.VaultConnectorBuilder; import de.stklcode.jvault.connector.exception.*; import de.stklcode.jvault.connector.model.AppRole; diff --git a/src/test/java/de/stklcode/jvault/connector/builder/HTTPVaultConnectorBuilderTest.java b/src/test/java/de/stklcode/jvault/connector/builder/HTTPVaultConnectorBuilderTest.java index 9832496..6ca2b55 100644 --- a/src/test/java/de/stklcode/jvault/connector/builder/HTTPVaultConnectorBuilderTest.java +++ b/src/test/java/de/stklcode/jvault/connector/builder/HTTPVaultConnectorBuilderTest.java @@ -18,6 +18,7 @@ package de.stklcode.jvault.connector.builder; import com.github.stefanbirkner.systemlambda.SystemLambda; import de.stklcode.jvault.connector.HTTPVaultConnector; +import de.stklcode.jvault.connector.HTTPVaultConnectorBuilder; import de.stklcode.jvault.connector.exception.TlsException; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; @@ -25,7 +26,6 @@ import org.junit.jupiter.api.io.TempDir; import java.io.File; import java.lang.reflect.Field; import java.nio.file.NoSuchFileException; -import java.util.concurrent.Callable; import static com.github.stefanbirkner.systemlambda.SystemLambda.withEnvironmentVariable; import static org.hamcrest.CoreMatchers.*; @@ -55,7 +55,7 @@ class HTTPVaultConnectorBuilderTest { /* Provide address only should be enough */ withVaultEnv(VAULT_ADDR, null, null, null).execute(() -> { HTTPVaultConnectorBuilder builder = assertDoesNotThrow( - () -> VaultConnectorBuilder.http().fromEnv(), + () -> HTTPVaultConnector.builder().fromEnv(), "Factory creation from minimal environment failed" ); HTTPVaultConnector connector = builder.build(); @@ -70,7 +70,7 @@ class HTTPVaultConnectorBuilderTest { /* Provide address and number of retries */ withVaultEnv(VAULT_ADDR, null, VAULT_MAX_RETRIES.toString(), null).execute(() -> { HTTPVaultConnectorBuilder builder = assertDoesNotThrow( - () -> VaultConnectorBuilder.http().fromEnv(), + () -> HTTPVaultConnector.builder().fromEnv(), "Factory creation from environment failed" ); HTTPVaultConnector connector = builder.build(); @@ -87,7 +87,7 @@ class HTTPVaultConnectorBuilderTest { withVaultEnv(VAULT_ADDR, VAULT_CACERT, VAULT_MAX_RETRIES.toString(), null).execute(() -> { TlsException e = assertThrows( TlsException.class, - () -> VaultConnectorBuilder.http().fromEnv(), + () -> HTTPVaultConnector.builder().fromEnv(), "Creation with unknown cert path failed." ); assertThat(e.getCause(), is(instanceOf(NoSuchFileException.class))); @@ -99,7 +99,7 @@ class HTTPVaultConnectorBuilderTest { /* Automatic authentication */ withVaultEnv(VAULT_ADDR, null, VAULT_MAX_RETRIES.toString(), VAULT_TOKEN).execute(() -> { HTTPVaultConnectorBuilder builder = assertDoesNotThrow( - () -> VaultConnectorBuilder.http().fromEnv(), + () -> HTTPVaultConnector.builder().fromEnv(), "Factory creation from minimal environment failed" ); assertThat("Token nor set correctly", getPrivate(builder, "token"), is(equalTo(VAULT_TOKEN)));