This is an automated email from the ASF dual-hosted git repository.
heneveld pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/brooklyn-server.git
The following commit(s) were added to refs/heads/master by this push:
new c77e4695b5 make blueprint / rest/viewer tests easier to extend
c77e4695b5 is described below
commit c77e4695b5fb3a79e3fd7265062b3b31fba98440
Author: Alex Heneveld <[email protected]>
AuthorDate: Thu Jun 1 13:38:45 2023 +0100
make blueprint / rest/viewer tests easier to extend
---
.../launcher/blueprints/AbstractBlueprintTest.java | 83 +++++++++++++---------
1 file changed, 50 insertions(+), 33 deletions(-)
diff --git
a/launcher/src/test/java/org/apache/brooklyn/launcher/blueprints/AbstractBlueprintTest.java
b/launcher/src/test/java/org/apache/brooklyn/launcher/blueprints/AbstractBlueprintTest.java
index 619645583a..b497158d9f 100644
---
a/launcher/src/test/java/org/apache/brooklyn/launcher/blueprints/AbstractBlueprintTest.java
+++
b/launcher/src/test/java/org/apache/brooklyn/launcher/blueprints/AbstractBlueprintTest.java
@@ -18,48 +18,37 @@
*/
package org.apache.brooklyn.launcher.blueprints;
-import java.util.Map;
-import java.util.Set;
-import java.util.function.Consumer;
-
-import org.apache.brooklyn.api.entity.EntitySpec;
-import org.apache.brooklyn.api.mgmt.ha.HighAvailabilityMode;
-import org.apache.brooklyn.camp.brooklyn.BrooklynCampPlatform;
-import org.apache.brooklyn.camp.brooklyn.BrooklynCampPlatformLauncherNoServer;
-import org.apache.brooklyn.camp.brooklyn.spi.creation.CampTypePlanTransformer;
-import org.apache.brooklyn.camp.spi.PlatformRootSummary;
-import org.apache.brooklyn.core.entity.trait.Startable;
-import org.apache.brooklyn.core.mgmt.EntityManagementUtils;
-import org.apache.brooklyn.core.mgmt.persist.PersistMode;
-import org.apache.brooklyn.core.mgmt.rebind.RebindManagerImpl;
-import org.apache.brooklyn.core.test.entity.LocalManagementContextForTests;
-import org.apache.brooklyn.util.collections.MutableMap;
-import org.apache.brooklyn.util.collections.MutableSet;
-import static org.testng.Assert.assertNotEquals;
-import static org.testng.Assert.assertTrue;
-
-import java.io.File;
-import java.io.Reader;
-import java.io.StringReader;
-import java.util.Collection;
-
+import com.google.common.base.Predicate;
+import com.google.common.base.Predicates;
import org.apache.brooklyn.api.catalog.CatalogItem;
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.camp.brooklyn.BrooklynCampPlatform;
import org.apache.brooklyn.camp.brooklyn.BrooklynCampPlatformLauncherAbstract;
+import org.apache.brooklyn.camp.brooklyn.BrooklynCampPlatformLauncherNoServer;
+import org.apache.brooklyn.camp.brooklyn.spi.creation.CampTypePlanTransformer;
+import org.apache.brooklyn.camp.spi.PlatformRootSummary;
import org.apache.brooklyn.core.entity.Attributes;
import org.apache.brooklyn.core.entity.Entities;
import org.apache.brooklyn.core.entity.EntityAsserts;
import org.apache.brooklyn.core.entity.lifecycle.Lifecycle;
+import org.apache.brooklyn.core.entity.trait.Startable;
+import org.apache.brooklyn.core.mgmt.EntityManagementUtils;
import org.apache.brooklyn.core.mgmt.internal.LocalManagementContext;
import org.apache.brooklyn.core.mgmt.persist.FileBasedObjectStore;
+import org.apache.brooklyn.core.mgmt.persist.PersistMode;
+import org.apache.brooklyn.core.mgmt.rebind.RebindManagerImpl;
import org.apache.brooklyn.core.mgmt.rebind.RebindOptions;
import org.apache.brooklyn.core.mgmt.rebind.RebindTestUtils;
+import org.apache.brooklyn.core.test.entity.LocalManagementContextForTests;
import org.apache.brooklyn.entity.software.base.SoftwareProcess;
import org.apache.brooklyn.launcher.BrooklynViewerLauncher;
import org.apache.brooklyn.launcher.SimpleYamlLauncherForTests;
import org.apache.brooklyn.test.Asserts;
+import org.apache.brooklyn.util.collections.MutableMap;
+import org.apache.brooklyn.util.collections.MutableSet;
import org.apache.brooklyn.util.core.ResourceUtils;
import org.apache.brooklyn.util.exceptions.Exceptions;
import org.apache.brooklyn.util.os.Os;
@@ -70,8 +59,16 @@ import org.slf4j.LoggerFactory;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
+import java.io.File;
+import java.io.Reader;
+import java.io.StringReader;
+import java.util.Collection;
+import java.util.Map;
+import java.util.Set;
+import java.util.function.Consumer;
+
+import static org.testng.Assert.assertNotEquals;
+import static org.testng.Assert.assertTrue;
/** Ancestor for blueprint tests which can easily allow rebind (default true)
and a REST API attached (default false). */
public abstract class AbstractBlueprintTest {
@@ -302,20 +299,42 @@ public abstract class AbstractBlueprintTest {
return false;
}
+ protected boolean isOsgiEnabled() {
+ return false;
+ }
+
protected RebindTestUtils.ManagementContextBuilder
createBuilderForRebindingManagementContext() {
- return RebindTestUtils.managementContextBuilder(this.mementoDir,
this.classLoader)
+ RebindTestUtils.ManagementContextBuilder builder =
RebindTestUtils.managementContextBuilder(this.mementoDir, this.classLoader)
.persistPeriodMillis(1L)
.forLive(true)
.emptyCatalog(true);
+ if (isOsgiEnabled()) builder.enableOsgiReusable();
+ return builder;
+ }
+
+ protected LocalManagementContextForTests.Builder
createBuilderForNonRebindingManagementContext() {
+ LocalManagementContextForTests.Builder builder =
LocalManagementContextForTests.builder(true);
+ if (isOsgiEnabled()) builder.enableOsgiReusable();
+ return builder;
+ }
+
+ protected LocalManagementContext createRebindingManagementContext() {
+ return createBuilderForRebindingManagementContext().buildUnstarted();
+ }
+
+ protected ManagementContext createNonRebindingManagementContext() {
+ LocalManagementContext mgmt =
createBuilderForNonRebindingManagementContext().build();
+ mgmt.getHighAvailabilityManager().disabled(false);
+ return decorateManagementContext(mgmt);
}
/** @return An unstarted management context */
protected ManagementContext createNewManagementContext() {
ManagementContext newMgmt;
if (isRebindEnabled()) {
- newMgmt =
createBuilderForRebindingManagementContext().buildUnstarted();
+ newMgmt = createRebindingManagementContext();
} else {
- newMgmt = LocalManagementContextForTests.newInstance();
+ newMgmt = createNonRebindingManagementContext();
}
// add camp, for consistency with orig mgmt context
@@ -339,9 +358,7 @@ public abstract class AbstractBlueprintTest {
if (isRebindEnabled()) {
return
decorateManagementContext(createBuilderForRebindingManagementContext().buildStarted());
} else {
- LocalManagementContext mgmt =
LocalManagementContextForTests.newInstance();
- mgmt.getHighAvailabilityManager().disabled(false);
- return decorateManagementContext(mgmt);
+ return createNonRebindingManagementContext();
}
}