use constants for the count checks in SpecParameterUnwrappingTest
Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/11a96606 Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/11a96606 Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/11a96606 Branch: refs/heads/master Commit: 11a9660617a0e41a406117c68ad682a6a38a9996 Parents: 49835ac Author: Alex Heneveld <alex.henev...@cloudsoftcorp.com> Authored: Tue Feb 14 00:50:51 2017 +0000 Committer: Alex Heneveld <alex.henev...@cloudsoftcorp.com> Committed: Tue Feb 14 00:50:51 2017 +0000 ---------------------------------------------------------------------- .../catalog/SpecParameterUnwrappingTest.java | 78 +++++++++++++------- 1 file changed, 51 insertions(+), 27 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/11a96606/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/SpecParameterUnwrappingTest.java ---------------------------------------------------------------------- diff --git a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/SpecParameterUnwrappingTest.java b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/SpecParameterUnwrappingTest.java index f9f456c..1e20f5e 100644 --- a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/SpecParameterUnwrappingTest.java +++ b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/SpecParameterUnwrappingTest.java @@ -27,14 +27,6 @@ import static org.testng.Assert.assertTrue; import java.util.Iterator; import java.util.List; -import org.testng.annotations.DataProvider; -import org.testng.annotations.Test; - -import com.google.common.base.Optional; -import com.google.common.base.Predicates; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Iterables; - import org.apache.brooklyn.api.catalog.CatalogItem; import org.apache.brooklyn.api.entity.Application; import org.apache.brooklyn.api.entity.Entity; @@ -59,7 +51,13 @@ import org.apache.brooklyn.core.policy.AbstractPolicy; import org.apache.brooklyn.core.test.entity.LocalManagementContextForTests; import org.apache.brooklyn.entity.stock.BasicApplication; import org.apache.brooklyn.entity.stock.BasicStartable; -import org.apache.brooklyn.test.Asserts; +import org.testng.annotations.DataProvider; +import org.testng.annotations.Test; + +import com.google.common.base.Optional; +import com.google.common.base.Predicates; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Iterables; public class SpecParameterUnwrappingTest extends AbstractYamlTest { @@ -68,6 +66,8 @@ public class SpecParameterUnwrappingTest extends AbstractYamlTest { public static final int NUM_APP_DEFAULT_CONFIG_KEYS = 5; // "defaultDisplayName" public static final int NUM_ENTITY_DEFAULT_CONFIG_KEYS = 1; + // none + public static final int NUM_POLICY_DEFAULT_CONFIG_KEYS = 0; // various ssh things... public static final int NUM_LOCATION_DEFAULT_CONFIG_KEYS = 5; @@ -75,15 +75,19 @@ public class SpecParameterUnwrappingTest extends AbstractYamlTest { private static final ConfigKey<String> SHARED_CONFIG = ConfigKeys.newStringConfigKey("sample.config"); public static class ConfigAppForTest extends AbstractApplication { + public static final int NUM_CONFIG_KEYS_DEFINED_HERE = 1; public static final ConfigKey<String> SAMPLE_CONFIG = SHARED_CONFIG; } public static class ConfigEntityForTest extends AbstractEntity { + public static final int NUM_CONFIG_KEYS_DEFINED_HERE = 1; public static final ConfigKey<String> SAMPLE_CONFIG = SHARED_CONFIG; } public static class ConfigPolicyForTest extends AbstractPolicy { + public static final int NUM_CONFIG_KEYS_DEFINED_HERE = 1; public static final ConfigKey<String> SAMPLE_CONFIG = SHARED_CONFIG; } public static class ConfigLocationForTest extends AbstractLocation { + public static final int NUM_CONFIG_KEYS_DEFINED_HERE = 1; public static final ConfigKey<String> SAMPLE_CONFIG = SHARED_CONFIG; } @@ -147,13 +151,17 @@ public class SpecParameterUnwrappingTest extends AbstractYamlTest { " - type: " + ConfigEntityForTest.class.getName(), " brooklyn.parameters:", " - simple"); + final int NUM_CONFIG_KEYS_FROM_TEST_BLUEPRINT = 1; CatalogItem<?, ?> item = catalog.getCatalogItem(SYMBOLIC_NAME, TEST_VERSION); AbstractBrooklynObjectSpec<?,?> spec = catalog.peekSpec(item); List<SpecParameter<?>> params = spec.getParameters(); assertTrue(Iterables.tryFind(params, nameEqualTo("simple")).isPresent()); assertTrue(Iterables.tryFind(params, nameEqualTo(SHARED_CONFIG.getName())).isPresent()); - assertEquals(params.size(), NUM_APP_DEFAULT_CONFIG_KEYS + 2, "params="+params); + // it is surprising to have all the application config keys when the app was only ever for wrapper purposes; + // perhaps those will be removed in time (but they aren't causing much harm) + assertEquals(params.size(), NUM_APP_DEFAULT_CONFIG_KEYS + ConfigEntityForTest.NUM_CONFIG_KEYS_DEFINED_HERE + NUM_CONFIG_KEYS_FROM_TEST_BLUEPRINT, + "params="+params); } @Test(dataProvider="brooklynTypes") @@ -171,12 +179,14 @@ public class SpecParameterUnwrappingTest extends AbstractYamlTest { " - id: " + SYMBOLIC_NAME, " item:", " type: paramItem"); + final int NUM_CONFIG_KEYS_FROM_TEST_BLUEPRINT = 1; CatalogItem<?, ?> item = catalog.getCatalogItem(SYMBOLIC_NAME, TEST_VERSION); AbstractBrooklynObjectSpec<?,?> spec = catalog.peekSpec(item); List<SpecParameter<?>> params = spec.getParameters(); // should have simple in parent yaml type and sample from parent java type - Asserts.assertSize(params, getNumDefaultConfigKeysFor(type.getSimpleName()) + 2); + assertEquals(params.size(), getNumDefaultConfigKeysFor(type.getSimpleName()) + NUM_CONFIG_KEYS_FROM_TEST_BLUEPRINT, + "params="+params); assertTrue(Iterables.tryFind(params, nameEqualTo("simple")).isPresent()); assertTrue(Iterables.tryFind(params, labelEqualTo("simple")).isPresent()); assertTrue(Iterables.tryFind(params, nameEqualTo(SHARED_CONFIG.getName())).isPresent()); @@ -185,11 +195,11 @@ public class SpecParameterUnwrappingTest extends AbstractYamlTest { private int getNumDefaultConfigKeysFor(String simpleName) { switch (simpleName) { case "ConfigEntityForTest": - return NUM_ENTITY_DEFAULT_CONFIG_KEYS; + return NUM_ENTITY_DEFAULT_CONFIG_KEYS + ConfigEntityForTest.NUM_CONFIG_KEYS_DEFINED_HERE; case "ConfigPolicyForTest": - return 0; + return NUM_POLICY_DEFAULT_CONFIG_KEYS + ConfigPolicyForTest.NUM_CONFIG_KEYS_DEFINED_HERE; case "ConfigLocationForTest": - return NUM_LOCATION_DEFAULT_CONFIG_KEYS; + return NUM_LOCATION_DEFAULT_CONFIG_KEYS + ConfigLocationForTest.NUM_CONFIG_KEYS_DEFINED_HERE; } throw new IllegalArgumentException("Unexpected name: "+simpleName); } @@ -210,15 +220,18 @@ public class SpecParameterUnwrappingTest extends AbstractYamlTest { " item:", " type: paramItem", " brooklyn.parameters:", - " - override"); + " - another"); + final int NUM_CONFIG_KEYS_FROM_TEST_BLUEPRINT = 2; CatalogItem<?, ?> item = catalog.getCatalogItem(SYMBOLIC_NAME, TEST_VERSION); AbstractBrooklynObjectSpec<?,?> spec = catalog.peekSpec(item); List<SpecParameter<?>> params = spec.getParameters(); - // should have override locally, simple in parent yaml type, and sample from parent java type - Asserts.assertSize(params, getNumDefaultConfigKeysFor(type.getSimpleName()) + 3); + // should have another locally, simple in parent yaml type, and sample from parent java type + assertEquals(params.size(), getNumDefaultConfigKeysFor(type.getSimpleName()) + NUM_CONFIG_KEYS_FROM_TEST_BLUEPRINT, + // XXX 3 + "params="+params); assertTrue(Iterables.tryFind(params, nameEqualTo("simple")).isPresent()); - assertTrue(Iterables.tryFind(params, nameEqualTo("override")).isPresent()); + assertTrue(Iterables.tryFind(params, nameEqualTo("another")).isPresent()); } @Test(dataProvider="brooklynTypes") @@ -239,12 +252,15 @@ public class SpecParameterUnwrappingTest extends AbstractYamlTest { " brooklyn.parameters:", " - name: simple", " label: override"); + final int NUM_CONFIG_KEYS_FROM_TEST_BLUEPRINT = 1; CatalogItem<?, ?> item = catalog.getCatalogItem(SYMBOLIC_NAME, TEST_VERSION); AbstractBrooklynObjectSpec<?,?> spec = catalog.peekSpec(item); List<SpecParameter<?>> params = spec.getParameters(); // should have simple locally (and in parent yaml type) and sample from parent java type - Asserts.assertSize(params, getNumDefaultConfigKeysFor(type.getSimpleName()) + 2); + assertEquals(params.size(), getNumDefaultConfigKeysFor(type.getSimpleName()) + NUM_CONFIG_KEYS_FROM_TEST_BLUEPRINT, + // XXX 2 + "params="+params); assertTrue(Iterables.tryFind(params, nameEqualTo("simple")).isPresent()); assertTrue(Iterables.tryFind(params, labelEqualTo("override")).isPresent()); } @@ -294,11 +310,12 @@ public class SpecParameterUnwrappingTest extends AbstractYamlTest { " default: biscuits", " brooklyn.config:", " simple: value"); + final int NUM_CONFIG_KEYS_FROM_TEST_BLUEPRINT = 1; CatalogItem<?, ?> item = catalog.getCatalogItem(SYMBOLIC_NAME, TEST_VERSION); AbstractBrooklynObjectSpec<?,?> spec = catalog.peekSpec(item); List<SpecParameter<?>> params = spec.getParameters(); - assertEquals(params.size(), NUM_ENTITY_DEFAULT_CONFIG_KEYS + 2); + assertEquals(params.size(), NUM_ENTITY_DEFAULT_CONFIG_KEYS + ConfigEntityForTest.NUM_CONFIG_KEYS_DEFINED_HERE + NUM_CONFIG_KEYS_FROM_TEST_BLUEPRINT); assertTrue(Iterables.tryFind(params, nameEqualTo("simple")).isPresent()); Optional<ConfigKey<?>> config = Iterables.tryFind(spec.getConfig().keySet(), ConfigPredicates.nameEqualTo("simple")); assertTrue(config.isPresent()); @@ -368,12 +385,13 @@ public class SpecParameterUnwrappingTest extends AbstractYamlTest { " type: " + BasicApplication.class.getName(), " brooklyn.parameters:", " - simple"); + final int NUM_CONFIG_KEYS_FROM_TEST_BLUEPRINT = 1; EntitySpec<? extends Application> spec = createAppSpec( "services:", "- type: " + ver(SYMBOLIC_NAME)); List<SpecParameter<?>> params = spec.getParameters(); - assertEquals(params.size(), NUM_APP_DEFAULT_CONFIG_KEYS + 1, "params="+params); + assertEquals(params.size(), NUM_APP_DEFAULT_CONFIG_KEYS + NUM_CONFIG_KEYS_FROM_TEST_BLUEPRINT, "params="+params); assertTrue(Iterables.tryFind(params, nameEqualTo("simple")).isPresent()); assertTrue(Iterables.tryFind(params, labelEqualTo("simple")).isPresent()); } @@ -390,12 +408,13 @@ public class SpecParameterUnwrappingTest extends AbstractYamlTest { " type: " + BasicApplication.class.getName(), " brooklyn.parameters:", " - simple"); + final int NUM_CONFIG_KEYS_FROM_TEST_BLUEPRINT = 1; EntitySpec<? extends Application> spec = createAppSpec( "services:", "- type: " + ver(SYMBOLIC_NAME)); List<SpecParameter<?>> params = spec.getParameters(); - assertEquals(params.size(), NUM_APP_DEFAULT_CONFIG_KEYS + 1, "params="+params); + assertEquals(params.size(), NUM_APP_DEFAULT_CONFIG_KEYS + NUM_CONFIG_KEYS_FROM_TEST_BLUEPRINT, "params="+params); assertTrue(Iterables.tryFind(params, nameEqualTo("simple")).isPresent()); assertTrue(Iterables.tryFind(params, labelEqualTo("simple")).isPresent()); } @@ -412,12 +431,13 @@ public class SpecParameterUnwrappingTest extends AbstractYamlTest { " - simple", " services:", " - type: " + BasicApplication.class.getName()); + final int NUM_CONFIG_KEYS_FROM_TEST_BLUEPRINT = 1; EntitySpec<? extends Application> spec = createAppSpec( "services:", "- type: " + ver(SYMBOLIC_NAME)); List<SpecParameter<?>> params = spec.getParameters(); - assertEquals(params.size(), NUM_APP_DEFAULT_CONFIG_KEYS + 1, "params="+params); + assertEquals(params.size(), NUM_APP_DEFAULT_CONFIG_KEYS + NUM_CONFIG_KEYS_FROM_TEST_BLUEPRINT, "params="+params); assertTrue(Iterables.tryFind(params, nameEqualTo("simple")).isPresent()); assertTrue(Iterables.tryFind(params, labelEqualTo("simple")).isPresent()); } @@ -444,7 +464,7 @@ public class SpecParameterUnwrappingTest extends AbstractYamlTest { "services:", "- type: " + ver(SYMBOLIC_NAME)); List<SpecParameter<?>> params = spec.getParameters(); - assertEquals(params.size(), NUM_APP_DEFAULT_CONFIG_KEYS + 1, "params="+params); + assertEquals(params.size(), NUM_APP_DEFAULT_CONFIG_KEYS + ConfigAppForTest.NUM_CONFIG_KEYS_DEFINED_HERE, "params="+params); assertEquals(ImmutableSet.copyOf(params), ImmutableSet.copyOf(BasicSpecParameter.fromClass(mgmt(), ConfigAppForTest.class))); } @@ -528,11 +548,13 @@ public class SpecParameterUnwrappingTest extends AbstractYamlTest { " name: c", " brooklyn.config:", " test: $brooklyn:config(\"num\")"); + final int NUM_CONFIG_KEYS_FROM_WITH_PARAMS_TEST_BLUEPRINT = 1; CatalogItem<?, ?> item = catalog.getCatalogItem(ConfigEntityForTest.class.getSimpleName() + "WithParams", TEST_VERSION); AbstractBrooklynObjectSpec<?,?> spec = catalog.peekSpec(item); List<SpecParameter<?>> params = spec.getParameters(); - assertEquals(params.size(), 3); + assertEquals(params.size(), NUM_ENTITY_DEFAULT_CONFIG_KEYS + ConfigEntityForTest.NUM_CONFIG_KEYS_DEFINED_HERE + NUM_CONFIG_KEYS_FROM_WITH_PARAMS_TEST_BLUEPRINT, + "params="+params); assertTrue(Iterables.tryFind(params, nameEqualTo("num")).isPresent()); Application app = (Application) createAndStartApplication( @@ -567,8 +589,9 @@ public class SpecParameterUnwrappingTest extends AbstractYamlTest { "- simple", "services:", "- type: " + BasicApplication.class.getName()); + final int NUM_CONFIG_KEYS_FROM_TEST_BLUEPRINT = 1; List<SpecParameter<?>> params = spec.getParameters(); - assertEquals(params.size(), NUM_APP_DEFAULT_CONFIG_KEYS + 1, "params="+params); + assertEquals(params.size(), NUM_APP_DEFAULT_CONFIG_KEYS + NUM_CONFIG_KEYS_FROM_TEST_BLUEPRINT, "params="+params); SpecParameter<?> firstInput = params.get(0); assertEquals(firstInput.getLabel(), "simple"); @@ -581,8 +604,9 @@ public class SpecParameterUnwrappingTest extends AbstractYamlTest { "- type: " + BasicApplication.class.getName(), " brooklyn.parameters:", " - simple"); + final int NUM_CONFIG_KEYS_FROM_TEST_BLUEPRINT = 1; List<SpecParameter<?>> params = spec.getParameters(); - assertEquals(params.size(), NUM_APP_DEFAULT_CONFIG_KEYS + 1, "params="+params); + assertEquals(params.size(), NUM_APP_DEFAULT_CONFIG_KEYS + NUM_CONFIG_KEYS_FROM_TEST_BLUEPRINT, "params="+params); SpecParameter<?> firstInput = params.get(0); assertEquals(firstInput.getLabel(), "simple"); }