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 eaa759d disabled test for leak of enricher persisted files
eaa759d is described below
commit eaa759dc1bc34b40f9f5de5efd82738487c06cca
Author: Alex Heneveld <[email protected]>
AuthorDate: Wed Feb 23 14:11:42 2022 +0000
disabled test for leak of enricher persisted files
---
.../core/mgmt/rebind/RebindTestFixture.java | 10 +++--
.../entity/group/DynamicMultiGroupRebindTest.java | 44 ++++++++++++++++++++++
2 files changed, 50 insertions(+), 4 deletions(-)
diff --git
a/core/src/test/java/org/apache/brooklyn/core/mgmt/rebind/RebindTestFixture.java
b/core/src/test/java/org/apache/brooklyn/core/mgmt/rebind/RebindTestFixture.java
index b2296e8..ca71c2a 100644
---
a/core/src/test/java/org/apache/brooklyn/core/mgmt/rebind/RebindTestFixture.java
+++
b/core/src/test/java/org/apache/brooklyn/core/mgmt/rebind/RebindTestFixture.java
@@ -155,10 +155,12 @@ public abstract class RebindTestFixture<T extends
StartableApplication> {
/** terminates the original management context (not destroying items) and
points it at the new one (and same for apps);
* then clears the variables for the new one, so you can re-rebind */
protected void switchOriginalToNewManagementContext() {
- origManagementContext.getRebindManager().stopPersistence();
- for (Application e: origManagementContext.getApplications())
((Startable)e).stop();
- waitForTaskCountToBecome(origManagementContext, 0, true);
- origManagementContext.terminate();
+ if (origManagementContext!=null && origManagementContext.isRunning()) {
+ origManagementContext.getRebindManager().stopPersistence();
+ for (Application e : origManagementContext.getApplications())
((Startable) e).stop();
+ waitForTaskCountToBecome(origManagementContext, 0, true);
+ origManagementContext.terminate();
+ }
origManagementContext = (LocalManagementContext) newManagementContext;
origApp = newApp;
newManagementContext = null;
diff --git
a/core/src/test/java/org/apache/brooklyn/entity/group/DynamicMultiGroupRebindTest.java
b/core/src/test/java/org/apache/brooklyn/entity/group/DynamicMultiGroupRebindTest.java
index 153f0e2..7d2866f 100644
---
a/core/src/test/java/org/apache/brooklyn/entity/group/DynamicMultiGroupRebindTest.java
+++
b/core/src/test/java/org/apache/brooklyn/entity/group/DynamicMultiGroupRebindTest.java
@@ -20,9 +20,16 @@ package org.apache.brooklyn.entity.group;
import static com.google.common.base.Predicates.instanceOf;
import static com.google.common.collect.Iterables.find;
+import com.google.common.io.Files;
+import org.apache.brooklyn.api.mgmt.ha.MementoCopyMode;
+import org.apache.brooklyn.api.mgmt.rebind.mementos.BrooklynMementoRawData;
import static
org.apache.brooklyn.core.entity.EntityPredicates.displayNameEqualTo;
+import org.apache.brooklyn.core.mgmt.persist.BrooklynPersistenceUtils;
+import org.apache.brooklyn.core.test.entity.TestApplication;
import static
org.apache.brooklyn.entity.group.DynamicMultiGroup.BUCKET_FUNCTION;
import static
org.apache.brooklyn.entity.group.DynamicMultiGroupImpl.bucketFromAttribute;
+import org.apache.brooklyn.util.collections.MutableSet;
+import org.testng.Assert;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertNull;
@@ -117,4 +124,41 @@ public class DynamicMultiGroupRebindTest extends
RebindTestFixtureWithApp {
});
}
}
+
+ @Test(groups="Broken") // bug we are fixing
+ public void testSimplestMultiGroupRebindAndDelete() throws Exception {
+ DynamicMultiGroup dmg =
origApp.createAndManageChild(EntitySpec.create(DynamicMultiGroup.class)
+ .configure(DynamicMultiGroup.ENTITY_FILTER,
Predicates.alwaysFalse())
+ .configure(BUCKET_FUNCTION, bucketFromAttribute(SENSOR))
+ .configure(DynamicMultiGroup.BUCKET_SPEC,
EntitySpec.create(BasicGroup.class)));
+
+ BrooklynMementoRawData state;
+ state = BrooklynPersistenceUtils.newStateMemento(mgmt(),
MementoCopyMode.LOCAL);
+ Assert.assertEquals(state.getEntities().size(), 2);
+
+ TestApplication appRebinded =
rebind(RebindOptions.create().terminateOrigManagementContext(true));
+ switchOriginalToNewManagementContext();
+
+ state = BrooklynPersistenceUtils.newStateMemento(mgmt(),
MementoCopyMode.LOCAL);
+ Assert.assertEquals(state.getEntities().size(), 2);
+
+ appRebinded.stop();
+
+ appRebinded =
rebind(RebindOptions.create().terminateOrigManagementContext(true));
+
+ Assert.assertNull(appRebinded);
+ state = BrooklynPersistenceUtils.newStateMemento(mgmt(),
MementoCopyMode.LOCAL);
+ Assert.assertEquals(state.getEntities().size(), 0);
+ Assert.assertEquals(state.getEnrichers().size(), 0);
+
+ Files.fileTraverser().breadthFirst(mementoDir).forEach(f -> {
+ if (!f.isDirectory()) {
+ if ( MutableSet.of("planeId").contains(f.getName()) ) {
+ // expect these
+ } else {
+ Assert.fail("At least one file exists after deployment: "
+ f);
+ }
+ }
+ });
+ }
}