diff --git a/e2e/src/test/java/octopus/teamcity/e2e/dsl/TeamCityFactory.java b/e2e/src/test/java/octopus/teamcity/e2e/dsl/TeamCityFactory.java index 373059da..a1960c58 100644 --- a/e2e/src/test/java/octopus/teamcity/e2e/dsl/TeamCityFactory.java +++ b/e2e/src/test/java/octopus/teamcity/e2e/dsl/TeamCityFactory.java @@ -21,11 +21,11 @@ import org.jetbrains.teamcity.rest.TeamCityInstance; import org.jetbrains.teamcity.rest.TeamCityInstanceFactory; import org.testcontainers.Testcontainers; -import org.testcontainers.containers.BindMode; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.Network; import org.testcontainers.containers.wait.strategy.Wait; import org.testcontainers.utility.DockerImageName; +import org.testcontainers.utility.MountableFile; public class TeamCityFactory { @@ -101,10 +101,9 @@ private GenericContainer createAndStartServer() { "-Droot.log.level=TRACE -Dteamcity.development.mode=true " + "-Doctopus.enable.step.vnext=true") .withStartupTimeout(Duration.ofMinutes(2)) - .withFileSystemBind( - teamCityDataDir.toAbsolutePath().toString(), - "/data/teamcity_server/datadir", - BindMode.READ_WRITE); + .withCopyFileToContainer( + MountableFile.forHostPath(teamCityDataDir.toAbsolutePath().toString()), + "/data/teamcity_server/datadir"); teamCityServer.start(); return teamCityServer; diff --git a/e2e/src/test/java/octopus/teamcity/e2e/test/BuildInformationEndToEndTest.java b/e2e/src/test/java/octopus/teamcity/e2e/test/BuildInformationEndToEndTest.java index c0f2b592..9d0598ac 100644 --- a/e2e/src/test/java/octopus/teamcity/e2e/test/BuildInformationEndToEndTest.java +++ b/e2e/src/test/java/octopus/teamcity/e2e/test/BuildInformationEndToEndTest.java @@ -29,7 +29,6 @@ import java.time.Instant; import java.util.List; -import com.google.common.collect.Lists; import com.google.common.io.Resources; import octopus.teamcity.e2e.dsl.TeamCityContainers; import octopus.teamcity.e2e.dsl.TeamCityFactory; @@ -113,10 +112,6 @@ public void buildInformationStepPublishesToOctopusDeploy(@TempDir Path testDirec LOG.info("Failed to execute build"); LOG.info(teamCityContainers.getAgentContainer().getLogs()); throw e; - } finally { - // Turns out, some files get written to this directory by TC (as the tcuser) - and they need - // to be destroyed. - cleanupContainers(teamCityContainers); } } @@ -136,26 +131,4 @@ private void waitForBuildToFinish(final Build build, final TeamCityInstance tcRe LOG.warn("Build {} failed to complete within expected time limit", build.getId()); throw new RuntimeException("Build Failed to complete within 30 seconds"); } - - private void cleanupContainers(final TeamCityContainers teamCityContainers) { - final List filesToDelete = - Lists.newArrayList( - "/data/teamcity_server/datadir/system/buildserver.tmp", - "/data/teamcity_server/datadir/system/artifacts", - "/data/teamcity_server/datadir/system/caches/plugins.unpacked", - "/data/teamcity_server/datadir/system/caches/pluginsDslCache/src", - "/data/teamcity_server/datadir/system/caches/buildsMetadata/metadataDB.tmp", - "/data/teamcity_server/datadir/system/caches/sources", - "/data/teamcity_server/datadir/system/caches/kotlinDslData", - "/data/teamcity_server/datadir/system/pluginData/avatars"); - - for (final String file : filesToDelete) { - try { - LOG.debug("Removing " + file); - teamCityContainers.getServerContainer().execInContainer("rm", "-rf", file); - } catch (final Exception e) { - LOG.error("Failed to delete " + file); - } - } - } }