public void GetVolumePaths_MultipleListVolumeFilesShortHand_ReturnsEnvironmentFile() { //Arrange var dockerComposeYmlContents = @$ " version: '3.3' services: db: image: postgres:latest volumes: - " "/var/run/postgres/postgres.sock:/var/run/postgres/postgres.sock" " - " "dbdata:/var/lib/postgresql/data" " volumes: dbdata: "; var parser = new DockerComposeParser(dockerComposeYmlContents); //Act var filePaths = parser.GetVolumePaths().ToArray(); //Assert Assert.AreEqual(1, filePaths.Length); Assert.AreEqual("/var/run/postgres/postgres.sock", filePaths[0]); }
public void GetEnvironmentFilePaths_MultipleListEnvironmentFiles_ReturnsEnvironmentFiles() { //Arrange var dockerComposeYmlContents = @$ " version: '3.3' services: test-service-1: env_file: - " "some-file-path-1" " - " "some-file-path-2" " test-service-2: env_file: - " "some-file-path-3" " - " "some-file-path-4" " "; var parser = new DockerComposeParser(dockerComposeYmlContents); //Act var filePaths = parser.GetEnvironmentFilePaths().ToArray(); //Assert Assert.AreEqual(4, filePaths.Length); Assert.AreEqual("some-file-path-1", filePaths[0]); Assert.AreEqual("some-file-path-2", filePaths[1]); Assert.AreEqual("some-file-path-3", filePaths[2]); Assert.AreEqual("some-file-path-4", filePaths[3]); }
public void GetDockerfilePaths_DockerfilePathGivenInStringForm_ReturnsDockerfilePath() { //Arrange var dockerComposeYmlContents = @$ " version: '3.6' services: elasticsearch_searchguard_1: build: . "; var parser = new DockerComposeParser(dockerComposeYmlContents); //Act var filePaths = parser.GetDockerfilePaths().ToArray(); //Assert Assert.AreEqual(1, filePaths.Length); Assert.AreEqual("./Dockerfile", filePaths[0]); }
public void GetDockerfilePaths_OnlyBuildContextGiven_ReturnsDefaultDockerfile() { //Arrange var dockerComposeYmlContents = @$ " version: '3.6' services: elasticsearch_searchguard_1: build: context: . "; var parser = new DockerComposeParser(dockerComposeYmlContents); //Act var filePaths = parser.GetDockerfilePaths().ToArray(); //Assert Assert.AreEqual(1, filePaths.Length); Assert.AreEqual("Dockerfile", filePaths[0]); }
public void GetEnvironmentFilePaths_SingleStringEnvironmentFile_ReturnsEnvironmentFile() { //Arrange var dockerComposeYmlContents = @$ " version: '3.3' services: test-service-1: env_file: " "some-file-path-1" " test-service-2: env_file: " "some-file-path-2" " "; var parser = new DockerComposeParser(dockerComposeYmlContents); //Act var filePaths = parser.GetEnvironmentFilePaths().ToArray(); //Assert Assert.AreEqual(2, filePaths.Length); Assert.AreEqual("some-file-path-1", filePaths[0]); Assert.AreEqual("some-file-path-2", filePaths[1]); }
private static ConfigApplication FromDockerComposeYaml(FileInfo file) { using var parser = new DockerComposeParser(file); return(parser.ParseConfigApplication()); }