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]);
        }
Esempio n. 6
0
 private static ConfigApplication FromDockerComposeYaml(FileInfo file)
 {
     using var parser = new DockerComposeParser(file);
     return(parser.ParseConfigApplication());
 }