diff --git a/bitrepository-reference-pillar/src/test/java/org/bitrepository/pillar/integration/perf/GetFileStressIT.java b/bitrepository-reference-pillar/src/test/java/org/bitrepository/pillar/integration/perf/GetFileStressIT.java index 1f9136351..1de71090d 100644 --- a/bitrepository-reference-pillar/src/test/java/org/bitrepository/pillar/integration/perf/GetFileStressIT.java +++ b/bitrepository-reference-pillar/src/test/java/org/bitrepository/pillar/integration/perf/GetFileStressIT.java @@ -33,25 +33,23 @@ import org.bitrepository.pillar.integration.perf.metrics.Metrics; import org.bitrepository.pillar.messagefactories.GetFileMessageFactory; import org.bitrepository.protocol.bus.MessageReceiver; -import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.condition.DisabledIf; import org.junit.jupiter.api.condition.EnabledIfSystemProperty; +import org.junit.jupiter.api.io.TempDir; -import java.io.IOException; -import java.nio.file.DirectoryStream; +import java.net.URL; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import static org.bitrepository.common.utils.AllureTestUtils.addDescription; import static org.bitrepository.common.utils.AllureTestUtils.addStep; @EnabledIfSystemProperty(named = "runStressTests", matches = "true") public class GetFileStressIT extends PillarPerformanceIT { - public static final String FOLDER_NAME = "src/test/resources"; + @TempDir + static Path tempDir; protected GetFileClient getFileClient; @BeforeEach @@ -61,22 +59,6 @@ settingsForTestClient, createSecurityManager(), settingsForTestClient.getCompone ); } - @AfterAll - static void removeUnnecessaryFiles() throws IOException { - removeFiles("noIdentfy", FOLDER_NAME); - removeFiles("parallel", FOLDER_NAME); - removeFiles("single", FOLDER_NAME); - } - - private static void removeFiles(String fileStartsWith, String folderName) throws IOException { - Path directory = Paths.get(folderName); - try (DirectoryStream stream = Files.newDirectoryStream(directory, fileStartsWith + "*")) { - for (Path entry : stream) { - Files.delete(entry); - } - } - } - @Test @Tag(PillarTestGroups.PILLAR_STRESS_TEST) void singleGetFilePerformanceTest() throws Exception { @@ -116,6 +98,7 @@ void parallelGetFilePerformanceTest() throws Exception { EventHandler eventHandler = new OperationEventHandlerForMetrics(metrics, getLimiter); for (int i = 1; i <= numberOfFiles; i++) { getLimiter.addJob(defaultFileId); + URL testUrl = httpServerConfiguration.getURL(nonDefaultFileId + "-" + i); getFileClient.getFileFromSpecificPillar( collectionID, defaultFileId, null, httpServerConfiguration.getURL(nonDefaultFileId + "-" + i), getPillarID(), eventHandler, " performing parallelGetFilePerformance"); @@ -146,11 +129,23 @@ void noIdentfyGetFilePerformanceTest() throws Exception { for (int i = 1; i <= numberOfFiles; i++) { String correlationID = msgFactory.getNewCorrelationID(); getLimiter.addJob(correlationID); + String fileName = nonDefaultFileId + "-" + i; + + // Ensure the source file exists in the temp directory so the server can serve it + Path sourceFile = tempDir.resolve(fileName); + if (!Files.exists(sourceFile)) { + Files.createFile(sourceFile); + } + + // Create a unique destination path for each file within the temp directory + Path destinationFile = tempDir.resolve("noIdentfy-dest-" + i); GetFileRequest getRequest = - msgFactory.createGetFileRequest("noIdentfyGetFilePerformanceTest", correlationID, - httpServerConfiguration.getURL(nonDefaultFileId + "-" + i).toExternalForm(), + msgFactory.createGetFileRequest(destinationFile.toAbsolutePath().toString(), + correlationID, + httpServerConfiguration.getURL(fileName).toExternalForm(), defaultFileId, null, getPillarID(), getPillarID(), settingsForTestClient.getReceiverDestinationID(), pillarDestination); + getRequest.setFileAddress("file:" + tempDir.toAbsolutePath().toString()+"/"+fileName); messageBus.sendMessage(getRequest); } @@ -171,4 +166,4 @@ public String lookupGetFileDestination() { } return pillarDestination; } -} \ No newline at end of file +}