You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2022/07/14 10:16:35 UTC
[brooklyn-server] 04/05: when we wrap mgmt in a mock, register and tear down the real one to prevent leaks
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
commit 9039ea97a36ad75873524e50f345df145acc7d30
Author: Alex Heneveld <al...@cloudsoft.io>
AuthorDate: Thu Jul 14 10:00:21 2022 +0100
when we wrap mgmt in a mock, register and tear down the real one to prevent leaks
---
.../util/core/logbook/file/FileLogStoreTest.java | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/core/src/test/java/org/apache/brooklyn/util/core/logbook/file/FileLogStoreTest.java b/core/src/test/java/org/apache/brooklyn/util/core/logbook/file/FileLogStoreTest.java
index 6d6efd1fea..52229ab56a 100644
--- a/core/src/test/java/org/apache/brooklyn/util/core/logbook/file/FileLogStoreTest.java
+++ b/core/src/test/java/org/apache/brooklyn/util/core/logbook/file/FileLogStoreTest.java
@@ -28,7 +28,11 @@ import com.google.common.base.Predicates;
import com.google.common.collect.ImmutableList;
import com.google.common.util.concurrent.Callables;
+import org.apache.brooklyn.api.mgmt.ManagementContext;
+import org.apache.brooklyn.test.Asserts;
+import org.apache.brooklyn.util.collections.MutableList;
import org.mockito.Mockito;
+import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
@@ -67,6 +71,8 @@ public class FileLogStoreTest extends BrooklynMgmtUnitTestSupport {
private final AtomicInteger lineCount = new AtomicInteger();
+ protected List<ManagementContext> extraMgmts = MutableList.of();
+
@Override
@BeforeMethod(alwaysRun=true)
public void setUp() throws Exception {
@@ -79,6 +85,14 @@ public class FileLogStoreTest extends BrooklynMgmtUnitTestSupport {
lineCount.set(0);
}
+ @AfterMethod(alwaysRun = true, timeOut = Asserts.THIRTY_SECONDS_TIMEOUT_MS)
+ @Override
+ public void tearDown() throws Exception {
+ extraMgmts.forEach(this::destroyManagementContextSafely);
+ extraMgmts.clear();
+ super.tearDown();
+ }
+
@Test
public void testParseLogJavaLine() {
FileLogStore cut = new FileLogStore();
@@ -452,7 +466,6 @@ public class FileLogStoreTest extends BrooklynMgmtUnitTestSupport {
assertEquals(1, brooklynLogEntries.size());
assertTrue(brooklynLogEntries.stream().allMatch(e -> e.getLevel().equals("INFO")));
assertFalse(brooklynLogEntries.stream().anyMatch(Predicates.not(e -> e.getTaskId().equals(logBookQueryParams.getTaskId()))));
-
}
/* one INFO log entry, as for #testQueryLogSampleWithoutRecursion */
@@ -494,6 +507,8 @@ public class FileLogStoreTest extends BrooklynMgmtUnitTestSupport {
}
private ManagementContextInternal newMock(ManagementContextInternal mgmt) {
+ extraMgmts.add(mgmt);
+
File file = new File(Objects.requireNonNull(getClass().getClassLoader().getResource(JAVA_LOG_SAMPLE_PATH)).getFile());
mgmt.getBrooklynProperties().put(LOGBOOK_LOG_STORE_PATH.getName(), file.getAbsolutePath());