This is an automated email from the ASF dual-hosted git repository. sai_boorlagadda pushed a commit to branch feature/GEODE-5212-export-logs in repository https://gitbox.apache.org/repos/asf/geode.git
commit d8d46aaca39a8c27902e17c175840b05d07648b1 Author: Sai Boorlagadda <[email protected]> AuthorDate: Fri Jul 27 16:31:42 2018 -0700 Fixing failing tests --- .../internal/cli/commands/ExportLogsDUnitTest.java | 47 ++++++++++++++-------- .../ExportLogsOverHttpDistributedTest.java | 4 +- 2 files changed, 34 insertions(+), 17 deletions(-) diff --git a/geode-core/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/ExportLogsDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/ExportLogsDUnitTest.java index 6804e17..c6ffb97 100644 --- a/geode-core/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/ExportLogsDUnitTest.java +++ b/geode-core/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/ExportLogsDUnitTest.java @@ -19,6 +19,7 @@ package org.apache.geode.management.internal.cli.commands; import static java.util.stream.Collectors.joining; import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toSet; +import static org.apache.commons.io.FileUtils.listFiles; import static org.apache.geode.management.internal.cli.commands.ExportLogsCommand.FORMAT; import static org.apache.geode.management.internal.cli.commands.ExportLogsCommand.ONLY_DATE_FORMAT; import static org.assertj.core.api.Assertions.assertThat; @@ -42,10 +43,12 @@ import java.util.stream.Stream; import org.apache.commons.io.FileUtils; import org.apache.logging.log4j.Logger; +import org.junit.After; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.experimental.categories.Category; +import org.junit.rules.TemporaryFolder; import org.apache.geode.cache.Cache; import org.apache.geode.distributed.ConfigurationProperties; @@ -71,12 +74,18 @@ public class ExportLogsDUnitTest { @Rule public GfshCommandRule gfshConnector = new GfshCommandRule(); + @Rule + public TemporaryFolder temporaryFolder = new TemporaryFolder(); + protected MemberVM locator; private MemberVM server1; private MemberVM server2; private Map<MemberVM, List<LogLine>> expectedMessages; + public File getWorkingDirectory() throws Exception { + return locator.getWorkingDir(); + } @Before public void setup() throws Exception { @@ -111,38 +120,44 @@ public class ExportLogsDUnitTest { gfshConnector.connectAndVerify(locator); } + @After + public void after() throws Exception { + Stream.of(getWorkingDirectory().listFiles()) + .filter(f -> f.getName().endsWith(".zip")).forEach(file -> file.delete()); + } + @Test - public void withFiles_savedToLocatorWorkingDir() { + public void withFiles_savedToLocatorWorkingDir() throws Exception { String[] extensions = {"zip"}; // Expects locator to produce file in own working directory when connected via JMX gfshConnector.executeCommand("export logs"); - assertThat(FileUtils.listFiles(locator.getWorkingDir(), extensions, false)).isNotEmpty(); + assertThat(listFiles(getWorkingDirectory(), extensions, false)).isNotEmpty(); } @Test public void withFiles_savedToLocatorSpecifiedRelativeDir() throws Exception { String[] extensions = {"zip"}; - Path workingDirPath = locator.getWorkingDir().toPath(); + Path workingDirPath = getWorkingDirectory().toPath(); Path subdirPath = workingDirPath.resolve("some").resolve("test").resolve("directory"); Path relativeDir = workingDirPath.relativize(subdirPath); // Expects locator to produce file in own working directory when connected via JMX gfshConnector.executeCommand("export logs --dir=" + relativeDir.toString()); - assertThat(FileUtils.listFiles(locator.getWorkingDir(), extensions, false)).isEmpty(); - assertThat(FileUtils.listFiles(locator.getWorkingDir(), extensions, true)).isNotEmpty(); - assertThat(FileUtils.listFiles(subdirPath.toFile(), extensions, false)).isNotEmpty(); + assertThat(listFiles(getWorkingDirectory(), extensions, false)).isEmpty(); + assertThat(listFiles(getWorkingDirectory(), extensions, true)).isNotEmpty(); + assertThat(listFiles(subdirPath.toFile(), extensions, false)).isNotEmpty(); } @Test public void withFiles_savedToLocatorSpecifiedAbsoluteDir() throws Exception { String[] extensions = {"zip"}; - Path workingDirPath = locator.getWorkingDir().toPath(); + Path workingDirPath = getWorkingDirectory().toPath(); Path absoluteDirPath = workingDirPath.resolve("some").resolve("test").resolve("directory").toAbsolutePath(); // Expects locator to produce file in own working directory when connected via JMX gfshConnector.executeCommand("export logs --dir=" + absoluteDirPath.toString()); - assertThat(FileUtils.listFiles(locator.getWorkingDir(), extensions, false)).isEmpty(); - assertThat(FileUtils.listFiles(locator.getWorkingDir(), extensions, true)).isNotEmpty(); - assertThat(FileUtils.listFiles(absoluteDirPath.toFile(), extensions, false)).isNotEmpty(); + assertThat(listFiles(getWorkingDirectory(), extensions, false)).isEmpty(); + assertThat(listFiles(getWorkingDirectory(), extensions, true)).isNotEmpty(); + assertThat(listFiles(absoluteDirPath.toFile(), extensions, false)).isNotEmpty(); } @Test @@ -258,7 +273,7 @@ public class ExportLogsDUnitTest { } - private void verifyZipFileContents(Set<String> acceptedLogLevels) throws IOException { + private void verifyZipFileContents(Set<String> acceptedLogLevels) throws Exception { File unzippedLogFileDir = unzipExportedLogs(); Set<File> dirsFromZipFile = @@ -309,19 +324,19 @@ public class ExportLogsDUnitTest { } - private File unzipExportedLogs() throws IOException { - File locatorWorkingDir = locator.getWorkingDir(); - List<File> filesInDir = Stream.of(locatorWorkingDir.listFiles()).collect(toList()); + private File unzipExportedLogs() throws Exception { + File locatorWorkingDir = getWorkingDirectory(); + List<File> filesInDir = Stream.of(getWorkingDirectory().listFiles()).collect(toList()); assertThat(filesInDir).isNotEmpty(); - List<File> zipFilesInDir = Stream.of(locatorWorkingDir.listFiles()) + List<File> zipFilesInDir = Stream.of(getWorkingDirectory().listFiles()) .filter(f -> f.getName().endsWith(".zip")).collect(toList()); assertThat(zipFilesInDir) .describedAs(filesInDir.stream().map(File::getAbsolutePath).collect(joining(","))) .hasSize(1); - File unzippedLogFileDir = new File(locatorWorkingDir, "unzippedLogs"); + File unzippedLogFileDir = temporaryFolder.newFolder("unzippedLogs"); ZipUtils.unzip(zipFilesInDir.get(0).getCanonicalPath(), unzippedLogFileDir.getCanonicalPath()); return unzippedLogFileDir; } diff --git a/geode-web/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/ExportLogsOverHttpDistributedTest.java b/geode-web/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/ExportLogsOverHttpDistributedTest.java index 9ebd224..28efa00 100644 --- a/geode-web/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/ExportLogsOverHttpDistributedTest.java +++ b/geode-web/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/ExportLogsOverHttpDistributedTest.java @@ -27,7 +27,9 @@ public class ExportLogsOverHttpDistributedTest extends ExportLogsDUnitTest { @Override public void connect() throws Exception { - gfshConnector.connectAndVerify(locator.getHttpPort(), GfshCommandRule.PortType.http); + if(!gfshConnector.isConnected()) { + gfshConnector.connectAndVerify(locator.getHttpPort(), GfshCommandRule.PortType.http); + } } public File getWorkingDirectory() throws Exception {
