Delete deprecated ApplicationBuilder Required updating lots of tests, often to extend BrooklynAppLiveTestSupport or BrooklynAppUnitTestSupport.
Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/52f9ebdd Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/52f9ebdd Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/52f9ebdd Branch: refs/heads/master Commit: 52f9ebdd391f0fa876e47f87b397159d1a48b0f8 Parents: 3730890 Author: Aled Sage <[email protected]> Authored: Mon May 15 20:46:01 2017 +0100 Committer: Aled Sage <[email protected]> Committed: Mon Jun 19 16:07:36 2017 +0100 ---------------------------------------------------------------------- .../camp/brooklyn/catalog/CatalogScanTest.java | 9 +- .../catalog/internal/CatalogClasspathDo.java | 7 +- .../core/entity/factory/ApplicationBuilder.java | 250 ------------------- .../core/catalog/internal/MyCatalogItems.java | 7 - .../brooklyn/core/entity/EntityNameTest.java | 10 +- .../downloads/BasicDownloadsRegistryTest.java | 39 +-- .../DownloadProducerFromLocalRepoTest.java | 26 +- .../DownloadProducerFromPropertiesTest.java | 33 +-- .../ApplicationBuilderOverridingTest.java | 249 ------------------ .../core/entity/proxying/EntityManagerTest.java | 3 +- .../core/entity/proxying/EntityProxyTest.java | 20 -- .../location/cloud/CloudMachineNamerTest.java | 31 ++- .../location/cloud/CustomMachineNamerTest.java | 20 +- .../AcmeEntitlementManagerTestFixture.java | 6 +- .../core/mgmt/entitlement/EntitlementsTest.java | 31 +-- .../mgmt/entitlement/EntityEntitlementTest.java | 5 +- .../HighAvailabilityManagerSplitBrainTest.java | 11 +- .../core/mgmt/internal/AccessManagerTest.java | 62 ++--- .../BrooklynMementoPersisterTestFixture.java | 3 +- .../core/server/entity/BrooklynMetricsTest.java | 28 +-- .../core/test/entity/TestApplication.java | 3 +- .../EntityCleanupLongevityTestFixture.java | 5 +- .../brooklyn/entity/stock/DataEntityTest.java | 21 +- ...stMachineProvisioningLocationRebindTest.java | 32 +-- .../location/multi/MultiLocationRebindTest.java | 50 +--- .../brooklyn/launcher/common/BasicLauncher.java | 36 +-- .../BrooklynEntityMirrorIntegrationTest.java | 3 +- .../brooklynnode/BrooklynNodeRestTest.java | 3 +- .../brooklyn/launcher/BrooklynLauncherTest.java | 13 - .../ha/ConnectionFailureDetectorTest.java | 24 +- ...ServiceFailureDetectorStabilizationTest.java | 23 +- .../policy/ha/ServiceFailureDetectorTest.java | 23 +- .../brooklyn/policy/ha/ServiceReplacerTest.java | 29 +-- .../BalanceableWorkerPoolTest.java | 27 +- .../ItemsInContainersGroupTest.java | 17 +- .../rest/util/BrooklynRestResourceUtils.java | 23 +- .../rest/resources/ApplicationResourceTest.java | 25 -- .../rest/testing/mocks/RestMockAppBuilder.java | 41 --- .../main/java/org/apache/brooklyn/cli/Main.java | 66 +++-- .../java/org/apache/brooklyn/cli/CliTest.java | 53 ++-- .../entity/AbstractGoogleComputeLiveTest.java | 45 ++-- .../entity/AbstractSoftlayerLiveTest.java | 42 +--- .../brooklyn/entity/chef/ChefConfigsTest.java | 16 +- .../chef/ChefServerTasksIntegrationTest.java | 25 +- .../software/base/AbstractDockerLiveTest.java | 46 ++-- ...twareProcessOpenIptablesStreamsLiveTest.java | 13 +- ...SoftwareProcessSshDriverIntegrationTest.java | 31 +-- ...laWindowsProcessWinrmExitStatusLiveTest.java | 3 +- ...nillaWindowsProcessWinrmStreamsLiveTest.java | 3 +- .../SoftwareProcessDriverCopyResourcesTest.java | 37 ++- 50 files changed, 299 insertions(+), 1329 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/52f9ebdd/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogScanTest.java ---------------------------------------------------------------------- diff --git a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogScanTest.java b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogScanTest.java index f7dd66b..ff7a027 100644 --- a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogScanTest.java +++ b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogScanTest.java @@ -55,7 +55,7 @@ public class CatalogScanTest { private static final Logger log = LoggerFactory.getLogger(CatalogScanTest.class); - private BrooklynCatalog defaultCatalog, annotsCatalog, fullCatalog; + private BrooklynCatalog defaultCatalog, annotsCatalog; private List<LocalManagementContext> mgmts = Lists.newCopyOnWriteArrayList(); private List<BrooklynCampPlatformLauncherNoServer> launchers = Lists.newCopyOnWriteArrayList(); @@ -156,13 +156,6 @@ public class CatalogScanTest { } @Test - public void testAnnotationLoadsSomeAppBuilders() { - loadAnnotationsOnlyCatalog(); - Iterable<CatalogItem<Object,Object>> silly1 = annotsCatalog.getCatalogItems(CatalogPredicates.displayName(Predicates.equalTo("MySillyAppBuilderTemplate"))); - Assert.assertEquals(Iterables.getOnlyElement(silly1).getDescription(), "Some silly app builder test"); - } - - @Test public void testAnnotationIsDefault() { doTestAnnotationIsDefault(false); } http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/52f9ebdd/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogClasspathDo.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogClasspathDo.java b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogClasspathDo.java index 9cdc705..bd0c3c7 100644 --- a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogClasspathDo.java +++ b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogClasspathDo.java @@ -36,7 +36,6 @@ import org.apache.brooklyn.api.entity.ImplementedBy; import org.apache.brooklyn.api.location.Location; import org.apache.brooklyn.api.policy.Policy; import org.apache.brooklyn.api.sensor.Enricher; -import org.apache.brooklyn.core.entity.factory.ApplicationBuilder; import org.apache.brooklyn.core.mgmt.BrooklynTags; import org.apache.brooklyn.core.mgmt.internal.ManagementContextInternal; import org.apache.brooklyn.util.core.ResourceUtils; @@ -212,10 +211,9 @@ public class CatalogClasspathDo { // not sure why we have to look for sub-types of Application, // they should be picked up as sub-types of Entity, but in maven builds (only!) // they are not -- i presume a bug in scanner - scanner.getSubTypesOf(Application.class), - scanner.getSubTypesOf(ApplicationBuilder.class))); + scanner.getSubTypesOf(Application.class))); for (Class<?> c: entities) { - if (Application.class.isAssignableFrom(c) || ApplicationBuilder.class.isAssignableFrom(c)) { + if (Application.class.isAssignableFrom(c)) { addCatalogEntry(new CatalogTemplateItemDto(), c); countApps++; } else { @@ -296,7 +294,6 @@ public class CatalogClasspathDo { @Deprecated public CatalogItem<?,?> addCatalogEntry(Class<?> c) { if (Application.class.isAssignableFrom(c)) return addCatalogEntry(new CatalogTemplateItemDto(), c); - if (ApplicationBuilder.class.isAssignableFrom(c)) return addCatalogEntry(new CatalogTemplateItemDto(), c); if (Entity.class.isAssignableFrom(c)) return addCatalogEntry(new CatalogEntityItemDto(), c); if (Policy.class.isAssignableFrom(c)) return addCatalogEntry(new CatalogPolicyItemDto(), c); if (Enricher.class.isAssignableFrom(c)) return addCatalogEntry(new CatalogEnricherItemDto(), c); http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/52f9ebdd/core/src/main/java/org/apache/brooklyn/core/entity/factory/ApplicationBuilder.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/brooklyn/core/entity/factory/ApplicationBuilder.java b/core/src/main/java/org/apache/brooklyn/core/entity/factory/ApplicationBuilder.java deleted file mode 100644 index 281be2b..0000000 --- a/core/src/main/java/org/apache/brooklyn/core/entity/factory/ApplicationBuilder.java +++ /dev/null @@ -1,250 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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 org.apache.brooklyn.core.entity.factory; - -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Map; -import java.util.concurrent.atomic.AtomicBoolean; - -import org.apache.brooklyn.api.entity.Entity; -import org.apache.brooklyn.api.entity.EntitySpec; -import org.apache.brooklyn.api.mgmt.EntityManager; -import org.apache.brooklyn.api.mgmt.ManagementContext; -import org.apache.brooklyn.core.entity.Entities; -import org.apache.brooklyn.core.entity.StartableApplication; -import org.apache.brooklyn.entity.stock.BasicApplication; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.google.common.annotations.Beta; - -/** - * Experimental mechanism for defining/building applications. In future releases, this - * API will change. Its concepts will most likely be merged with a TOSCA implementation - * and with {@link EntitySpec}. - * - * For building an application. Users can sub-class and override doBuild(), putting the logic for - * creating and wiring together entities in there. - * - * The builder is mutable; a given instance should be used to build only a single application. - * Once {@link #manage()} has been called, the application will be built and no additional configuration - * should be performed through this builder. - * - * Example (simplified) code for sub-classing is: - * <pre> - * {@code - * app = new ApplicationBuilder() { - * //@Override - * public void doBuild() { - * MySqlNode db = addChild(EntitySpec.create(MySqlNode.class))); - * JBoss7Server as = addChild(EntitySpec.create(JBoss7Server.class) - * .configure(HTTP_PORT, "8080+") - * .configure(javaSysProp("brooklyn.example.db.url"), attributeWhenReady(db, MySqlNode.MYSQL_URL)); - * } - * }.manage(); - * } - * </pre> - * - * @author aled - * - * @deprecated since 0.9.0; use {@link EntitySpec} and {@link EntityManager#createEntity(EntitySpec)}, having - * added the children to the spec etc. - */ -@Deprecated -@Beta -public abstract class ApplicationBuilder { - - @SuppressWarnings("unused") - private static final Logger LOG = LoggerFactory.getLogger(ApplicationBuilder.class); - - @SuppressWarnings("unchecked") - @Beta - /** @deprecated since 0.7.0 the management context should normally be passed in; - * for TestApplication also see TestApplication.Factory.newManagedInstanceForTests() */ - @Deprecated - public static <T extends StartableApplication> T newManagedApp(Class<T> type) { - if (type.isInterface()) { - return newManagedApp(EntitySpec.create(type)); - } else { - return (T) newManagedApp(EntitySpec.create(StartableApplication.class, type)); - } - } - - @SuppressWarnings("unchecked") - private static <T extends StartableApplication> T newManagedApp(EntitySpec<T> spec) { - return (T) new ApplicationBuilder(spec) { - @Override protected void doBuild() { - } - }.manage(); - } - - @SuppressWarnings("unchecked") - @Beta - public static <T extends StartableApplication> T newManagedApp(Class<T> type, ManagementContext managementContext) { - if (type.isInterface()) { - return newManagedApp(EntitySpec.create(type), managementContext); - } else { - return (T) newManagedApp(EntitySpec.create(StartableApplication.class, type), managementContext); - } - } - - /** @deprecated class can be removed; users of this convenience method can now simply do mgmt.getEntityManager().createEntity(spec) */ - @Deprecated - @SuppressWarnings("unchecked") - @Beta - public static <T extends StartableApplication> T newManagedApp(EntitySpec<T> spec, ManagementContext managementContext) { - return (T) new ApplicationBuilder(spec) { - @Override protected void doBuild() { - } - }.manage(managementContext); - } - - protected volatile boolean managed = false; - protected final AtomicBoolean inManage = new AtomicBoolean(false); - private EntitySpec<? extends StartableApplication> appSpec; - private ManagementContext managementContext; - private StartableApplication app; - - public ApplicationBuilder() { - this.appSpec = EntitySpec.create(BasicApplication.class); - } - - public ApplicationBuilder(EntitySpec<? extends StartableApplication> appSpec) { - this.appSpec = EntitySpec.create(appSpec); - } - - public final ApplicationBuilder appDisplayName(String val) { - checkPreManage(); - appSpec.displayName(val); - return this; - } - - protected final <T extends Entity> T createEntity(EntitySpec<T> spec) { - checkDuringManage(); - EntityManager entityManager = managementContext.getEntityManager(); - return entityManager.createEntity(spec); - } - - /** - * Adds the given entity as a child of the application being built. - * To be called during {@link #doBuild()}. - */ - protected final <T extends Entity> T addChild(T entity) { - checkDuringManage(); - return app.addChild(entity); - } - - /** - * Returns the type of the application being built. - */ - public final Class<? extends StartableApplication> getType() { - return appSpec.getType(); - } - - /** - * Configures the application instance. - */ - public final ApplicationBuilder configure(Map<?,?> config) { - checkPreManage(); - appSpec.configure(config); - return this; - } - - /** - * Adds the given entity as a child of the application being built. - */ - protected final <T extends Entity> T addChild(EntitySpec<T> spec) { - checkDuringManage(); - return addChild(createEntity(spec)); - } - - protected final <T extends Entity> T addChild(Map<?,?> config, Class<T> type) { - checkDuringManage(); - EntitySpec<T> spec = EntitySpec.create(type).configure(config); - return addChild(createEntity(spec)); - } - - protected final ManagementContext getManagementContext() { - return checkNotNull(managementContext, "must only be called after manage()"); - } - - protected final StartableApplication getApp() { - return checkNotNull(app, "must only be called after manage()"); - } - - /** - * For overriding, to create and wire together entities. - */ - protected abstract void doBuild(); - - /** - * Creates a new {@link ManagementContext}, and then builds and manages the application. - * - * @see #manage(ManagementContext) - */ - public final StartableApplication manage() { - return manage(Entities.newManagementContext()); - } - - /** - * Builds and manages the application, calling the user's {@link #doBuild()} method. - * - * @throws IllegalStateException If already managed, or if called during {@link #doBuild()}, or if - * multiple concurrent calls - */ - public final StartableApplication manage(ManagementContext managementContext) { - if (!inManage.compareAndSet(false, true)) { - throw new IllegalStateException("Concurrent and re-entrant calls to manage() forbidden on "+this); - } - try { - checkNotManaged(); - this.managementContext = managementContext; - this.app = managementContext.getEntityManager().createEntity(appSpec); - doBuild(); - // not needed with 0.9.0 (TODO - remove when confirmed) -// Entities.startManagement(app, managementContext); - managed = true; - return app; - } finally { - inManage.set(false); - } - } - - protected void checkPreManage() { - if (inManage.get()) { - throw new IllegalStateException("Builder being managed; cannot perform operation during call to manage(), or in doBuild()"); - } - if (managed) { - throw new IllegalStateException("Builder already managed; cannot perform operation after call to manage()"); - } - } - - protected void checkNotManaged() { - if (managed) { - throw new IllegalStateException("Builder already managed; cannot perform operation after call to manage()"); - } - } - - protected void checkDuringManage() { - if (!inManage.get() || app == null) { - throw new IllegalStateException("Operation only permitted during manage, e.g. called from doBuild() of "+this); - } - } -} http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/52f9ebdd/core/src/test/java/org/apache/brooklyn/core/catalog/internal/MyCatalogItems.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/catalog/internal/MyCatalogItems.java b/core/src/test/java/org/apache/brooklyn/core/catalog/internal/MyCatalogItems.java index 9bd108b..b940928 100644 --- a/core/src/test/java/org/apache/brooklyn/core/catalog/internal/MyCatalogItems.java +++ b/core/src/test/java/org/apache/brooklyn/core/catalog/internal/MyCatalogItems.java @@ -20,17 +20,10 @@ package org.apache.brooklyn.core.catalog.internal; import org.apache.brooklyn.api.catalog.Catalog; import org.apache.brooklyn.core.entity.AbstractApplication; -import org.apache.brooklyn.core.entity.factory.ApplicationBuilder; public class MyCatalogItems { @Catalog(description="Some silly app test") public static class MySillyAppTemplate extends AbstractApplication { } - - @Catalog(description="Some silly app builder test") - public static class MySillyAppBuilderTemplate extends ApplicationBuilder { - @Override protected void doBuild() { - } - } } http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/52f9ebdd/core/src/test/java/org/apache/brooklyn/core/entity/EntityNameTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/entity/EntityNameTest.java b/core/src/test/java/org/apache/brooklyn/core/entity/EntityNameTest.java index ca94807..e5ca898 100644 --- a/core/src/test/java/org/apache/brooklyn/core/entity/EntityNameTest.java +++ b/core/src/test/java/org/apache/brooklyn/core/entity/EntityNameTest.java @@ -20,11 +20,9 @@ package org.apache.brooklyn.core.entity; import static org.testng.Assert.assertEquals; -import com.google.common.collect.Iterables; import org.apache.brooklyn.api.entity.Entity; import org.apache.brooklyn.api.entity.EntitySpec; import org.apache.brooklyn.config.ConfigKey; -import org.apache.brooklyn.core.entity.factory.ApplicationBuilder; import org.apache.brooklyn.core.test.BrooklynAppUnitTestSupport; import org.apache.brooklyn.core.test.entity.TestApplication; import org.apache.brooklyn.core.test.entity.TestEntity; @@ -32,6 +30,8 @@ import org.apache.brooklyn.entity.stock.BasicApplication; import org.apache.brooklyn.util.core.task.DeferredSupplier; import org.testng.annotations.Test; +import com.google.common.collect.Iterables; + public class EntityNameTest extends BrooklynAppUnitTestSupport { @Test @@ -78,7 +78,7 @@ public class EntityNameTest extends BrooklynAppUnitTestSupport { public void testAppUsesDefaultDisplayName() { EntitySpec<TestApplication> appSpec = EntitySpec.create(TestApplication.class) .configure(AbstractApplication.DEFAULT_DISPLAY_NAME, "myDefaultName"); - TestApplication app2 = ApplicationBuilder.newManagedApp(appSpec, mgmt); + TestApplication app2 = mgmt.getEntityManager().createEntity(EntitySpec.create(appSpec)); assertEquals(app2.getDisplayName(), "myDefaultName"); } @@ -87,7 +87,7 @@ public class EntityNameTest extends BrooklynAppUnitTestSupport { public void testAppUsesEntityName() { EntitySpec<BasicApplication> appSpec = EntitySpec.create(BasicApplication.class) .configure(AbstractApplication.DEFAULT_DISPLAY_NAME, "myDefaultName").child(EntitySpec.create(TestApplication.class)); - BasicApplication app2 = ApplicationBuilder.newManagedApp(appSpec, mgmt); + BasicApplication app2 = mgmt.getEntityManager().createEntity(EntitySpec.create(appSpec)); assertEquals(app2.getDisplayName(), "myDefaultName"); Entity childEntity = Iterables.getFirst(app2.getChildren(), null); @@ -99,7 +99,7 @@ public class EntityNameTest extends BrooklynAppUnitTestSupport { EntitySpec<TestApplication> appSpec = EntitySpec.create(TestApplication.class) .displayName("myName") .configure(AbstractApplication.DEFAULT_DISPLAY_NAME, "myDefaultName"); - TestApplication app2 = ApplicationBuilder.newManagedApp(appSpec, mgmt); + TestApplication app2 = mgmt.getEntityManager().createEntity(EntitySpec.create(appSpec)); assertEquals(app2.getDisplayName(), "myName"); } http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/52f9ebdd/core/src/test/java/org/apache/brooklyn/core/entity/drivers/downloads/BasicDownloadsRegistryTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/entity/drivers/downloads/BasicDownloadsRegistryTest.java b/core/src/test/java/org/apache/brooklyn/core/entity/drivers/downloads/BasicDownloadsRegistryTest.java index f2bf364..48f95b4 100644 --- a/core/src/test/java/org/apache/brooklyn/core/entity/drivers/downloads/BasicDownloadsRegistryTest.java +++ b/core/src/test/java/org/apache/brooklyn/core/entity/drivers/downloads/BasicDownloadsRegistryTest.java @@ -26,45 +26,30 @@ import org.apache.brooklyn.api.entity.drivers.downloads.DownloadResolver; import org.apache.brooklyn.api.location.Location; import org.apache.brooklyn.core.entity.Attributes; import org.apache.brooklyn.core.entity.BrooklynConfigKeys; -import org.apache.brooklyn.core.entity.Entities; -import org.apache.brooklyn.core.entity.factory.ApplicationBuilder; import org.apache.brooklyn.core.internal.BrooklynProperties; -import org.apache.brooklyn.core.location.SimulatedLocation; -import org.apache.brooklyn.core.mgmt.internal.LocalManagementContext; -import org.apache.brooklyn.core.test.entity.TestApplication; +import org.apache.brooklyn.core.test.BrooklynAppUnitTestSupport; import org.apache.brooklyn.core.test.entity.TestEntity; -import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; -public class BasicDownloadsRegistryTest { +public class BasicDownloadsRegistryTest extends BrooklynAppUnitTestSupport { - private BrooklynProperties brooklynProperties; - private LocalManagementContext managementContext; private Location loc; - private TestApplication app; private TestEntity entity; private MyEntityDriver driver; @BeforeMethod(alwaysRun=true) + @Override public void setUp() throws Exception { - brooklynProperties = BrooklynProperties.Factory.newEmpty(); - managementContext = new LocalManagementContext(brooklynProperties); - loc = new SimulatedLocation(); - app = ApplicationBuilder.newManagedApp(TestApplication.class, managementContext); + super.setUp(); + loc = app.newSimulatedLocation(); entity = app.createAndManageChild(EntitySpec.create(TestEntity.class)); driver = new MyEntityDriver(entity, loc); - } - @AfterMethod(alwaysRun=true) - public void tearDown() throws Exception { - if (app != null) Entities.destroyAll(app.getManagementContext()); - } - @Test public void testUsesDownloadUrlAttribute() throws Exception { entity.config().set(BrooklynConfigKeys.SUGGESTED_VERSION, "myversion"); @@ -86,7 +71,7 @@ public class BasicDownloadsRegistryTest { String expectedLocalRepo = String.format("file://$HOME/.brooklyn/repository/%s/%s/%s", "TestEntity", "myentityversion", expectedFilename); String expectedDownloadUrl = String.format("acme.com/%s", expectedFilename); String expectedCloudsoftRepo = String.format("http://downloads.cloudsoftcorp.com/brooklyn/repository/%s/%s/%s", "TestEntity", "myentityversion", expectedFilename); - DownloadResolver actual = managementContext.getEntityDownloadsManager().newDownloader(driver, "myaddon", ImmutableMap.of("addonversion", "myaddonversion")); + DownloadResolver actual = mgmt.getEntityDownloadsManager().newDownloader(driver, "myaddon", ImmutableMap.of("addonversion", "myaddonversion")); assertEquals(actual.getTargets(), ImmutableList.of(expectedLocalRepo, expectedDownloadUrl, expectedCloudsoftRepo), "actual="+actual); } @@ -94,7 +79,7 @@ public class BasicDownloadsRegistryTest { public void testDefaultResolverSubstitutesDownloadUrlFailsIfVersionMissing() throws Exception { entity.sensors().set(Attributes.DOWNLOAD_URL, "version=${version}"); try { - DownloadResolver result = managementContext.getEntityDownloadsManager().newDownloader(driver); + DownloadResolver result = mgmt.getEntityDownloadsManager().newDownloader(driver); fail("Should have failed, but got "+result); } catch (IllegalArgumentException e) { if (!e.toString().contains("${version}")) throw e; @@ -103,7 +88,7 @@ public class BasicDownloadsRegistryTest { @Test public void testReturnsLocalRepoThenOverrideThenAttributeValThenCloudsoftUrlThenFallback() throws Exception { - BrooklynProperties managementProperties = managementContext.getBrooklynProperties(); + BrooklynProperties managementProperties = mgmt.getBrooklynProperties(); managementProperties.put("brooklyn.downloads.all.url", "http://fromprops/${version}.allprimary"); managementProperties.put("brooklyn.downloads.all.fallbackurl", "http://fromfallback/${version}.allfallback"); entity.sensors().set(Attributes.DOWNLOAD_URL, "http://fromattrib/${version}.default"); @@ -126,7 +111,7 @@ public class BasicDownloadsRegistryTest { entity.config().set(BrooklynConfigKeys.SUGGESTED_VERSION, "myversion"); entity.sensors().set(Attributes.DOWNLOAD_URL, "http://myhost.com/myfile-${version}.tar.gz"); - DownloadResolver actual = managementContext.getEntityDownloadsManager().newDownloader(driver); + DownloadResolver actual = mgmt.getEntityDownloadsManager().newDownloader(driver); assertEquals(actual.getFilename(), "myfile-myversion.tar.gz"); } @@ -135,7 +120,7 @@ public class BasicDownloadsRegistryTest { entity.config().set(BrooklynConfigKeys.SUGGESTED_VERSION, "myversion"); entity.sensors().set(Attributes.DOWNLOAD_ADDON_URLS, ImmutableMap.of("myaddon", "http://myhost.com/myfile-${addonversion}.tar.gz")); - DownloadResolver actual = managementContext.getEntityDownloadsManager().newDownloader(driver, "myaddon", ImmutableMap.of("addonversion", "myaddonversion")); + DownloadResolver actual = mgmt.getEntityDownloadsManager().newDownloader(driver, "myaddon", ImmutableMap.of("addonversion", "myaddonversion")); assertEquals(actual.getFilename(), "myfile-myaddonversion.tar.gz"); } @@ -144,12 +129,12 @@ public class BasicDownloadsRegistryTest { entity.config().set(BrooklynConfigKeys.SUGGESTED_VERSION, "myversion"); entity.sensors().set(Attributes.DOWNLOAD_URL, "http://myhost.com/download/"); - DownloadResolver actual = managementContext.getEntityDownloadsManager().newDownloader(driver, ImmutableMap.of("filename", "overridden.filename.tar.gz")); + DownloadResolver actual = mgmt.getEntityDownloadsManager().newDownloader(driver, ImmutableMap.of("filename", "overridden.filename.tar.gz")); assertEquals(actual.getFilename(), "overridden.filename.tar.gz"); } private void assertResolves(String... expected) { - DownloadResolver actual = managementContext.getEntityDownloadsManager().newDownloader(driver); + DownloadResolver actual = mgmt.getEntityDownloadsManager().newDownloader(driver); assertEquals(actual.getTargets(), ImmutableList.copyOf(expected), "actual="+actual); } } http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/52f9ebdd/core/src/test/java/org/apache/brooklyn/core/entity/drivers/downloads/DownloadProducerFromLocalRepoTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/entity/drivers/downloads/DownloadProducerFromLocalRepoTest.java b/core/src/test/java/org/apache/brooklyn/core/entity/drivers/downloads/DownloadProducerFromLocalRepoTest.java index ac3e955..77e0206 100644 --- a/core/src/test/java/org/apache/brooklyn/core/entity/drivers/downloads/DownloadProducerFromLocalRepoTest.java +++ b/core/src/test/java/org/apache/brooklyn/core/entity/drivers/downloads/DownloadProducerFromLocalRepoTest.java @@ -27,40 +27,31 @@ import org.apache.brooklyn.api.entity.drivers.downloads.DownloadResolverManager. import org.apache.brooklyn.api.entity.drivers.downloads.DownloadResolverManager.DownloadTargets; import org.apache.brooklyn.api.location.Location; import org.apache.brooklyn.core.entity.BrooklynConfigKeys; -import org.apache.brooklyn.core.entity.Entities; -import org.apache.brooklyn.core.entity.drivers.downloads.BasicDownloadRequirement; -import org.apache.brooklyn.core.entity.drivers.downloads.DownloadProducerFromLocalRepo; -import org.apache.brooklyn.core.entity.factory.ApplicationBuilder; import org.apache.brooklyn.core.internal.BrooklynProperties; -import org.apache.brooklyn.core.location.SimulatedLocation; -import org.apache.brooklyn.core.mgmt.internal.LocalManagementContext; -import org.apache.brooklyn.core.test.entity.TestApplication; +import org.apache.brooklyn.core.test.BrooklynAppUnitTestSupport; import org.apache.brooklyn.core.test.entity.TestEntity; -import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; -public class DownloadProducerFromLocalRepoTest { +public class DownloadProducerFromLocalRepoTest extends BrooklynAppUnitTestSupport { private BrooklynProperties brooklynProperties; - private LocalManagementContext managementContext; private Location loc; - private TestApplication app; private TestEntity entity; private MyEntityDriver driver; private String entitySimpleType; private DownloadProducerFromLocalRepo resolver; @BeforeMethod(alwaysRun=true) + @Override public void setUp() throws Exception { - brooklynProperties = BrooklynProperties.Factory.newEmpty(); - managementContext = new LocalManagementContext(brooklynProperties); + super.setUp(); + brooklynProperties = mgmt.getBrooklynProperties(); - loc = new SimulatedLocation(); - app = ApplicationBuilder.newManagedApp(TestApplication.class, managementContext); + loc = app.newSimulatedLocation(); entity = app.createAndManageChild(EntitySpec.create(TestEntity.class)); driver = new MyEntityDriver(entity, loc); entitySimpleType = TestEntity.class.getSimpleName(); @@ -68,11 +59,6 @@ public class DownloadProducerFromLocalRepoTest { resolver = new DownloadProducerFromLocalRepo(brooklynProperties); } - @AfterMethod(alwaysRun=true) - public void tearDown() throws Exception { - if (app != null) Entities.destroyAll(app.getManagementContext()); - } - @Test public void testReturnsEmptyWhenDisabled() throws Exception { brooklynProperties.put(DownloadProducerFromLocalRepo.LOCAL_REPO_ENABLED, false); http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/52f9ebdd/core/src/test/java/org/apache/brooklyn/core/entity/drivers/downloads/DownloadProducerFromPropertiesTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/entity/drivers/downloads/DownloadProducerFromPropertiesTest.java b/core/src/test/java/org/apache/brooklyn/core/entity/drivers/downloads/DownloadProducerFromPropertiesTest.java index b0be66d..3c645b9 100644 --- a/core/src/test/java/org/apache/brooklyn/core/entity/drivers/downloads/DownloadProducerFromPropertiesTest.java +++ b/core/src/test/java/org/apache/brooklyn/core/entity/drivers/downloads/DownloadProducerFromPropertiesTest.java @@ -27,52 +27,43 @@ import org.apache.brooklyn.api.entity.drivers.downloads.DownloadResolverManager. import org.apache.brooklyn.api.entity.drivers.downloads.DownloadResolverManager.DownloadTargets; import org.apache.brooklyn.api.location.Location; import org.apache.brooklyn.core.entity.BrooklynConfigKeys; -import org.apache.brooklyn.core.entity.Entities; -import org.apache.brooklyn.core.entity.drivers.downloads.BasicDownloadRequirement; -import org.apache.brooklyn.core.entity.drivers.downloads.DownloadProducerFromLocalRepo; -import org.apache.brooklyn.core.entity.drivers.downloads.DownloadProducerFromProperties; -import org.apache.brooklyn.core.entity.factory.ApplicationBuilder; import org.apache.brooklyn.core.internal.BrooklynProperties; -import org.apache.brooklyn.core.location.SimulatedLocation; -import org.apache.brooklyn.core.mgmt.internal.LocalManagementContext; -import org.apache.brooklyn.core.test.entity.TestApplication; +import org.apache.brooklyn.core.test.BrooklynAppUnitTestSupport; import org.apache.brooklyn.core.test.entity.TestEntity; -import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; -public class DownloadProducerFromPropertiesTest { +public class DownloadProducerFromPropertiesTest extends BrooklynAppUnitTestSupport { private BrooklynProperties brooklynProperties; - private LocalManagementContext managementContext; private Location loc; - private TestApplication app; private TestEntity entity; private MyEntityDriver driver; private DownloadProducerFromProperties resolver; @BeforeMethod(alwaysRun=true) + @Override public void setUp() throws Exception { - brooklynProperties = BrooklynProperties.Factory.newEmpty(); - brooklynProperties.put(DownloadProducerFromLocalRepo.LOCAL_REPO_ENABLED, false); - managementContext = new LocalManagementContext(brooklynProperties); + super.setUp(); - loc = new SimulatedLocation(); - app = ApplicationBuilder.newManagedApp(TestApplication.class, managementContext); + brooklynProperties = mgmt.getBrooklynProperties(); + loc = app.newSimulatedLocation(); entity = app.createAndManageChild(EntitySpec.create(TestEntity.class)); driver = new MyEntityDriver(entity, loc); resolver = new DownloadProducerFromProperties(brooklynProperties); } - @AfterMethod(alwaysRun=true) - public void tearDown() throws Exception { - if (app != null) Entities.destroyAll(app.getManagementContext()); + @Override + protected BrooklynProperties getBrooklynProperties() { + BrooklynProperties result = BrooklynProperties.Factory.newEmpty(); + result.put(DownloadProducerFromLocalRepo.LOCAL_REPO_ENABLED, false); + return result; } - + @Test public void testReturnsEmptyWhenEmpty() throws Exception { assertResolves(ImmutableList.<String>of(), ImmutableList.<String>of()); http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/52f9ebdd/core/src/test/java/org/apache/brooklyn/core/entity/proxying/ApplicationBuilderOverridingTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/entity/proxying/ApplicationBuilderOverridingTest.java b/core/src/test/java/org/apache/brooklyn/core/entity/proxying/ApplicationBuilderOverridingTest.java deleted file mode 100644 index c00d33b..0000000 --- a/core/src/test/java/org/apache/brooklyn/core/entity/proxying/ApplicationBuilderOverridingTest.java +++ /dev/null @@ -1,249 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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 org.apache.brooklyn.core.entity.proxying; - -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertFalse; -import static org.testng.Assert.assertTrue; -import static org.testng.Assert.fail; - -import java.util.concurrent.Callable; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.Future; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicReference; - -import org.apache.brooklyn.api.entity.Application; -import org.apache.brooklyn.api.entity.Entity; -import org.apache.brooklyn.api.entity.EntitySpec; -import org.apache.brooklyn.api.mgmt.ManagementContext; -import org.apache.brooklyn.core.entity.AbstractEntity; -import org.apache.brooklyn.core.entity.Entities; -import org.apache.brooklyn.core.entity.EntityInternal; -import org.apache.brooklyn.core.entity.StartableApplication; -import org.apache.brooklyn.core.entity.factory.ApplicationBuilder; -import org.apache.brooklyn.core.objs.proxy.EntityProxy; -import org.apache.brooklyn.core.test.entity.LocalManagementContextForTests; -import org.apache.brooklyn.core.test.entity.TestApplication; -import org.apache.brooklyn.core.test.entity.TestEntity; -import org.apache.brooklyn.entity.stock.BasicApplication; -import org.apache.brooklyn.util.exceptions.Exceptions; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.testng.annotations.AfterMethod; -import org.testng.annotations.BeforeMethod; -import org.testng.annotations.Test; - -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Iterables; - -public class ApplicationBuilderOverridingTest { - - private static final Logger LOG = LoggerFactory.getLogger(ApplicationBuilderOverridingTest.class); - - private static final long TIMEOUT_MS = 10*1000; - - private ManagementContext spareManagementContext; - private Application app; - private ExecutorService executor; - - @BeforeMethod(alwaysRun=true) - public void setUp() throws Exception { - spareManagementContext = LocalManagementContextForTests.newInstance(); - executor = Executors.newCachedThreadPool(); - } - - @AfterMethod(alwaysRun=true) - public void tearDown() { - if (app != null) Entities.destroyAll(app.getManagementContext()); - app = null; - if (spareManagementContext != null) Entities.destroyAll(spareManagementContext); - spareManagementContext = null; - } - - @Test - public void testUsesDefaultBasicApplicationClass() { - app = new ApplicationBuilder() { - @Override public void doBuild() {} - }.manage(); - - assertEquals(app.getEntityType().getName(), BasicApplication.class.getCanonicalName()); - assertIsProxy(app); - } - - @Test - public void testUsesSuppliedApplicationClass() { - app = new ApplicationBuilder(EntitySpec.create(TestApplication.class)) { - @Override public void doBuild() {} - }.manage(); - - assertEquals(app.getEntityType().getName(), TestApplication.class.getName()); - } - - @Test - public void testUsesSuppliedManagementContext() { - app = new ApplicationBuilder() { - @Override public void doBuild() {} - }.manage(spareManagementContext); - - assertEquals(app.getManagementContext(), spareManagementContext); - } - - @Test - public void testCreatesChildEntity() { - final AtomicReference<TestEntity> expectedChild = new AtomicReference<TestEntity>(); - app = new ApplicationBuilder() { - @Override public void doBuild() { - expectedChild.set(addChild(EntitySpec.create(TestEntity.class))); - } - }.manage(); - - assertIsProxy(expectedChild.get()); - assertEquals(ImmutableSet.copyOf(app.getChildren()), ImmutableSet.of(expectedChild.get())); - assertEquals(expectedChild.get().getParent(), app); - } - - @Test(enabled=false) - public void testAppHierarchyIsManaged() { - app = new ApplicationBuilder() { - @Override public void doBuild() { - Entity entity = addChild(EntitySpec.create(TestEntity.class)); - } - }.manage(); - - assertIsManaged(app); - assertIsManaged(Iterables.get(app.getChildren(), 0)); - } - - // TODO Can't assert the child added in doBuild is unmanaged - @Test(enabled=false) - public void testEntityAddedInDoBuildIsUnmanagedUntilAppIsManaged() { - app = new ApplicationBuilder() { - @Override public void doBuild() { - Entity entity = addChild(EntitySpec.create(TestEntity.class)); - assertFalse(getManagementContext().getEntityManager().isManaged(entity)); - } - }.manage(); - - assertIsManaged(app); - assertIsManaged(Iterables.get(app.getChildren(), 0)); - } - - @Test(expectedExceptions=IllegalStateException.class) - public void testRentrantCallToManageForbidden() { - ManagementContext secondManagementContext = LocalManagementContextForTests.newInstance(); - try { - app = new ApplicationBuilder() { - @Override public void doBuild() { - manage(spareManagementContext); - } - }.manage(secondManagementContext); - } finally { - Entities.destroyAll(secondManagementContext); - } - } - - @Test(expectedExceptions=IllegalStateException.class) - public void testMultipleCallsToManageForbidden() { - ApplicationBuilder appBuilder = new ApplicationBuilder() { - @Override public void doBuild() { - } - }; - app = appBuilder.manage(); - - appBuilder.manage(spareManagementContext); - } - - @Test(expectedExceptions=IllegalStateException.class) - public void testCallToConfigureAfterManageForbidden() { - ApplicationBuilder appBuilder = new ApplicationBuilder() { - @Override public void doBuild() { - } - }; - app = appBuilder.manage(); - appBuilder.configure(ImmutableMap.of()); - } - - @Test(expectedExceptions=IllegalStateException.class) - public void testCallToSetDisplayNameAfterManageForbidden() { - ApplicationBuilder appBuilder = new ApplicationBuilder() { - @Override public void doBuild() { - } - }; - app = appBuilder.manage(spareManagementContext); - appBuilder.appDisplayName("myname"); - } - - @Test - public void testConcurrentCallToManageForbidden() throws Exception { - final AtomicReference<Throwable> err = new AtomicReference<Throwable>(); - final CountDownLatch inbuildLatch = new CountDownLatch(1); - final CountDownLatch continueLatch = new CountDownLatch(1); - final ApplicationBuilder builder = new ApplicationBuilder() { - @Override public void doBuild() { - inbuildLatch.countDown(); - try { - assertTrue(continueLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS)); - } catch (InterruptedException e) { - throw Exceptions.propagate(e); - } - } - }; - Future<StartableApplication> future = executor.submit(new Callable<StartableApplication>() { - @Override - public StartableApplication call() { - try { - return builder.manage(); - } catch (Throwable t) { - LOG.error("Problem in simple ApplicationBuilder", t); - err.set(t); - inbuildLatch.countDown(); - throw Exceptions.propagate(t); - } - } - }); - - inbuildLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS); - if (err.get() != null) { - throw Exceptions.propagate(err.get()); - } - - try { - app = builder.manage(spareManagementContext); - fail(); - } catch (IllegalStateException e) { - // expected - } - - continueLatch.countDown(); - app = future.get(TIMEOUT_MS, TimeUnit.MILLISECONDS); - } - - private void assertIsProxy(Entity e) { - assertFalse(e instanceof AbstractEntity, "e="+e+";e.class="+e.getClass()); - assertTrue(e instanceof EntityProxy, "e="+e+";e.class="+e.getClass()); - } - - private void assertIsManaged(Entity e) { - assertTrue(((EntityInternal)e).getManagementSupport().isDeployed(), "e="+e); - } -} http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/52f9ebdd/core/src/test/java/org/apache/brooklyn/core/entity/proxying/EntityManagerTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/entity/proxying/EntityManagerTest.java b/core/src/test/java/org/apache/brooklyn/core/entity/proxying/EntityManagerTest.java index 903a15a..976beda 100644 --- a/core/src/test/java/org/apache/brooklyn/core/entity/proxying/EntityManagerTest.java +++ b/core/src/test/java/org/apache/brooklyn/core/entity/proxying/EntityManagerTest.java @@ -33,7 +33,6 @@ import java.util.concurrent.atomic.AtomicBoolean; import org.apache.brooklyn.api.entity.EntitySpec; import org.apache.brooklyn.api.mgmt.EntityManager; import org.apache.brooklyn.core.entity.Entities; -import org.apache.brooklyn.core.entity.factory.ApplicationBuilder; import org.apache.brooklyn.core.mgmt.internal.LocalEntityManager; import org.apache.brooklyn.core.objs.proxy.EntityProxy; import org.apache.brooklyn.core.test.BrooklynAppUnitTestSupport; @@ -105,7 +104,7 @@ public class EntityManagerTest extends BrooklynAppUnitTestSupport { @Test public void testGetEntities() { - TestApplication app2 = ApplicationBuilder.newManagedApp(TestApplication.class, mgmt); + TestApplication app2 = mgmt.getEntityManager().createEntity(EntitySpec.create(TestApplication.class)); TestEntity entity = app.createAndManageChild(EntitySpec.create(TestEntity.class)); TestEntity child = entity.createAndManageChild(EntitySpec.create(TestEntity.class)); http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/52f9ebdd/core/src/test/java/org/apache/brooklyn/core/entity/proxying/EntityProxyTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/entity/proxying/EntityProxyTest.java b/core/src/test/java/org/apache/brooklyn/core/entity/proxying/EntityProxyTest.java index 48e2460..babb4a9 100644 --- a/core/src/test/java/org/apache/brooklyn/core/entity/proxying/EntityProxyTest.java +++ b/core/src/test/java/org/apache/brooklyn/core/entity/proxying/EntityProxyTest.java @@ -31,9 +31,6 @@ import org.apache.brooklyn.api.entity.EntitySpec; import org.apache.brooklyn.api.mgmt.EntityManager; import org.apache.brooklyn.api.mgmt.Task; import org.apache.brooklyn.core.entity.AbstractEntity; -import org.apache.brooklyn.core.entity.Entities; -import org.apache.brooklyn.core.entity.StartableApplication; -import org.apache.brooklyn.core.entity.factory.ApplicationBuilder; import org.apache.brooklyn.core.mgmt.BrooklynTaskTags; import org.apache.brooklyn.core.mgmt.internal.ManagementContextInternal; import org.apache.brooklyn.core.objs.proxy.EntityProxy; @@ -147,23 +144,6 @@ public class EntityProxyTest extends BrooklynAppUnitTestSupport { assertEquals(entity2.getConfig(TestEntity.CONF_NAME), "baz"); } - @Test - public void testCreateInAppWithClassAndMap() { - StartableApplication app2 = null; - try { - ApplicationBuilder appB = new ApplicationBuilder() { - @Override - protected void doBuild() { - addChild(MutableMap.of("confName", "faz"), TestEntity.class); - } - }; - app2 = appB.manage(); - assertEquals(Iterables.getOnlyElement(app2.getChildren()).getConfig(TestEntity.CONF_NAME), "faz"); - } finally { - if (app2 != null) Entities.destroyAll(app2.getManagementContext()); - } - } - private void assertIsProxy(Entity e) { assertFalse(e instanceof AbstractEntity, "e="+e+";e.class="+(e != null ? e.getClass() : null)); assertTrue(e instanceof EntityProxy, "e="+e+";e.class="+(e != null ? e.getClass() : null)); http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/52f9ebdd/core/src/test/java/org/apache/brooklyn/core/location/cloud/CloudMachineNamerTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/location/cloud/CloudMachineNamerTest.java b/core/src/test/java/org/apache/brooklyn/core/location/cloud/CloudMachineNamerTest.java index 0759114..d6504a0 100644 --- a/core/src/test/java/org/apache/brooklyn/core/location/cloud/CloudMachineNamerTest.java +++ b/core/src/test/java/org/apache/brooklyn/core/location/cloud/CloudMachineNamerTest.java @@ -22,13 +22,10 @@ import static org.testng.Assert.assertFalse; import static org.testng.Assert.assertTrue; import org.apache.brooklyn.api.entity.EntitySpec; -import org.apache.brooklyn.core.entity.Entities; -import org.apache.brooklyn.core.entity.factory.ApplicationBuilder; -import org.apache.brooklyn.core.location.cloud.CloudLocationConfig; import org.apache.brooklyn.core.location.cloud.names.AbstractCloudMachineNamer; import org.apache.brooklyn.core.location.cloud.names.BasicCloudMachineNamer; import org.apache.brooklyn.core.location.cloud.names.CloudMachineNamer; -import org.apache.brooklyn.core.test.entity.LocalManagementContextForTests; +import org.apache.brooklyn.core.test.BrooklynMgmtUnitTestSupport; import org.apache.brooklyn.core.test.entity.TestApplication; import org.apache.brooklyn.core.test.entity.TestEntity; import org.apache.brooklyn.util.core.config.ConfigBag; @@ -36,22 +33,22 @@ import org.apache.brooklyn.util.text.Strings; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.testng.Assert; -import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; -public class CloudMachineNamerTest { + +public class CloudMachineNamerTest extends BrooklynMgmtUnitTestSupport { private static final Logger log = LoggerFactory.getLogger(CloudMachineNamerTest.class); - private TestApplication app; - - @AfterMethod(alwaysRun=true) - public void tearDown() throws Exception { - if (app != null) Entities.destroyAll(app.getManagementContext()); + @BeforeMethod(alwaysRun=true) + @Override + public void setUp() throws Exception { + super.setUp(); } @Test public void testGenerateGroupIdWithEntity() { - app = ApplicationBuilder.newManagedApp(EntitySpec.create(TestApplication.class).displayName("TistApp"), LocalManagementContextForTests.newInstance()); + TestApplication app = mgmt.getEntityManager().createEntity(EntitySpec.create(TestApplication.class).displayName("TistApp")); TestEntity child = app.createAndManageChild(EntitySpec.create(TestEntity.class).displayName("TestEnt")); ConfigBag cfg = new ConfigBag() @@ -73,7 +70,7 @@ public class CloudMachineNamerTest { @Test public void testGenerateNewMachineName() { - app = ApplicationBuilder.newManagedApp(EntitySpec.create(TestApplication.class).displayName("TistApp"), LocalManagementContextForTests.newInstance()); + TestApplication app = mgmt.getEntityManager().createEntity(EntitySpec.create(TestApplication.class).displayName("TistApp")); TestEntity child = app.createAndManageChild(EntitySpec.create(TestEntity.class).displayName("TestEnt")); ConfigBag cfg = new ConfigBag() @@ -92,7 +89,7 @@ public class CloudMachineNamerTest { @Test public void testGenerateNewMachineUniqueNameFromGroupId() { - app = ApplicationBuilder.newManagedApp(EntitySpec.create(TestApplication.class).displayName("TistApp"), LocalManagementContextForTests.newInstance()); + TestApplication app = mgmt.getEntityManager().createEntity(EntitySpec.create(TestApplication.class).displayName("TistApp")); TestEntity child = app.createAndManageChild(EntitySpec.create(TestEntity.class).displayName("TestEnt")); ConfigBag cfg = new ConfigBag() @@ -107,7 +104,7 @@ public class CloudMachineNamerTest { @Test public void testLengthMaxPermittedForMachineName() { - app = ApplicationBuilder.newManagedApp(EntitySpec.create(TestApplication.class).displayName("TistApp"), LocalManagementContextForTests.newInstance()); + TestApplication app = mgmt.getEntityManager().createEntity(EntitySpec.create(TestApplication.class).displayName("TistApp")); TestEntity child = app.createAndManageChild(EntitySpec.create(TestEntity.class).displayName("TestEnt")); ConfigBag cfg = new ConfigBag() @@ -124,7 +121,7 @@ public class CloudMachineNamerTest { @Test public void testLengthReservedForNameInGroup() { - app = ApplicationBuilder.newManagedApp(EntitySpec.create(TestApplication.class).displayName("TistApp"), LocalManagementContextForTests.newInstance()); + TestApplication app = mgmt.getEntityManager().createEntity(EntitySpec.create(TestApplication.class).displayName("TistApp")); TestEntity child = app.createAndManageChild(EntitySpec.create(TestEntity.class).displayName("TestEnt")); ConfigBag cfg = new ConfigBag() @@ -142,7 +139,7 @@ public class CloudMachineNamerTest { @Test public void testSanitizesNewMachineName() { - app = ApplicationBuilder.newManagedApp(EntitySpec.create(TestApplication.class).displayName("T_%$()\r\n\t[]*.!App"), LocalManagementContextForTests.newInstance()); + TestApplication app = mgmt.getEntityManager().createEntity(EntitySpec.create(TestApplication.class).displayName("T_%$()\r\n\t[]*.!App")); TestEntity child = app.createAndManageChild(EntitySpec.create(TestEntity.class).displayName("ent")); ConfigBag cfg = new ConfigBag() http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/52f9ebdd/core/src/test/java/org/apache/brooklyn/core/location/cloud/CustomMachineNamerTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/location/cloud/CustomMachineNamerTest.java b/core/src/test/java/org/apache/brooklyn/core/location/cloud/CustomMachineNamerTest.java index 7503ff2..b370dea 100644 --- a/core/src/test/java/org/apache/brooklyn/core/location/cloud/CustomMachineNamerTest.java +++ b/core/src/test/java/org/apache/brooklyn/core/location/cloud/CustomMachineNamerTest.java @@ -19,40 +19,30 @@ package org.apache.brooklyn.core.location.cloud; import org.apache.brooklyn.api.entity.EntitySpec; -import org.apache.brooklyn.core.entity.Entities; -import org.apache.brooklyn.core.entity.factory.ApplicationBuilder; -import org.apache.brooklyn.core.location.cloud.CloudLocationConfig; import org.apache.brooklyn.core.location.cloud.names.CustomMachineNamer; -import org.apache.brooklyn.core.test.entity.LocalManagementContextForTests; -import org.apache.brooklyn.core.test.entity.TestApplication; +import org.apache.brooklyn.core.test.BrooklynAppUnitTestSupport; import org.apache.brooklyn.core.test.entity.TestEntity; import org.apache.brooklyn.util.core.config.ConfigBag; import org.testng.Assert; -import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import com.google.common.collect.ImmutableMap; -public class CustomMachineNamerTest { +public class CustomMachineNamerTest extends BrooklynAppUnitTestSupport { - private TestApplication app; private TestEntity child; private ConfigBag config; @BeforeMethod(alwaysRun=true) - public void setUp() { - app = ApplicationBuilder.newManagedApp(EntitySpec.create(TestApplication.class).displayName("TestApp"), LocalManagementContextForTests.newInstance()); + @Override + public void setUp() throws Exception { + super.setUp(); child = app.createAndManageChild(EntitySpec.create(TestEntity.class).displayName("TestEnt")); config = new ConfigBag() .configure(CloudLocationConfig.CALLER_CONTEXT, child); } - @AfterMethod(alwaysRun=true) - public void tearDown() throws Exception { - if (app != null) Entities.destroyAll(app.getManagementContext()); - } - @Test public void testMachineNameNoConfig() { config.configure(CloudLocationConfig.CALLER_CONTEXT, child); http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/52f9ebdd/core/src/test/java/org/apache/brooklyn/core/mgmt/entitlement/AcmeEntitlementManagerTestFixture.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/mgmt/entitlement/AcmeEntitlementManagerTestFixture.java b/core/src/test/java/org/apache/brooklyn/core/mgmt/entitlement/AcmeEntitlementManagerTestFixture.java index 86dba94..cd596a5 100644 --- a/core/src/test/java/org/apache/brooklyn/core/mgmt/entitlement/AcmeEntitlementManagerTestFixture.java +++ b/core/src/test/java/org/apache/brooklyn/core/mgmt/entitlement/AcmeEntitlementManagerTestFixture.java @@ -26,11 +26,7 @@ import org.apache.brooklyn.api.entity.EntitySpec; import org.apache.brooklyn.api.location.Location; import org.apache.brooklyn.api.mgmt.ManagementContext; import org.apache.brooklyn.core.entity.Entities; -import org.apache.brooklyn.core.entity.factory.ApplicationBuilder; import org.apache.brooklyn.core.internal.BrooklynProperties; -import org.apache.brooklyn.core.mgmt.entitlement.Entitlements; -import org.apache.brooklyn.core.mgmt.entitlement.NotEntitledException; -import org.apache.brooklyn.core.mgmt.entitlement.WebEntitlementContext; import org.apache.brooklyn.core.mgmt.entitlement.Entitlements.EntityAndItem; import org.apache.brooklyn.core.mgmt.entitlement.Entitlements.StringAndArgument; import org.apache.brooklyn.core.test.entity.LocalManagementContextForTests; @@ -52,7 +48,7 @@ public abstract class AcmeEntitlementManagerTestFixture { public void setup(ConfigBag cfg) { mgmt = new LocalManagementContextForTests(BrooklynProperties.Factory.newEmpty().addFrom(cfg)); - app = ApplicationBuilder.newManagedApp(EntitySpec.create(BasicApplication.class), mgmt); + app = mgmt.getEntityManager().createEntity(EntitySpec.create(BasicApplication.class)); } @BeforeMethod(alwaysRun=true) http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/52f9ebdd/core/src/test/java/org/apache/brooklyn/core/mgmt/entitlement/EntitlementsTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/mgmt/entitlement/EntitlementsTest.java b/core/src/test/java/org/apache/brooklyn/core/mgmt/entitlement/EntitlementsTest.java index a22d45c..736d0b2 100644 --- a/core/src/test/java/org/apache/brooklyn/core/mgmt/entitlement/EntitlementsTest.java +++ b/core/src/test/java/org/apache/brooklyn/core/mgmt/entitlement/EntitlementsTest.java @@ -21,41 +21,14 @@ package org.apache.brooklyn.core.mgmt.entitlement; import static org.testng.Assert.assertFalse; import static org.testng.Assert.assertTrue; -import org.apache.brooklyn.api.entity.Application; -import org.apache.brooklyn.api.entity.EntitySpec; -import org.apache.brooklyn.api.mgmt.ManagementContext; import org.apache.brooklyn.api.mgmt.entitlement.EntitlementManager; -import org.apache.brooklyn.core.entity.Entities; -import org.apache.brooklyn.core.entity.factory.ApplicationBuilder; -import org.apache.brooklyn.core.internal.BrooklynProperties; -import org.apache.brooklyn.core.mgmt.entitlement.Entitlements; import org.apache.brooklyn.core.mgmt.entitlement.Entitlements.EntityAndItem; import org.apache.brooklyn.core.mgmt.entitlement.Entitlements.StringAndArgument; -import org.apache.brooklyn.core.test.entity.LocalManagementContextForTests; -import org.apache.brooklyn.entity.stock.BasicApplication; -import org.testng.annotations.AfterMethod; -import org.testng.annotations.BeforeMethod; +import org.apache.brooklyn.core.test.BrooklynAppUnitTestSupport; import org.testng.annotations.Test; @Test -public class EntitlementsTest { - - private ManagementContext mgmt; - private Application app; - - @BeforeMethod - public void setup() { - mgmt = new LocalManagementContextForTests(BrooklynProperties.Factory.newEmpty()); - app = ApplicationBuilder.newManagedApp(EntitySpec.create(BasicApplication.class), mgmt); - } - - @AfterMethod - public void tearDown() { - if (app != null) Entities.destroyAll(app.getManagementContext()); - if (mgmt != null) Entities.destroyAll(mgmt); - app = null; - mgmt = null; - } +public class EntitlementsTest extends BrooklynAppUnitTestSupport { // allowing public void testAllowingRoot() { http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/52f9ebdd/core/src/test/java/org/apache/brooklyn/core/mgmt/entitlement/EntityEntitlementTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/mgmt/entitlement/EntityEntitlementTest.java b/core/src/test/java/org/apache/brooklyn/core/mgmt/entitlement/EntityEntitlementTest.java index 6a0a8d0..20dec4d 100644 --- a/core/src/test/java/org/apache/brooklyn/core/mgmt/entitlement/EntityEntitlementTest.java +++ b/core/src/test/java/org/apache/brooklyn/core/mgmt/entitlement/EntityEntitlementTest.java @@ -23,10 +23,7 @@ import org.apache.brooklyn.api.entity.EntitySpec; import org.apache.brooklyn.api.location.Location; import org.apache.brooklyn.api.mgmt.ManagementContext; import org.apache.brooklyn.core.entity.Entities; -import org.apache.brooklyn.core.entity.factory.ApplicationBuilder; import org.apache.brooklyn.core.internal.BrooklynProperties; -import org.apache.brooklyn.core.mgmt.entitlement.Entitlements; -import org.apache.brooklyn.core.mgmt.entitlement.NotEntitledException; import org.apache.brooklyn.core.mgmt.entitlement.Entitlements.EntityAndItem; import org.apache.brooklyn.core.mgmt.entitlement.Entitlements.StringAndArgument; import org.apache.brooklyn.core.mgmt.internal.LocalManagementContext; @@ -51,7 +48,7 @@ public class EntityEntitlementTest { public void setup(ConfigBag cfg) { mgmt = new LocalManagementContextForTests(BrooklynProperties.Factory.newEmpty().addFrom(cfg)); - app = ApplicationBuilder.newManagedApp(EntitySpec.create(BasicApplication.class), mgmt); + app = mgmt.getEntityManager().createEntity(EntitySpec.create(BasicApplication.class)); } @AfterMethod(alwaysRun=true) http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/52f9ebdd/core/src/test/java/org/apache/brooklyn/core/mgmt/ha/HighAvailabilityManagerSplitBrainTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/mgmt/ha/HighAvailabilityManagerSplitBrainTest.java b/core/src/test/java/org/apache/brooklyn/core/mgmt/ha/HighAvailabilityManagerSplitBrainTest.java index c3657c6..3c486f3 100644 --- a/core/src/test/java/org/apache/brooklyn/core/mgmt/ha/HighAvailabilityManagerSplitBrainTest.java +++ b/core/src/test/java/org/apache/brooklyn/core/mgmt/ha/HighAvailabilityManagerSplitBrainTest.java @@ -36,7 +36,6 @@ import org.apache.brooklyn.api.mgmt.ha.ManagementPlaneSyncRecord; import org.apache.brooklyn.api.mgmt.ha.ManagementPlaneSyncRecordPersister; import org.apache.brooklyn.core.BrooklynFeatureEnablement; import org.apache.brooklyn.core.entity.Entities; -import org.apache.brooklyn.core.entity.factory.ApplicationBuilder; import org.apache.brooklyn.core.mgmt.ha.TestEntityFailingRebind.RebindException; import org.apache.brooklyn.core.mgmt.internal.ManagementContextInternal; import org.apache.brooklyn.core.mgmt.persist.BrooklynMementoPersisterToObjectStore; @@ -205,8 +204,8 @@ public class HighAvailabilityManagerSplitBrainTest { n2.ha.start(HighAvailabilityMode.AUTO); assertEquals(n1.ha.getNodeState(), ManagementNodeState.MASTER); - TestApplication app = ApplicationBuilder.newManagedApp( - EntitySpec.create(TestApplication.class).impl(TestEntityFailingRebind.class), n1.mgmt); + TestApplication app = n1.mgmt.getEntityManager().createEntity( + EntitySpec.create(TestApplication.class).impl(TestEntityFailingRebind.class)); app.start(ImmutableList.<Location>of()); n1.mgmt.getRebindManager().forcePersistNow(false, null); @@ -254,8 +253,8 @@ public class HighAvailabilityManagerSplitBrainTest { n1.ha.start(HighAvailabilityMode.AUTO); n2.ha.start(HighAvailabilityMode.AUTO); - TestApplication app = ApplicationBuilder.newManagedApp( - EntitySpec.create(TestApplication.class).impl(TestEntityFailingRebind.class), n1.mgmt); + TestApplication app = n1.mgmt.getEntityManager().createEntity( + EntitySpec.create(TestApplication.class).impl(TestEntityFailingRebind.class)); app.start(ImmutableList.<Location>of()); n1.mgmt.getRebindManager().forcePersistNow(false, null); @@ -323,7 +322,7 @@ public class HighAvailabilityManagerSplitBrainTest { assertEquals(n2.mgmt.getApplications().size(), 0); // create - TestApplication app = ApplicationBuilder.newManagedApp(EntitySpec.create(TestApplication.class), n1.mgmt); + TestApplication app = n1.mgmt.getEntityManager().createEntity(EntitySpec.create(TestApplication.class)); app.start(ImmutableList.<Location>of()); app.sensors().set(TestApplication.MY_ATTRIBUTE, "hello"); http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/52f9ebdd/core/src/test/java/org/apache/brooklyn/core/mgmt/internal/AccessManagerTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/mgmt/internal/AccessManagerTest.java b/core/src/test/java/org/apache/brooklyn/core/mgmt/internal/AccessManagerTest.java index d3ade7b..a8de731 100644 --- a/core/src/test/java/org/apache/brooklyn/core/mgmt/internal/AccessManagerTest.java +++ b/core/src/test/java/org/apache/brooklyn/core/mgmt/internal/AccessManagerTest.java @@ -26,36 +26,16 @@ import static org.testng.Assert.fail; import org.apache.brooklyn.api.entity.EntitySpec; import org.apache.brooklyn.api.location.Location; import org.apache.brooklyn.api.location.LocationSpec; -import org.apache.brooklyn.core.entity.Entities; -import org.apache.brooklyn.core.entity.factory.ApplicationBuilder; import org.apache.brooklyn.core.location.SimulatedLocation; -import org.apache.brooklyn.core.mgmt.internal.LocalManagementContext; -import org.apache.brooklyn.core.test.entity.LocalManagementContextForTests; +import org.apache.brooklyn.core.test.BrooklynAppUnitTestSupport; import org.apache.brooklyn.core.test.entity.TestApplication; import org.apache.brooklyn.core.test.entity.TestEntity; import org.apache.brooklyn.util.exceptions.Exceptions; -import org.testng.annotations.AfterMethod; -import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import com.google.common.collect.ImmutableSet; -public class AccessManagerTest { - - private LocalManagementContext managementContext; - private TestApplication app; - - @BeforeMethod(alwaysRun=true) - public void setUp() throws Exception { - managementContext = new LocalManagementContextForTests(); - app = ApplicationBuilder.newManagedApp(TestApplication.class, managementContext); - } - - @AfterMethod(alwaysRun=true) - public void tearDown() throws Exception { - if (managementContext != null) Entities.destroyAll(managementContext); - app = null; - } +public class AccessManagerTest extends BrooklynAppUnitTestSupport { @Test public void testEntityManagementAllowed() throws Exception { @@ -63,7 +43,7 @@ public class AccessManagerTest { TestEntity e1 = app.createAndManageChild(EntitySpec.create(TestEntity.class)); // when forbidden, should give error trying to create+manage new entity - managementContext.getAccessManager().setEntityManagementAllowed(false); + mgmt.getAccessManager().setEntityManagementAllowed(false); try { app.createAndManageChild(EntitySpec.create(TestEntity.class)); fail(); @@ -76,7 +56,7 @@ public class AccessManagerTest { // when forbidden, should refuse to create new app try { - ApplicationBuilder.newManagedApp(TestApplication.class, managementContext); + mgmt.getEntityManager().createEntity(EntitySpec.create(TestApplication.class)); fail(); } catch (Exception e) { // expect it to be forbidden @@ -86,24 +66,24 @@ public class AccessManagerTest { } // but when forbidden, still allowed to create locations - managementContext.getLocationManager().createLocation(LocationSpec.create(SimulatedLocation.class)); + mgmt.getLocationManager().createLocation(LocationSpec.create(SimulatedLocation.class)); // when re-enabled, can create entities again - managementContext.getAccessManager().setEntityManagementAllowed(true); + mgmt.getAccessManager().setEntityManagementAllowed(true); TestEntity e3 = app.createAndManageChild(EntitySpec.create(TestEntity.class)); - assertEquals(ImmutableSet.copyOf(managementContext.getEntityManager().getEntities()), ImmutableSet.of(app, e1, e3)); + assertEquals(ImmutableSet.copyOf(mgmt.getEntityManager().getEntities()), ImmutableSet.of(app, e1, e3)); } @Test public void testLocationManagementAllowed() throws Exception { // default is allowed - Location loc1 = managementContext.getLocationManager().createLocation(LocationSpec.create(SimulatedLocation.class)); + Location loc1 = mgmt.getLocationManager().createLocation(LocationSpec.create(SimulatedLocation.class)); // when forbidden, should give error - managementContext.getAccessManager().setLocationManagementAllowed(false); + mgmt.getAccessManager().setLocationManagementAllowed(false); try { - managementContext.getLocationManager().createLocation(LocationSpec.create(SimulatedLocation.class)); + mgmt.getLocationManager().createLocation(LocationSpec.create(SimulatedLocation.class)); fail(); } catch (Exception e) { // expect it to be forbidden @@ -113,31 +93,31 @@ public class AccessManagerTest { } // but when forbidden, still allowed to create entity - ApplicationBuilder.newManagedApp(TestApplication.class, managementContext); + mgmt.getEntityManager().createEntity(EntitySpec.create(TestApplication.class)); // when re-enabled, can create entities again - managementContext.getAccessManager().setLocationManagementAllowed(true); - Location loc3 = managementContext.getLocationManager().createLocation(LocationSpec.create(SimulatedLocation.class)); + mgmt.getAccessManager().setLocationManagementAllowed(true); + Location loc3 = mgmt.getLocationManager().createLocation(LocationSpec.create(SimulatedLocation.class)); - assertEquals(ImmutableSet.copyOf(managementContext.getLocationManager().getLocations()), ImmutableSet.of(loc1, loc3)); + assertEquals(ImmutableSet.copyOf(mgmt.getLocationManager().getLocations()), ImmutableSet.of(loc1, loc3)); } @Test public void testLocationProvisioningAllowed() throws Exception { - SimulatedLocation loc = managementContext.getLocationManager().createLocation(LocationSpec.create(SimulatedLocation.class)); + SimulatedLocation loc = mgmt.getLocationManager().createLocation(LocationSpec.create(SimulatedLocation.class)); // default is allowed - assertTrue(managementContext.getAccessController().canProvisionLocation(loc).isAllowed()); + assertTrue(mgmt.getAccessController().canProvisionLocation(loc).isAllowed()); // when forbidden, should say so - managementContext.getAccessManager().setLocationProvisioningAllowed(false); - assertFalse(managementContext.getAccessController().canProvisionLocation(loc).isAllowed()); + mgmt.getAccessManager().setLocationProvisioningAllowed(false); + assertFalse(mgmt.getAccessController().canProvisionLocation(loc).isAllowed()); // but when forbidden, still allowed to create locations - managementContext.getLocationManager().createLocation(LocationSpec.create(SimulatedLocation.class)); + mgmt.getLocationManager().createLocation(LocationSpec.create(SimulatedLocation.class)); // when re-enabled, can create entities again - managementContext.getAccessManager().setLocationProvisioningAllowed(true); - assertTrue(managementContext.getAccessController().canProvisionLocation(loc).isAllowed()); + mgmt.getAccessManager().setLocationProvisioningAllowed(true); + assertTrue(mgmt.getAccessController().canProvisionLocation(loc).isAllowed()); } } http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/52f9ebdd/core/src/test/java/org/apache/brooklyn/core/mgmt/persist/BrooklynMementoPersisterTestFixture.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/mgmt/persist/BrooklynMementoPersisterTestFixture.java b/core/src/test/java/org/apache/brooklyn/core/mgmt/persist/BrooklynMementoPersisterTestFixture.java index 75dd95b..0aa3df6 100644 --- a/core/src/test/java/org/apache/brooklyn/core/mgmt/persist/BrooklynMementoPersisterTestFixture.java +++ b/core/src/test/java/org/apache/brooklyn/core/mgmt/persist/BrooklynMementoPersisterTestFixture.java @@ -37,7 +37,6 @@ import org.apache.brooklyn.api.policy.Policy; import org.apache.brooklyn.api.policy.PolicySpec; import org.apache.brooklyn.api.sensor.Enricher; import org.apache.brooklyn.core.entity.Entities; -import org.apache.brooklyn.core.entity.factory.ApplicationBuilder; import org.apache.brooklyn.core.mgmt.rebind.PersistenceExceptionHandlerImpl; import org.apache.brooklyn.core.mgmt.rebind.RebindContextImpl; import org.apache.brooklyn.core.mgmt.rebind.RebindTestUtils; @@ -81,7 +80,7 @@ public abstract class BrooklynMementoPersisterTestFixture { } EntitySpec<TestApplication> appSpec = EntitySpec.create(TestApplication.class) .location(LocationSpec.create(SshMachineLocation.class).configure("address", "localhost")); - app = ApplicationBuilder.newManagedApp(appSpec, localManagementContext); + app = localManagementContext.getEntityManager().createEntity(appSpec); location = Iterables.getOnlyElement( app.getLocations() ); entity = app.createAndManageChild(EntitySpec.create(TestEntity.class)); enricher = app.enrichers().add(Enrichers.builder().propagatingAll().from(entity).build()); http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/52f9ebdd/core/src/test/java/org/apache/brooklyn/core/server/entity/BrooklynMetricsTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/server/entity/BrooklynMetricsTest.java b/core/src/test/java/org/apache/brooklyn/core/server/entity/BrooklynMetricsTest.java index 6717868..e1dc654 100644 --- a/core/src/test/java/org/apache/brooklyn/core/server/entity/BrooklynMetricsTest.java +++ b/core/src/test/java/org/apache/brooklyn/core/server/entity/BrooklynMetricsTest.java @@ -25,11 +25,8 @@ import org.apache.brooklyn.api.entity.Entity; import org.apache.brooklyn.api.entity.EntitySpec; import org.apache.brooklyn.api.sensor.AttributeSensor; import org.apache.brooklyn.api.sensor.SensorEventListener; -import org.apache.brooklyn.core.entity.Entities; -import org.apache.brooklyn.core.entity.factory.ApplicationBuilder; import org.apache.brooklyn.core.location.SimulatedLocation; -import org.apache.brooklyn.core.server.entity.BrooklynMetrics; -import org.apache.brooklyn.core.test.entity.LocalManagementContextForTests; +import org.apache.brooklyn.core.test.BrooklynAppUnitTestSupport; import org.apache.brooklyn.core.test.entity.TestApplication; import org.apache.brooklyn.core.test.entity.TestApplicationNoEnrichersImpl; import org.apache.brooklyn.core.test.entity.TestEntity; @@ -37,15 +34,13 @@ import org.apache.brooklyn.core.test.entity.TestEntityNoEnrichersImpl; import org.apache.brooklyn.test.Asserts; import org.apache.brooklyn.util.collections.MutableMap; import org.apache.brooklyn.util.time.Duration; -import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import com.google.common.collect.ImmutableList; -public class BrooklynMetricsTest { +public class BrooklynMetricsTest extends BrooklynAppUnitTestSupport { - private static final long TIMEOUT_MS = 2*1000; private final static int NUM_SUBSCRIPTIONS_PER_ENTITY = 4; TestApplication app; @@ -53,18 +48,19 @@ public class BrooklynMetricsTest { BrooklynMetrics brooklynMetrics; @BeforeMethod(alwaysRun=true) - public void setUp() { - loc = new SimulatedLocation(); - app = ApplicationBuilder.newManagedApp(EntitySpec.create(TestApplication.class, TestApplicationNoEnrichersImpl.class), - LocalManagementContextForTests.newInstance()); - brooklynMetrics = app.createAndManageChild(EntitySpec.create(BrooklynMetrics.class).configure("updatePeriod", 10L)); + @Override + public void setUp() throws Exception { + super.setUp(); + loc = app.newSimulatedLocation(); + brooklynMetrics = app.addChild(EntitySpec.create(BrooklynMetrics.class).configure("updatePeriod", 10L)); } - @AfterMethod(alwaysRun=true) - public void tearDown() throws Exception { - if (app != null) Entities.destroyAll(app.getManagementContext()); + @Override + protected void setUpApp() { + app = mgmt.getEntityManager().createEntity(EntitySpec.create(TestApplication.class) + .impl(TestApplicationNoEnrichersImpl.class)); } - + @Test public void testInitialBrooklynMetrics() { app.start(ImmutableList.of(loc)); http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/52f9ebdd/core/src/test/java/org/apache/brooklyn/core/test/entity/TestApplication.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/test/entity/TestApplication.java b/core/src/test/java/org/apache/brooklyn/core/test/entity/TestApplication.java index d5ad915..b5269bb 100644 --- a/core/src/test/java/org/apache/brooklyn/core/test/entity/TestApplication.java +++ b/core/src/test/java/org/apache/brooklyn/core/test/entity/TestApplication.java @@ -28,7 +28,6 @@ import org.apache.brooklyn.api.mgmt.ManagementContext; import org.apache.brooklyn.api.sensor.AttributeSensor; import org.apache.brooklyn.core.entity.EntityInternal; import org.apache.brooklyn.core.entity.StartableApplication; -import org.apache.brooklyn.core.entity.factory.ApplicationBuilder; import org.apache.brooklyn.core.location.SimulatedLocation; import org.apache.brooklyn.core.sensor.Sensors; import org.apache.brooklyn.location.localhost.LocalhostMachineProvisioningLocation; @@ -57,7 +56,7 @@ public interface TestApplication extends StartableApplication, EntityInternal { public static class Factory { public static TestApplication newManagedInstanceForTests(ManagementContext mgmt) { - return ApplicationBuilder.newManagedApp(TestApplication.class, mgmt); + return mgmt.getEntityManager().createEntity(EntitySpec.create(TestApplication.class)); } public static TestApplication newManagedInstanceForTests() { return newManagedInstanceForTests(new LocalManagementContextForTests()); http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/52f9ebdd/core/src/test/java/org/apache/brooklyn/core/test/qa/longevity/EntityCleanupLongevityTestFixture.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/test/qa/longevity/EntityCleanupLongevityTestFixture.java b/core/src/test/java/org/apache/brooklyn/core/test/qa/longevity/EntityCleanupLongevityTestFixture.java index e8544d8..e94bbf4 100644 --- a/core/src/test/java/org/apache/brooklyn/core/test/qa/longevity/EntityCleanupLongevityTestFixture.java +++ b/core/src/test/java/org/apache/brooklyn/core/test/qa/longevity/EntityCleanupLongevityTestFixture.java @@ -29,7 +29,6 @@ import org.apache.brooklyn.api.location.LocationSpec; import org.apache.brooklyn.api.sensor.SensorEvent; import org.apache.brooklyn.api.sensor.SensorEventListener; import org.apache.brooklyn.core.entity.Entities; -import org.apache.brooklyn.core.entity.factory.ApplicationBuilder; import org.apache.brooklyn.core.internal.storage.BrooklynStorage; import org.apache.brooklyn.core.location.SimulatedLocation; import org.apache.brooklyn.core.mgmt.internal.AbstractManagementContext; @@ -164,8 +163,8 @@ public abstract class EntityCleanupLongevityTestFixture { } protected TestApplication newApp() { - final TestApplication result = ApplicationBuilder.newManagedApp(TestApplication.class, managementContext); - weakApps.put(app, null); + final TestApplication result = managementContext.getEntityManager().createEntity(EntitySpec.create(TestApplication.class)); + weakApps.put(result, null); TestEntity entity = result.createAndManageChild(EntitySpec.create(TestEntity.class)); result.subscriptions().subscribe(entity, TestEntity.NAME, new SensorEventListener<String>() { @Override public void onEvent(SensorEvent<String> event) { http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/52f9ebdd/core/src/test/java/org/apache/brooklyn/entity/stock/DataEntityTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/entity/stock/DataEntityTest.java b/core/src/test/java/org/apache/brooklyn/entity/stock/DataEntityTest.java index 366645d..8185455 100644 --- a/core/src/test/java/org/apache/brooklyn/entity/stock/DataEntityTest.java +++ b/core/src/test/java/org/apache/brooklyn/entity/stock/DataEntityTest.java @@ -24,19 +24,14 @@ import static org.testng.Assert.assertTrue; import java.util.concurrent.atomic.AtomicReference; import org.apache.brooklyn.api.entity.EntitySpec; -import org.apache.brooklyn.api.location.LocationSpec; -import org.apache.brooklyn.api.mgmt.ManagementContext; import org.apache.brooklyn.api.sensor.AttributeSensor; import org.apache.brooklyn.core.entity.Entities; import org.apache.brooklyn.core.entity.EntityAsserts; -import org.apache.brooklyn.core.entity.factory.ApplicationBuilder; import org.apache.brooklyn.core.location.SimulatedLocation; import org.apache.brooklyn.core.sensor.Sensors; -import org.apache.brooklyn.core.test.entity.LocalManagementContextForTests; -import org.apache.brooklyn.core.test.entity.TestApplication; +import org.apache.brooklyn.core.test.BrooklynAppUnitTestSupport; import org.apache.brooklyn.test.Asserts; import org.apache.brooklyn.util.collections.MutableMap; -import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; @@ -44,11 +39,9 @@ import com.google.common.base.Predicates; import com.google.common.base.Supplier; import com.google.common.collect.ImmutableList; -public class DataEntityTest { +public class DataEntityTest extends BrooklynAppUnitTestSupport { - private ManagementContext managementContext; private SimulatedLocation loc; - private TestApplication app; private DataEntity entity; private AttributeSensor<String> stringSensor = Sensors.newStringSensor("string", "String sensor"); private AttributeSensor<Long> longSensor = Sensors.newLongSensor("long", "Long sensor"); @@ -62,16 +55,10 @@ public class DataEntityTest { @BeforeMethod(alwaysRun=true) public void setUp() throws Exception { - managementContext = new LocalManagementContextForTests(); - loc = managementContext.getLocationManager().createLocation(LocationSpec.create(SimulatedLocation.class)); - app = ApplicationBuilder.newManagedApp(TestApplication.class, managementContext); + super.setUp(); + loc = app.newSimulatedLocation(); } - @AfterMethod(alwaysRun=true) - public void tearDown() throws Exception { - if (managementContext != null) Entities.destroyAllCatching(managementContext); - } - @Test public void testSupplierSetsAttribute() throws Exception { entity = app.createAndManageChild(EntitySpec.create(DataEntity.class)
