aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java
diff options
context:
space:
mode:
authorGravatar Chloe Calvarin <ccalvarin@google.com>2017-03-20 23:30:12 +0000
committerGravatar Yue Gan <yueg@google.com>2017-03-21 12:52:39 +0000
commit5ad10d11a90afe19d50a68cb72b861508362e14b (patch)
tree3c432a41394a06d63e1926facb1bc62860854bb0 /src/test/java
parente51ad2fdc7dcb92bfa5127ec04a15b9656db8801 (diff)
Clean up InvocationPolicyEnforcerTest.
Remove magic constants and convert to Truth. -- PiperOrigin-RevId: 150692720 MOS_MIGRATED_REVID=150692720
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/runtime/InvocationPolicyEnforcerTest.java737
1 files changed, 413 insertions, 324 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/runtime/InvocationPolicyEnforcerTest.java b/src/test/java/com/google/devtools/build/lib/runtime/InvocationPolicyEnforcerTest.java
index 02bd62da98..e70342b605 100644
--- a/src/test/java/com/google/devtools/build/lib/runtime/InvocationPolicyEnforcerTest.java
+++ b/src/test/java/com/google/devtools/build/lib/runtime/InvocationPolicyEnforcerTest.java
@@ -15,9 +15,6 @@
package com.google.devtools.build.lib.runtime;
import static com.google.common.truth.Truth.assertThat;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import com.google.common.collect.ImmutableSet;
@@ -42,7 +39,15 @@ import org.junit.runners.JUnit4;
@RunWith(JUnit4.class)
public class InvocationPolicyEnforcerTest {
- public static final String STRING_FLAG_DEFAULT = "test string default";
+ // Useful constants
+ public static final String BUILD_COMMAND = "build";
+ public static final String TEST_STRING_USER_VALUE = "user value";
+ public static final String TEST_STRING_USER_VALUE_2 = "user value 2";
+ public static final String TEST_STRING_POLICY_VALUE = "policy value";
+ public static final String TEST_STRING_POLICY_VALUE_2 = "policy value 2";
+ public static final String FILTERED_VALUE_1 = "foo";
+ public static final String FILTERED_VALUE_2 = "bar";
+ public static final String UNFILTERED_VALUE = "baz";
/** Test converter that splits a string by commas to produce a list. */
public static class ToListConverter implements Converter<List<String>> {
@@ -66,7 +71,8 @@ public class InvocationPolicyEnforcerTest {
* Basic types
*/
- @Option(name = "test_string", defaultValue = STRING_FLAG_DEFAULT)
+ public static final String TEST_STRING_DEFAULT = "test string default";
+ @Option(name = "test_string", defaultValue = TEST_STRING_DEFAULT)
public String testString;
/*
@@ -74,9 +80,10 @@ public class InvocationPolicyEnforcerTest {
*/
@Option(
- name = "test_multiple_string",
- defaultValue = "", // default value is ignored when allowMultiple = true.
- allowMultiple = true)
+ name = "test_multiple_string",
+ defaultValue = "", // default value is ignored when allowMultiple=true.
+ allowMultiple = true
+ )
public List<String> testMultipleString;
/*
@@ -95,17 +102,28 @@ public class InvocationPolicyEnforcerTest {
* Expansion flags
*/
+ public static final boolean EXPANDED_A_TEST_EXPANSION = false;
+ public static final boolean EXPANDED_B_TEST_EXPANSION = false;
+ public static final int EXPANDED_C_TEST_EXPANSION = 42;
+ public static final String EXPANDED_D_TEST_EXPANSION = "bar";
@Option(
- name = "test_expansion",
- defaultValue = "null",
- expansion = {
- "--notest_expansion_a",
- "--test_expansion_b=false",
- "--test_expansion_c", "42",
- "--test_expansion_d", "bar"
- })
+ name = "test_expansion",
+ defaultValue = "null",
+ expansion = {
+ "--noexpanded_a",
+ "--expanded_b=false",
+ "--expanded_c",
+ "42",
+ "--expanded_d",
+ "bar"
+ }
+ )
public Void testExpansion;
+ public static final boolean EXPANDED_A_TEST_RECURSIVE_EXPANSION = false;
+ public static final boolean EXPANDED_B_TEST_RECURSIVE_EXPANSION = false;
+ public static final int EXPANDED_C_TEST_RECURSIVE_EXPANSION = 56;
+ public static final String EXPANDED_D_TEST_RECURSIVE_EXPANSION = "baz";
@Option(
name = "test_recursive_expansion_top_level",
defaultValue = "null",
@@ -116,54 +134,65 @@ public class InvocationPolicyEnforcerTest {
public Void testRecursiveExpansionTopLevel;
@Option(
- name = "test_recursive_expansion_middle1",
- defaultValue = "null",
- expansion = {
- "--test_expansion_a=false",
- "--test_expansion_c=56",
- })
+ name = "test_recursive_expansion_middle1",
+ defaultValue = "null",
+ expansion = {
+ "--expanded_a=false",
+ "--expanded_c=56",
+ }
+ )
public Void testRecursiveExpansionMiddle1;
@Option(
- name = "test_recursive_expansion_middle2",
- defaultValue = "null",
- expansion = {
- "--test_expansion_b=false",
- "--test_expansion_d=baz",
- })
+ name = "test_recursive_expansion_middle2",
+ defaultValue = "null",
+ expansion = {
+ "--expanded_b=false",
+ "--expanded_d=baz",
+ }
+ )
public Void testRecursiveExpansionMiddle2;
- @Option(name = "test_expansion_a", defaultValue = "true")
- public boolean testExpansionA;
+ public static final boolean EXPANDED_A_DEFAULT = true;
+ @Option(name = "expanded_a", defaultValue = "true")
+ public boolean expandedA;
- @Option(name = "test_expansion_b", defaultValue = "true")
- public boolean testExpansionB;
+ public static final boolean EXPANDED_B_DEFAULT = true;
+ @Option(name = "expanded_b", defaultValue = "true")
+ public boolean expandedB;
- @Option(name = "test_expansion_c", defaultValue = "12")
- public int testExpansionC;
+ public static final int EXPANDED_C_DEFAULT = 12;
+ @Option(name = "expanded_c", defaultValue = "12")
+ public int expandedC;
- @Option(name = "test_expansion_d", defaultValue = "foo")
- public String testExpansionD;
+ public static final String EXPANDED_D_DEFAULT = "foo";
+ @Option(name = "expanded_d", defaultValue = "foo")
+ public String expandedD;
/*
* Implicit requirement flags
*/
+ public static final String TEST_IMPLICIT_REQUIREMENT_DEFAULT = "direct implicit";
+ public static final String IMPLICIT_REQUIREMENT_A_REQUIRED = "implicit requirement, required";
@Option(
- name = "test_implicit_requirement",
- defaultValue = "test implicit requirement default",
- implicitRequirements = {"--an_implicit_requirement=foo"})
+ name = "test_implicit_requirement",
+ defaultValue = TEST_IMPLICIT_REQUIREMENT_DEFAULT,
+ implicitRequirements = {"--implicit_requirement_a=" + IMPLICIT_REQUIREMENT_A_REQUIRED}
+ )
public String testImplicitRequirement;
- @Option(
- name = "an_implicit_requirement",
- defaultValue = "implicit default")
- public String anImplicitRequirement;
+ public static final String IMPLICIT_REQUIREMENT_A_DEFAULT = "implicit requirement, unrequired";
+ @Option(name = "implicit_requirement_a", defaultValue = IMPLICIT_REQUIREMENT_A_DEFAULT)
+ public String implicitRequirementA;
+ public static final String TEST_RECURSIVE_IMPLICIT_REQUIREMENT_DEFAULT = "recursive implicit";
+ public static final String TEST_IMPLICIT_REQUIREMENT_REQUIRED = "intermediate, required";
@Option(
- name = "test_recursive_implicit_requirement",
- defaultValue = "test recursive implicit requirement default",
- implicitRequirements = {"--test_implicit_requirement=bar"})
+ name = "test_recursive_implicit_requirement",
+ defaultValue = TEST_RECURSIVE_IMPLICIT_REQUIREMENT_DEFAULT,
+ implicitRequirements = {"--test_implicit_requirement=" + TEST_IMPLICIT_REQUIREMENT_REQUIRED}
+ )
public String testRecursiveImplicitRequirement;
}
@@ -221,22 +250,23 @@ public class InvocationPolicyEnforcerTest {
@Test
public void testSetValueOverridesUser() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
.setFlagName("test_string")
.getSetValueBuilder()
- .addFlagValue("policy value");
+ .addFlagValue(TEST_STRING_POLICY_VALUE);
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
- parser.parse("--test_string=user value");
+ parser.parse("--test_string=" + TEST_STRING_USER_VALUE);
TestOptions testOptions = getTestOptions();
- assertEquals("user value", testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(TEST_STRING_USER_VALUE);
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
// Get the options again after policy enforcement.
testOptions = getTestOptions();
- assertEquals("policy value", testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(TEST_STRING_POLICY_VALUE);
}
/**
@@ -246,23 +276,24 @@ public class InvocationPolicyEnforcerTest {
@Test
public void testSetValueOverridesDefault() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
.setFlagName("test_string")
.getSetValueBuilder()
- .addFlagValue("policy value");
+ .addFlagValue(TEST_STRING_POLICY_VALUE);
// No user value.
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
// All the flags should be their default value.
TestOptions testOptions = getTestOptions();
- assertEquals(STRING_FLAG_DEFAULT, testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(TestOptions.TEST_STRING_DEFAULT);
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
// Get the options again after policy enforcement.
testOptions = getTestOptions();
- assertEquals("policy value", testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(TEST_STRING_POLICY_VALUE);
}
/**
@@ -271,26 +302,31 @@ public class InvocationPolicyEnforcerTest {
@Test
public void testSetValueWithMultipleValuesOverridesUser() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
.setFlagName("test_multiple_string")
.getSetValueBuilder()
- .addFlagValue("policy value 1")
- .addFlagValue("policy value 2");
+ .addFlagValue(TEST_STRING_POLICY_VALUE)
+ .addFlagValue(TEST_STRING_POLICY_VALUE_2);
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
- parser.parse("--test_multiple_string=user value 1", "--test_multiple_string=user value 2");
+ parser.parse(
+ "--test_multiple_string=" + TEST_STRING_USER_VALUE,
+ "--test_multiple_string=" + TEST_STRING_USER_VALUE_2);
// Options should not be modified by running the parser through OptionsPolicyEnforcer.create().
TestOptions testOptions = getTestOptions();
assertThat(testOptions.testMultipleString)
- .containsExactly("user value 1", "user value 2").inOrder();
+ .containsExactly(TEST_STRING_USER_VALUE, TEST_STRING_USER_VALUE_2)
+ .inOrder();
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
// Get the options again after policy enforcement.
testOptions = getTestOptions();
assertThat(testOptions.testMultipleString)
- .containsExactly("policy value 1", "policy value 2").inOrder();
+ .containsExactly(TEST_STRING_POLICY_VALUE, TEST_STRING_POLICY_VALUE_2)
+ .inOrder();
}
/**
@@ -300,11 +336,12 @@ public class InvocationPolicyEnforcerTest {
@Test
public void testSetValueWithMultipleValuesOverridesDefault() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
.setFlagName("test_multiple_string")
.getSetValueBuilder()
- .addFlagValue("policy value 1")
- .addFlagValue("policy value 2");
+ .addFlagValue(TEST_STRING_POLICY_VALUE)
+ .addFlagValue(TEST_STRING_POLICY_VALUE_2);
// No user value.
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
@@ -313,27 +350,29 @@ public class InvocationPolicyEnforcerTest {
TestOptions testOptions = getTestOptions();
assertThat(testOptions.testMultipleString).isEmpty();
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
// Options should now be the values from the policy.
testOptions = getTestOptions();
assertThat(testOptions.testMultipleString)
- .containsExactly("policy value 1", "policy value 2").inOrder();
+ .containsExactly(TEST_STRING_POLICY_VALUE, TEST_STRING_POLICY_VALUE_2)
+ .inOrder();
}
@Test
public void testSetValueHasMultipleValuesButFlagIsNotMultiple() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
.setFlagName("test_string") // Not repeatable flag.
.getSetValueBuilder()
- .addFlagValue("policy value 1") // Has multiple values.
- .addFlagValue("policy value 2");
+ .addFlagValue(TEST_STRING_POLICY_VALUE) // Has multiple values.
+ .addFlagValue(TEST_STRING_POLICY_VALUE_2);
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
try {
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
fail();
} catch (OptionsParsingException e) {
// expected.
@@ -343,31 +382,36 @@ public class InvocationPolicyEnforcerTest {
@Test
public void testSetValueAppendsToMultipleValuedFlag() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
.setFlagName("test_multiple_string")
.getSetValueBuilder()
- .addFlagValue("policy value 1")
- .addFlagValue("policy value 2")
- .setAppend(true);
+ .addFlagValue(TEST_STRING_POLICY_VALUE)
+ .addFlagValue(TEST_STRING_POLICY_VALUE_2)
+ .setAppend(true);
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
- parser.parse("--test_multiple_string=user value 1", "--test_multiple_string=user value 2");
+ parser.parse(
+ "--test_multiple_string=" + TEST_STRING_USER_VALUE,
+ "--test_multiple_string=" + TEST_STRING_USER_VALUE_2);
// Options should not be modified by running the parser through OptionsPolicyEnforcer.create().
TestOptions testOptions = getTestOptions();
assertThat(testOptions.testMultipleString)
- .containsExactly("user value 1", "user value 2").inOrder();
+ .containsExactly(TEST_STRING_USER_VALUE, TEST_STRING_USER_VALUE_2)
+ .inOrder();
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
// Get the options again after policy enforcement.
testOptions = getTestOptions();
assertThat(testOptions.testMultipleString)
.containsExactly(
- "user value 1",
- "user value 2",
- "policy value 1",
- "policy value 2").inOrder();
+ TEST_STRING_USER_VALUE,
+ TEST_STRING_USER_VALUE_2,
+ TEST_STRING_POLICY_VALUE,
+ TEST_STRING_POLICY_VALUE_2)
+ .inOrder();
}
@Test
@@ -380,98 +424,102 @@ public class InvocationPolicyEnforcerTest {
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
// Unrelated flag, but --test_expansion is not set
- parser.parse("--test_string=foo");
+ parser.parse("--test_string=throwaway value");
// The flags that --test_expansion expands into should still be their default values
TestOptions testOptions = getTestOptions();
- assertTrue(testOptions.testExpansionA);
- assertTrue(testOptions.testExpansionB);
- assertEquals(12, testOptions.testExpansionC);
- assertEquals("foo", testOptions.testExpansionD);
+ assertThat(testOptions.expandedA).isEqualTo(TestOptions.EXPANDED_A_DEFAULT);
+ assertThat(testOptions.expandedB).isEqualTo(TestOptions.EXPANDED_B_DEFAULT);
+ assertThat(testOptions.expandedC).isEqualTo(TestOptions.EXPANDED_C_DEFAULT);
+ assertThat(testOptions.expandedD).isEqualTo(TestOptions.EXPANDED_D_DEFAULT);
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
// After policy enforcement, the flags should be the values from --test_expansion
testOptions = getTestOptions();
- assertFalse(testOptions.testExpansionA);
- assertFalse(testOptions.testExpansionB);
- assertEquals(42, testOptions.testExpansionC);
- assertEquals("bar", testOptions.testExpansionD);
+ assertThat(testOptions.expandedA).isEqualTo(TestOptions.EXPANDED_A_TEST_EXPANSION);
+ assertThat(testOptions.expandedB).isEqualTo(TestOptions.EXPANDED_B_TEST_EXPANSION);
+ assertThat(testOptions.expandedC).isEqualTo(TestOptions.EXPANDED_C_TEST_EXPANSION);
+ assertThat(testOptions.expandedD).isEqualTo(TestOptions.EXPANDED_D_TEST_EXPANSION);
}
@Test
public void testSetValueWithExpandedFlags() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
- .setFlagName("test_expansion_c")
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
+ .setFlagName("expanded_c")
.getSetValueBuilder()
- .addFlagValue("64");
+ .addFlagValue("64");
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
parser.parse("--test_expansion");
// --test_expansion should set the values from its expansion
TestOptions testOptions = getTestOptions();
- assertFalse(testOptions.testExpansionA);
- assertFalse(testOptions.testExpansionB);
- assertEquals(42, testOptions.testExpansionC);
- assertEquals("bar", testOptions.testExpansionD);
+ assertThat(testOptions.expandedA).isEqualTo(TestOptions.EXPANDED_A_TEST_EXPANSION);
+ assertThat(testOptions.expandedB).isEqualTo(TestOptions.EXPANDED_B_TEST_EXPANSION);
+ assertThat(testOptions.expandedC).isEqualTo(TestOptions.EXPANDED_C_TEST_EXPANSION);
+ assertThat(testOptions.expandedD).isEqualTo(TestOptions.EXPANDED_D_TEST_EXPANSION);
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
- // After policy enforcement, test_expansion_c should be set to 64 from the policy, but the
+ // After policy enforcement, expanded_c should be set to 64 from the policy, but the
// flags should remain the same from the expansion of --test_expansion.
testOptions = getTestOptions();
- assertFalse(testOptions.testExpansionA);
- assertFalse(testOptions.testExpansionB);
- assertEquals(64, testOptions.testExpansionC);
- assertEquals("bar", testOptions.testExpansionD);
+ assertThat(testOptions.expandedA).isEqualTo(TestOptions.EXPANDED_A_TEST_EXPANSION);
+ assertThat(testOptions.expandedB).isEqualTo(TestOptions.EXPANDED_B_TEST_EXPANSION);
+ assertThat(testOptions.expandedC).isEqualTo(64);
+ assertThat(testOptions.expandedD).isEqualTo(TestOptions.EXPANDED_D_TEST_EXPANSION);
}
@Test
public void testSetValueWithImplicitlyRequiredFlags() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
- .setFlagName("an_implicit_requirement")
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
+ .setFlagName("implicit_requirement_a")
.getSetValueBuilder()
- .addFlagValue("policy value");
+ .addFlagValue(TEST_STRING_POLICY_VALUE);
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
- parser.parse("--test_implicit_requirement=user value");
+ parser.parse("--test_implicit_requirement=" + TEST_STRING_USER_VALUE);
- // test_implicit_requirement sets an_implicit_requirement to "foo"
+ // test_implicit_requirement sets implicit_requirement_a to "foo"
TestOptions testOptions = getTestOptions();
- assertEquals("user value", testOptions.testImplicitRequirement);
- assertEquals("foo", testOptions.anImplicitRequirement);
+ assertThat(testOptions.testImplicitRequirement).isEqualTo(TEST_STRING_USER_VALUE);
+ assertThat(testOptions.implicitRequirementA)
+ .isEqualTo(TestOptions.IMPLICIT_REQUIREMENT_A_REQUIRED);
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
testOptions = getTestOptions();
- assertEquals("user value", testOptions.testImplicitRequirement);
- assertEquals("policy value", testOptions.anImplicitRequirement);
+ assertThat(testOptions.testImplicitRequirement).isEqualTo(TEST_STRING_USER_VALUE);
+ assertThat(testOptions.implicitRequirementA).isEqualTo(TEST_STRING_POLICY_VALUE);
}
@Test
public void testSetValueOverridable() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
.setFlagName("test_string")
.getSetValueBuilder()
- .addFlagValue("policy value")
- .setOverridable(true);
+ .addFlagValue(TEST_STRING_POLICY_VALUE)
+ .setOverridable(true);
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
- parser.parse("--test_string=user value");
+ parser.parse("--test_string=" + TEST_STRING_USER_VALUE);
TestOptions testOptions = getTestOptions();
- assertEquals("user value", testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(TEST_STRING_USER_VALUE);
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
// Even though the policy sets the value for test_string, the policy is overridable and the
// user set the value, so it should be the user's value.
testOptions = getTestOptions();
- assertEquals("user value", testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(TEST_STRING_USER_VALUE);
}
@Test
@@ -482,13 +530,13 @@ public class InvocationPolicyEnforcerTest {
.getSetValueBuilder(); // No value.
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
- parser.parse("--test_string=user value");
+ parser.parse("--test_string=" + TEST_STRING_USER_VALUE);
TestOptions testOptions = getTestOptions();
- assertEquals("user value", testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(TEST_STRING_USER_VALUE);
try {
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
fail();
} catch (OptionsParsingException e) {
// expected.
@@ -507,18 +555,18 @@ public class InvocationPolicyEnforcerTest {
.getUseDefaultBuilder();
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
- parser.parse("--test_string=user value");
+ parser.parse("--test_string=" + TEST_STRING_USER_VALUE);
// Options should be the user specified value before enforcing policy.
TestOptions testOptions = getTestOptions();
- assertEquals("user value", testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(TEST_STRING_USER_VALUE);
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
// Get the options again after policy enforcement: The flag should now be back to its default
// value
testOptions = getTestOptions();
- assertEquals(STRING_FLAG_DEFAULT, testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(TestOptions.TEST_STRING_DEFAULT);
}
/**
@@ -535,13 +583,13 @@ public class InvocationPolicyEnforcerTest {
// Options should be the default since the user never specified it.
TestOptions testOptions = getTestOptions();
- assertEquals(STRING_FLAG_DEFAULT, testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(TestOptions.TEST_STRING_DEFAULT);
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
// Still the default.
testOptions = getTestOptions();
- assertEquals(STRING_FLAG_DEFAULT, testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(TestOptions.TEST_STRING_DEFAULT);
}
@Test
@@ -555,20 +603,20 @@ public class InvocationPolicyEnforcerTest {
parser.parse("--test_expansion");
TestOptions testOptions = getTestOptions();
- assertFalse(testOptions.testExpansionA);
- assertFalse(testOptions.testExpansionB);
- assertEquals(42, testOptions.testExpansionC);
- assertEquals("bar", testOptions.testExpansionD);
+ assertThat(testOptions.expandedA).isEqualTo(TestOptions.EXPANDED_A_TEST_EXPANSION);
+ assertThat(testOptions.expandedB).isEqualTo(TestOptions.EXPANDED_B_TEST_EXPANSION);
+ assertThat(testOptions.expandedC).isEqualTo(TestOptions.EXPANDED_C_TEST_EXPANSION);
+ assertThat(testOptions.expandedD).isEqualTo(TestOptions.EXPANDED_D_TEST_EXPANSION);
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
// After policy enforcement, all the flags that --test_expansion expanded into should be back
// to their default values.
testOptions = getTestOptions();
- assertTrue(testOptions.testExpansionA);
- assertTrue(testOptions.testExpansionB);
- assertEquals(12, testOptions.testExpansionC);
- assertEquals("foo", testOptions.testExpansionD);
+ assertThat(testOptions.expandedA).isEqualTo(TestOptions.EXPANDED_A_DEFAULT);
+ assertThat(testOptions.expandedB).isEqualTo(TestOptions.EXPANDED_B_DEFAULT);
+ assertThat(testOptions.expandedC).isEqualTo(TestOptions.EXPANDED_C_DEFAULT);
+ assertThat(testOptions.expandedD).isEqualTo(TestOptions.EXPANDED_D_DEFAULT);
}
@Test
@@ -582,27 +630,28 @@ public class InvocationPolicyEnforcerTest {
parser.parse("--test_recursive_expansion_top_level");
TestOptions testOptions = getTestOptions();
- assertFalse(testOptions.testExpansionA);
- assertFalse(testOptions.testExpansionB);
- assertEquals(56, testOptions.testExpansionC);
- assertEquals("baz", testOptions.testExpansionD);
+ assertThat(testOptions.expandedA).isEqualTo(TestOptions.EXPANDED_A_TEST_RECURSIVE_EXPANSION);
+ assertThat(testOptions.expandedB).isEqualTo(TestOptions.EXPANDED_B_TEST_RECURSIVE_EXPANSION);
+ assertThat(testOptions.expandedC).isEqualTo(TestOptions.EXPANDED_C_TEST_RECURSIVE_EXPANSION);
+ assertThat(testOptions.expandedD).isEqualTo(TestOptions.EXPANDED_D_TEST_RECURSIVE_EXPANSION);
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
// After policy enforcement, all the flags that --test_recursive_expansion_top_level and its
// recursive expansions set should be back to their default values.
testOptions = getTestOptions();
- assertTrue(testOptions.testExpansionA);
- assertTrue(testOptions.testExpansionB);
- assertEquals(12, testOptions.testExpansionC);
- assertEquals("foo", testOptions.testExpansionD);
+ assertThat(testOptions.expandedA).isEqualTo(TestOptions.EXPANDED_A_DEFAULT);
+ assertThat(testOptions.expandedB).isEqualTo(TestOptions.EXPANDED_B_DEFAULT);
+ assertThat(testOptions.expandedC).isEqualTo(TestOptions.EXPANDED_C_DEFAULT);
+ assertThat(testOptions.expandedD).isEqualTo(TestOptions.EXPANDED_D_DEFAULT);
}
@Test
public void testUseDefaultWithExpandedFlags() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
- .setFlagName("test_expansion_b")
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
+ .setFlagName("expanded_b")
.getUseDefaultBuilder();
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
@@ -610,20 +659,20 @@ public class InvocationPolicyEnforcerTest {
// --test_expansion should turn set the values from its expansion
TestOptions testOptions = getTestOptions();
- assertFalse(testOptions.testExpansionA);
- assertFalse(testOptions.testExpansionB);
- assertEquals(42, testOptions.testExpansionC);
- assertEquals("bar", testOptions.testExpansionD);
+ assertThat(testOptions.expandedA).isEqualTo(TestOptions.EXPANDED_A_TEST_EXPANSION);
+ assertThat(testOptions.expandedB).isEqualTo(TestOptions.EXPANDED_B_TEST_EXPANSION);
+ assertThat(testOptions.expandedC).isEqualTo(TestOptions.EXPANDED_C_TEST_EXPANSION);
+ assertThat(testOptions.expandedD).isEqualTo(TestOptions.EXPANDED_D_TEST_EXPANSION);
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
- // After policy enforcement, test_expansion_b should be back to its default (true), but the
+ // After policy enforcement, expanded_b should be back to its default (true), but the
// rest should remain the same.
testOptions = getTestOptions();
- assertFalse(testOptions.testExpansionA);
- assertTrue(testOptions.testExpansionB);
- assertEquals(42, testOptions.testExpansionC);
- assertEquals("bar", testOptions.testExpansionD);
+ assertThat(testOptions.expandedA).isEqualTo(TestOptions.EXPANDED_A_TEST_EXPANSION);
+ assertThat(testOptions.expandedB).isEqualTo(TestOptions.EXPANDED_B_DEFAULT);
+ assertThat(testOptions.expandedC).isEqualTo(TestOptions.EXPANDED_C_TEST_EXPANSION);
+ assertThat(testOptions.expandedD).isEqualTo(TestOptions.EXPANDED_D_TEST_EXPANSION);
}
@Test
@@ -634,45 +683,52 @@ public class InvocationPolicyEnforcerTest {
.getUseDefaultBuilder();
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
- parser.parse("--test_implicit_requirement=user value");
+ parser.parse("--test_implicit_requirement=" + TEST_STRING_USER_VALUE);
- // test_implicit_requirement sets an_implicit_requirement to "foo", which ignores the user's
+ // test_implicit_requirement sets implicit_requirement_a to "foo", which ignores the user's
// value because the parser processes implicit values last.
TestOptions testOptions = getTestOptions();
- assertEquals("user value", testOptions.testImplicitRequirement);
- assertEquals("foo", testOptions.anImplicitRequirement);
+ assertThat(testOptions.testImplicitRequirement).isEqualTo(TEST_STRING_USER_VALUE);
+ assertThat(testOptions.implicitRequirementA)
+ .isEqualTo(TestOptions.IMPLICIT_REQUIREMENT_A_REQUIRED);
// Then policy puts test_implicit_requirement and its implicit requirements back to its default.
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
testOptions = getTestOptions();
- assertEquals("test implicit requirement default", testOptions.testImplicitRequirement);
- assertEquals("implicit default", testOptions.anImplicitRequirement);
+ assertThat(testOptions.testImplicitRequirement)
+ .isEqualTo(TestOptions.TEST_IMPLICIT_REQUIREMENT_DEFAULT);
+ assertThat(testOptions.implicitRequirementA)
+ .isEqualTo(TestOptions.IMPLICIT_REQUIREMENT_A_DEFAULT);
}
@Test
public void testUseDefaultWithImplicitlyRequiredFlag() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
- .setFlagName("an_implicit_requirement")
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
+ .setFlagName("implicit_requirement_a")
.getUseDefaultBuilder();
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
- parser.parse("--test_implicit_requirement=user value",
- "--an_implicit_requirement=implicit user value");
+ parser.parse(
+ "--test_implicit_requirement=" + TEST_STRING_USER_VALUE,
+ "--implicit_requirement_a=thrownaway value");
- // test_implicit_requirement sets an_implicit_requirement to "foo", which ignores the user's
+ // test_implicit_requirement sets implicit_requirement_a to "foo", which ignores the user's
// value because the parser processes implicit values last.
TestOptions testOptions = getTestOptions();
- assertEquals("user value", testOptions.testImplicitRequirement);
- assertEquals("foo", testOptions.anImplicitRequirement);
+ assertThat(testOptions.testImplicitRequirement).isEqualTo(TEST_STRING_USER_VALUE);
+ assertThat(testOptions.implicitRequirementA)
+ .isEqualTo(TestOptions.IMPLICIT_REQUIREMENT_A_REQUIRED);
- // Then policy puts an_implicit_requirement back to its default.
- enforcer.enforce(parser, "build");
+ // Then policy puts implicit_requirement_a back to its default.
+ enforcer.enforce(parser, BUILD_COMMAND);
testOptions = getTestOptions();
- assertEquals("user value", testOptions.testImplicitRequirement);
- assertEquals("implicit default", testOptions.anImplicitRequirement);
+ assertThat(testOptions.testImplicitRequirement).isEqualTo(TEST_STRING_USER_VALUE);
+ assertThat(testOptions.implicitRequirementA)
+ .isEqualTo(TestOptions.IMPLICIT_REQUIREMENT_A_DEFAULT);
}
@Test
@@ -683,24 +739,28 @@ public class InvocationPolicyEnforcerTest {
.getUseDefaultBuilder();
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
- parser.parse("--test_recursive_implicit_requirement=user value");
+ parser.parse("--test_recursive_implicit_requirement=" + TEST_STRING_USER_VALUE);
// test_recursive_implicit_requirement gets its value from the command line,
// test_implicit_requirement gets its value from test_recursive_implicit_requirement, and
- // an_implicit_requirement gets its value from test_implicit_requirement.
+ // implicit_requirement_a gets its value from test_implicit_requirement.
TestOptions testOptions = getTestOptions();
- assertEquals("user value", testOptions.testRecursiveImplicitRequirement);
- assertEquals("bar", testOptions.testImplicitRequirement);
- assertEquals("foo", testOptions.anImplicitRequirement);
+ assertThat(testOptions.testRecursiveImplicitRequirement).isEqualTo(TEST_STRING_USER_VALUE);
+ assertThat(testOptions.testImplicitRequirement)
+ .isEqualTo(TestOptions.TEST_IMPLICIT_REQUIREMENT_REQUIRED);
+ assertThat(testOptions.implicitRequirementA)
+ .isEqualTo(TestOptions.IMPLICIT_REQUIREMENT_A_REQUIRED);
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
// Policy enforcement should set everything back to its default value.
testOptions = getTestOptions();
- assertEquals("test recursive implicit requirement default",
- testOptions.testRecursiveImplicitRequirement);
- assertEquals("test implicit requirement default", testOptions.testImplicitRequirement);
- assertEquals("implicit default", testOptions.anImplicitRequirement);
+ assertThat(testOptions.testRecursiveImplicitRequirement)
+ .isEqualTo(TestOptions.TEST_RECURSIVE_IMPLICIT_REQUIREMENT_DEFAULT);
+ assertThat(testOptions.testImplicitRequirement)
+ .isEqualTo(TestOptions.TEST_IMPLICIT_REQUIREMENT_DEFAULT);
+ assertThat(testOptions.implicitRequirementA)
+ .isEqualTo(TestOptions.IMPLICIT_REQUIREMENT_A_DEFAULT);
}
/*************************************************************************************************
@@ -714,47 +774,49 @@ public class InvocationPolicyEnforcerTest {
@Test
public void testAllowValuesAllowsValue() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
.setFlagName("test_string")
.getAllowValuesBuilder()
- .addAllowedValues(STRING_FLAG_DEFAULT)
- .addAllowedValues("foo")
- .addAllowedValues("bar");
+ .addAllowedValues(TestOptions.TEST_STRING_DEFAULT)
+ .addAllowedValues(FILTERED_VALUE_1)
+ .addAllowedValues(FILTERED_VALUE_2);
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
- parser.parse("--test_string=foo");
+ parser.parse("--test_string=" + FILTERED_VALUE_1);
// Option should be "foo" as specified by the user.
TestOptions testOptions = getTestOptions();
- assertEquals("foo", testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(FILTERED_VALUE_1);
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
// Still "foo" since "foo" is allowed by the policy.
testOptions = getTestOptions();
- assertEquals("foo", testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(FILTERED_VALUE_1);
}
@Test
public void testAllowValuesDisallowsValue() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
.setFlagName("test_string")
.getAllowValuesBuilder()
- // no foo!
- .addAllowedValues(STRING_FLAG_DEFAULT)
- .addAllowedValues("bar");
+ // no foo!
+ .addAllowedValues(TestOptions.TEST_STRING_DEFAULT)
+ .addAllowedValues(FILTERED_VALUE_2);
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
- parser.parse("--test_string=foo");
+ parser.parse("--test_string=" + FILTERED_VALUE_1);
// Option should be "foo" as specified by the user.
TestOptions testOptions = getTestOptions();
- assertEquals("foo", testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(FILTERED_VALUE_1);
try {
// Should throw because "foo" is not allowed.
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
fail();
} catch (OptionsParsingException e) {
// expected
@@ -764,21 +826,25 @@ public class InvocationPolicyEnforcerTest {
@Test
public void testAllowValuesDisallowsMultipleValues() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
.setFlagName("test_multiple_string")
.getAllowValuesBuilder()
- .addAllowedValues("foo")
- .addAllowedValues("bar");
+ .addAllowedValues(FILTERED_VALUE_1)
+ .addAllowedValues(FILTERED_VALUE_2);
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
- parser.parse("--test_multiple_string=baz", "--test_multiple_string=bar");
+ parser.parse(
+ "--test_multiple_string=" + UNFILTERED_VALUE, "--test_multiple_string=" + FILTERED_VALUE_2);
// Option should be "baz" and "bar" as specified by the user.
TestOptions testOptions = getTestOptions();
- assertThat(testOptions.testMultipleString).containsExactly("baz", "bar").inOrder();
+ assertThat(testOptions.testMultipleString)
+ .containsExactly(UNFILTERED_VALUE, FILTERED_VALUE_2)
+ .inOrder();
try {
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
fail();
} catch (OptionsParsingException e) {
// expected, since baz is not allowed.
@@ -788,64 +854,70 @@ public class InvocationPolicyEnforcerTest {
@Test
public void testAllowValuesSetsNewValue() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
.setFlagName("test_string")
.getAllowValuesBuilder()
- .addAllowedValues("foo")
- .addAllowedValues("bar")
- .setNewValue("foo");
+ .addAllowedValues(FILTERED_VALUE_1)
+ .addAllowedValues(FILTERED_VALUE_2)
+ .setNewValue(FILTERED_VALUE_1);
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
- parser.parse("--test_string=baz");
+ parser.parse("--test_string=" + UNFILTERED_VALUE);
TestOptions testOptions = getTestOptions();
- assertEquals("baz", testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(UNFILTERED_VALUE);
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
testOptions = getTestOptions();
- assertEquals("foo", testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(FILTERED_VALUE_1);
}
@Test
public void testAllowValuesSetsDefaultValue() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
.setFlagName("test_string")
.getAllowValuesBuilder()
- .addAllowedValues("foo")
- .addAllowedValues(STRING_FLAG_DEFAULT)
- .getUseDefaultBuilder();
+ .addAllowedValues(FILTERED_VALUE_1)
+ .addAllowedValues(TestOptions.TEST_STRING_DEFAULT)
+ .getUseDefaultBuilder();
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
- parser.parse("--test_string=bar");
+ parser.parse("--test_string=" + UNFILTERED_VALUE);
TestOptions testOptions = getTestOptions();
- assertEquals("bar", testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(UNFILTERED_VALUE);
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
testOptions = getTestOptions();
- assertEquals(STRING_FLAG_DEFAULT, testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(TestOptions.TEST_STRING_DEFAULT);
}
@Test
public void testAllowValuesSetsDefaultValueForRepeatableFlag() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
.setFlagName("test_multiple_string")
.getAllowValuesBuilder()
- .addAllowedValues("foo")
- .addAllowedValues("bar")
- .getUseDefaultBuilder();
+ .addAllowedValues(FILTERED_VALUE_1)
+ .addAllowedValues(FILTERED_VALUE_2)
+ .getUseDefaultBuilder();
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
- parser.parse("--test_multiple_string=foo", "--test_multiple_string=baz");
+ parser.parse(
+ "--test_multiple_string=" + FILTERED_VALUE_1, "--test_multiple_string=" + UNFILTERED_VALUE);
TestOptions testOptions = getTestOptions();
- assertThat(testOptions.testMultipleString).containsExactly("foo", "baz").inOrder();
+ assertThat(testOptions.testMultipleString)
+ .containsExactly(FILTERED_VALUE_1, UNFILTERED_VALUE)
+ .inOrder();
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
testOptions = getTestOptions();
// Default value for repeatable flags is always empty.
@@ -859,46 +931,48 @@ public class InvocationPolicyEnforcerTest {
@Test
public void testAllowValuesSetsNewDefaultWhenFlagDefaultIsDisallowed() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
.setFlagName("test_string")
.getAllowValuesBuilder()
- // default value from flag's definition is not allowed
- .addAllowedValues("foo")
- .addAllowedValues("bar")
- .setNewValue("new default");
+ // default value from flag's definition is not allowed
+ .addAllowedValues(FILTERED_VALUE_1)
+ .addAllowedValues(FILTERED_VALUE_2)
+ .setNewValue("new default");
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
// Option should be its default
TestOptions testOptions = getTestOptions();
- assertEquals(STRING_FLAG_DEFAULT, testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(TestOptions.TEST_STRING_DEFAULT);
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
// Flag's value should be the default value from the policy.
testOptions = getTestOptions();
- assertEquals("new default", testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo("new default");
}
@Test
public void testAllowValuesDisallowsFlagDefaultButNoPolicyDefault() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
.setFlagName("test_string")
.getAllowValuesBuilder()
- // default value from flag's definition is not allowed, and no alternate default
- // is given.
- .addAllowedValues("foo")
- .addAllowedValues("bar");
+ // default value from flag's definition is not allowed, and no alternate default
+ // is given.
+ .addAllowedValues(FILTERED_VALUE_1)
+ .addAllowedValues(FILTERED_VALUE_2);
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
// Option should be its default
TestOptions testOptions = getTestOptions();
- assertEquals(STRING_FLAG_DEFAULT, testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(TestOptions.TEST_STRING_DEFAULT);
try {
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
fail();
} catch (OptionsParsingException e) {
// expected.
@@ -918,10 +992,10 @@ public class InvocationPolicyEnforcerTest {
parser.parse("--test_list_converters=a,b,c");
TestOptions testOptions = getTestOptions();
- assertEquals(Arrays.asList("a", "b", "c"), testOptions.testListConverters);
+ assertThat(testOptions.testListConverters).isEqualTo(Arrays.asList("a", "b", "c"));
try {
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
fail();
} catch (OptionsParsingException e) {
assertThat(e.getMessage())
@@ -937,44 +1011,46 @@ public class InvocationPolicyEnforcerTest {
@Test
public void testDisallowValuesAllowsValue() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
.setFlagName("test_string")
.getDisallowValuesBuilder()
- .addDisallowedValues("foo")
- .addDisallowedValues("bar");
+ .addDisallowedValues(FILTERED_VALUE_1)
+ .addDisallowedValues(FILTERED_VALUE_2);
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
- parser.parse("--test_string=baz");
+ parser.parse("--test_string=" + UNFILTERED_VALUE);
// Option should be "baz" as specified by the user.
TestOptions testOptions = getTestOptions();
- assertEquals("baz", testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(UNFILTERED_VALUE);
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
// Still "baz" since "baz" is allowed by the policy.
testOptions = getTestOptions();
- assertEquals("baz", testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(UNFILTERED_VALUE);
}
@Test
public void testDisallowValuesDisallowsValue() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
.setFlagName("test_string")
.getDisallowValuesBuilder()
- .addDisallowedValues("foo")
- .addDisallowedValues("bar");
+ .addDisallowedValues(FILTERED_VALUE_1)
+ .addDisallowedValues(FILTERED_VALUE_2);
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
- parser.parse("--test_string=foo");
+ parser.parse("--test_string=" + FILTERED_VALUE_1);
// Option should be "foo" as specified by the user.
TestOptions testOptions = getTestOptions();
- assertEquals("foo", testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(FILTERED_VALUE_1);
try {
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
fail();
} catch (OptionsParsingException e) {
// expected, since foo is disallowed.
@@ -984,21 +1060,25 @@ public class InvocationPolicyEnforcerTest {
@Test
public void testDisallowValuesDisallowsMultipleValues() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
.setFlagName("test_multiple_string")
.getDisallowValuesBuilder()
- .addDisallowedValues("foo")
- .addDisallowedValues("bar");
+ .addDisallowedValues(FILTERED_VALUE_1)
+ .addDisallowedValues(FILTERED_VALUE_2);
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
- parser.parse("--test_multiple_string=baz", "--test_multiple_string=bar");
+ parser.parse(
+ "--test_multiple_string=" + UNFILTERED_VALUE, "--test_multiple_string=" + FILTERED_VALUE_2);
// Option should be "baz" and "bar" as specified by the user.
TestOptions testOptions = getTestOptions();
- assertThat(testOptions.testMultipleString).containsExactly("baz", "bar").inOrder();
+ assertThat(testOptions.testMultipleString)
+ .containsExactly(UNFILTERED_VALUE, FILTERED_VALUE_2)
+ .inOrder();
try {
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
fail();
} catch (OptionsParsingException e) {
// expected, since bar is disallowed.
@@ -1008,62 +1088,65 @@ public class InvocationPolicyEnforcerTest {
@Test
public void testDisallowValuesSetsNewValue() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
.setFlagName("test_string")
.getDisallowValuesBuilder()
- .addDisallowedValues("user value")
- .setNewValue("baz");
+ .addDisallowedValues(FILTERED_VALUE_1)
+ .setNewValue(UNFILTERED_VALUE);
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
- parser.parse("--test_string=user value");
+ parser.parse("--test_string=" + FILTERED_VALUE_1);
TestOptions testOptions = getTestOptions();
- assertEquals("user value", testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(FILTERED_VALUE_1);
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
// Should now be "baz" because the policy forces disallowed values to "baz"
testOptions = getTestOptions();
- assertEquals("baz", testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(UNFILTERED_VALUE);
}
@Test
public void testDisallowValuesSetsDefaultValue() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
.setFlagName("test_string")
.getDisallowValuesBuilder()
- .addDisallowedValues("user value")
- .getUseDefaultBuilder();
+ .addDisallowedValues(FILTERED_VALUE_1)
+ .getUseDefaultBuilder();
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
- parser.parse("--test_string=user value");
+ parser.parse("--test_string=" + FILTERED_VALUE_1);
TestOptions testOptions = getTestOptions();
- assertEquals("user value", testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(FILTERED_VALUE_1);
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
testOptions = getTestOptions();
- assertEquals(STRING_FLAG_DEFAULT, testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(TestOptions.TEST_STRING_DEFAULT);
}
@Test
public void testDisallowValuesSetsDefaultValueForRepeatableFlag() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
.setFlagName("test_multiple_string")
.getDisallowValuesBuilder()
- .addDisallowedValues("user value")
- .getUseDefaultBuilder();
+ .addDisallowedValues(FILTERED_VALUE_1)
+ .getUseDefaultBuilder();
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
- parser.parse("--test_multiple_string=user value");
+ parser.parse("--test_multiple_string=" + FILTERED_VALUE_1);
TestOptions testOptions = getTestOptions();
- assertThat(testOptions.testMultipleString).containsExactly("user value");
+ assertThat(testOptions.testMultipleString).containsExactly(FILTERED_VALUE_1);
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
testOptions = getTestOptions();
// Default for repeatable flags is always empty.
@@ -1074,16 +1157,17 @@ public class InvocationPolicyEnforcerTest {
public void testDisallowValuesRaisesErrorIfDefaultIsDisallowedAndSetsUseDefault()
throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
.setFlagName("test_string")
.getDisallowValuesBuilder()
- .addDisallowedValues(STRING_FLAG_DEFAULT)
- .getUseDefaultBuilder();
+ .addDisallowedValues(TestOptions.TEST_STRING_DEFAULT)
+ .getUseDefaultBuilder();
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
try {
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
fail();
} catch (OptionsParsingException e) {
assertThat(e.getMessage()).contains("but also specifies to use the default value");
@@ -1093,42 +1177,44 @@ public class InvocationPolicyEnforcerTest {
@Test
public void testDisallowValuesSetsNewValueWhenDefaultIsDisallowed() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
.setFlagName("test_string")
.getDisallowValuesBuilder()
- .addDisallowedValues(STRING_FLAG_DEFAULT)
- .setNewValue("baz");
+ .addDisallowedValues(TestOptions.TEST_STRING_DEFAULT)
+ .setNewValue(UNFILTERED_VALUE);
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
// Option should be the default since the use didn't specify a value.
TestOptions testOptions = getTestOptions();
- assertEquals(STRING_FLAG_DEFAULT, testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(TestOptions.TEST_STRING_DEFAULT);
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
// Should now be "baz" because the policy set the new default to "baz"
testOptions = getTestOptions();
- assertEquals("baz", testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(UNFILTERED_VALUE);
}
@Test
public void testDisallowValuesDisallowsFlagDefaultButNoPolicyDefault() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
.setFlagName("test_string")
.getDisallowValuesBuilder()
- // No new default is set
- .addDisallowedValues(STRING_FLAG_DEFAULT);
+ // No new default is set
+ .addDisallowedValues(TestOptions.TEST_STRING_DEFAULT);
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
// Option should be the default since the use didn't specify a value.
TestOptions testOptions = getTestOptions();
- assertEquals(STRING_FLAG_DEFAULT, testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(TestOptions.TEST_STRING_DEFAULT);
try {
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
fail();
} catch (OptionsParsingException e) {
// expected.
@@ -1148,10 +1234,10 @@ public class InvocationPolicyEnforcerTest {
parser.parse("--test_list_converters=a,b,c");
TestOptions testOptions = getTestOptions();
- assertEquals(Arrays.asList("a", "b", "c"), testOptions.testListConverters);
+ assertThat(testOptions.testListConverters).isEqualTo(Arrays.asList("a", "b", "c"));
try {
- enforcer.enforce(parser, "build");
+ enforcer.enforce(parser, BUILD_COMMAND);
fail();
} catch (OptionsParsingException e) {
assertThat(e.getMessage())
@@ -1167,48 +1253,51 @@ public class InvocationPolicyEnforcerTest {
@Test
public void testFlagPolicyDoesNotApply() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
.setFlagName("test_string")
.addCommands("build")
.getSetValueBuilder()
- .addFlagValue("policy value");
+ .addFlagValue(TEST_STRING_POLICY_VALUE);
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
- parser.parse("--test_string=user value");
+ parser.parse("--test_string=" + TEST_STRING_USER_VALUE);
TestOptions testOptions = getTestOptions();
- assertEquals("user value", testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(TEST_STRING_USER_VALUE);
enforcer.enforce(parser, "test");
// Still user value.
testOptions = getTestOptions();
- assertEquals("user value", testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(TEST_STRING_USER_VALUE);
}
@Test
public void testNonExistantFlagFromPolicy() throws Exception {
InvocationPolicy.Builder invocationPolicyBuilder = InvocationPolicy.newBuilder();
- invocationPolicyBuilder.addFlagPoliciesBuilder()
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
.setFlagName("i_do_not_exist")
.getSetValueBuilder()
- .addFlagValue("policy value 1");
- invocationPolicyBuilder.addFlagPoliciesBuilder()
+ .addFlagValue(TEST_STRING_POLICY_VALUE);
+ invocationPolicyBuilder
+ .addFlagPoliciesBuilder()
.setFlagName("test_string")
.getSetValueBuilder()
- .addFlagValue("policy value 2");
+ .addFlagValue(TEST_STRING_POLICY_VALUE_2);
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
- parser.parse("--test_string=user value");
+ parser.parse("--test_string=" + TEST_STRING_USER_VALUE);
TestOptions testOptions = getTestOptions();
- assertEquals("user value", testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(TEST_STRING_USER_VALUE);
enforcer.enforce(parser, "test");
// Still user value.
testOptions = getTestOptions();
- assertEquals("policy value 2", testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(TEST_STRING_POLICY_VALUE_2);
}
@Test
@@ -1218,16 +1307,16 @@ public class InvocationPolicyEnforcerTest {
// No operations added to the flag policy
InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicyBuilder);
- parser.parse("--test_string=user value");
+ parser.parse("--test_string=" + TEST_STRING_USER_VALUE);
TestOptions testOptions = getTestOptions();
- assertEquals("user value", testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(TEST_STRING_USER_VALUE);
// Shouldn't throw.
enforcer.enforce(parser, "test");
// Still user value.
testOptions = getTestOptions();
- assertEquals("user value", testOptions.testString);
+ assertThat(testOptions.testString).isEqualTo(TEST_STRING_USER_VALUE);
}
}