From ce2de2df81951fdd43543d45fcfb79b4b337ed61 Mon Sep 17 00:00:00 2001 From: Stefan Kalscheuer Date: Mon, 9 Jan 2017 12:42:12 +0100 Subject: [PATCH] TokenBuilder with policies as vararg --- .../jvault/connector/model/TokenBuilder.java | 18 ++++++++++++++---- .../connector/model/TokenBuilderTest.java | 11 ++++++----- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/src/main/java/de/stklcode/jvault/connector/model/TokenBuilder.java b/src/main/java/de/stklcode/jvault/connector/model/TokenBuilder.java index 1d5eea0..dabce23 100644 --- a/src/main/java/de/stklcode/jvault/connector/model/TokenBuilder.java +++ b/src/main/java/de/stklcode/jvault/connector/model/TokenBuilder.java @@ -18,10 +18,7 @@ package de.stklcode.jvault.connector.model; import com.fasterxml.jackson.annotation.JsonProperty; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * A builder for vault tokens. @@ -144,6 +141,19 @@ public class TokenBuilder { return withNoDefaultPolicy(true); } + /** + * Add given policies + * + * @param policies the policies + * @return self + * @since 0.5.0 + */ + public TokenBuilder withPolicies(final String... policies) { + if (this.policies == null) + return withPolicies(Arrays.asList(policies)); + return this; + } + /** * Add given policies * diff --git a/src/test/java/de/stklcode/jvault/connector/model/TokenBuilderTest.java b/src/test/java/de/stklcode/jvault/connector/model/TokenBuilderTest.java index a6eb714..cf71e9c 100644 --- a/src/test/java/de/stklcode/jvault/connector/model/TokenBuilderTest.java +++ b/src/test/java/de/stklcode/jvault/connector/model/TokenBuilderTest.java @@ -45,7 +45,8 @@ public class TokenBuilderTest { private static final Integer NUM_USES = 4; private static final List POLICIES = new ArrayList<>(); private static final String POLICY = "policy"; - private static final String POLICY_2 = "policy"; + private static final String POLICY_2 = "policy2"; + private static final String POLICY_3 = "policy3"; private static final Map META = new HashMap<>(); private static final String META_KEY = "key"; private static final String META_VALUE = "value"; @@ -138,11 +139,11 @@ public class TokenBuilderTest { assertThat(token.getPolicies(), hasSize(1)); assertThat(token.getPolicies(), contains(POLICY_2)); token = new TokenBuilder() - .withPolicies(POLICIES) - .withPolicy(POLICY_2) + .withPolicies(POLICY, POLICY_2) + .withPolicy(POLICY_3) .build(); - assertThat(token.getPolicies(), hasSize(2)); - assertThat(token.getPolicies(), contains(POLICY, POLICY_2)); + assertThat(token.getPolicies(), hasSize(3)); + assertThat(token.getPolicies(), contains(POLICY, POLICY_2, POLICY_3)); /* Add single metadata */ token = new TokenBuilder().withMeta(META_KEY_2, META_VALUE_2).build();