Пример #1
0
 private static void StartContainer(uint port)
 {
     DockerCompose.Up(new Dictionary <string, object>
     {
         ["REDIS_PORT"] = port
     });
 }
Пример #2
0
 private static void StartContainer(uint port, uint reportPort)
 {
     DockerCompose.Up(new Dictionary <string, object>
     {
         ["HTTP_PORT"] = port
     }, reportPort);
     TestServerUrl = $"http://127.0.0.1:{port}";
 }
Пример #3
0
 private static void StartContainer(uint port, string password)
 {
     DockerCompose.Up(new Dictionary <string, object>
     {
         ["MYSQL_PORT"]          = port,
         ["MYSQL_ROOT_PASSWORD"] = password
     });
 }
 private static void StartContainer(uint port)
 {
     DockerCompose.Up(new Dictionary <string, object>
     {
         ["SERVICE_PORT"] = port
     });
     Environment.SetEnvironmentVariable("ApiServices__Services__PackageService__BaseAddress", $"http://localhost:{port}");
 }
Пример #5
0
        private static void StartContainer(uint providerPort, uint reportToHostPort)
        {
            DockerCompose.Up(new Dictionary <string, object>
            {
                ["PROVIDER_PORT"] = providerPort,
            }, (int)reportToHostPort, 20);

            Environment.SetEnvironmentVariable("pack__providers__default", $"http://localhost:{providerPort}");
        }
Пример #6
0
        public TestEnvironment()
        {
            var availablePort = Utility.GetAvailableTcpPort(8080);

            dockerCompose = DockerCompose.Up(new Dictionary <string, object>
            {
                ["SERVER_PORT"] = availablePort
            }, "testserver:80");
            TestServerUrl = $"http://127.0.0.1:{availablePort}";
        }
Пример #7
0
 private static void StartContainer(uint port, uint managePort, string password)
 {
     DockerCompose.Up(new Dictionary <string, object>
     {
         ["RABBIT_PORT"]     = port,
         ["RABBIT_MAN_PORT"] = managePort,
         ["RABBIT_PASS"]     = password
     });
     // delay 30s ,wait for rabbit container ready
     Task.Delay(30000).Wait();
 }
Пример #8
0
        public AzureStorageQueueContext()
        {
            const string pathToYml = @"..\..\..\..\.docker\test-enviroment.yml";

            if (!File.Exists(pathToYml))
            {
                throw new FileNotFoundException();
            }

            if (_dockerCompose == null)
            {
                _dockerCompose = new DockerCompose(pathToYml, "AZURITE-DONE!");
            }
        }
Пример #9
0
        public RabbitMqContext()
        {
            const string pathToYml = @"..\..\..\..\.docker\test-enviroment.yml";

            if (!File.Exists(pathToYml))
            {
                throw new FileNotFoundException();
            }

            if (_dockerCompose == null)
            {
                _dockerCompose = new DockerCompose(pathToYml, "RABBIT-DONE!");
            }
        }
Пример #10
0
        public async Task FullIntegrationTest()
        {
            using var _ = DockerCompose
                          .WithComposeFile("Integration.Tests.Compose.yml")
                          .ForceBuild()
                          .ForceReCreate()
                          .Up();

            var client = CreateClient();

            await CreateTestTable(client);

            var tables = await client.ListTablesAsync();

            Assert.True(tables.TableNames.Count == 1, "Wrong number of tables.  Expected 1 but got " + tables.TableNames.Count);
        }
Пример #11
0
        public void Execute(string stack, IProgress <TaskState> progress, DownOptions options, ILogger logger)
        {
            logger.Trace("stopping stack", new { stack });

            var result = DockerCompose.Down(stack, options.PassthroughArguments, options.RemoveOrphans, false);

            if (result.ExitCode == 0)
            {
                logger.Info("stopped stack", new { stack });
                progress.Report(TaskState.Success);
            }
            else
            {
                logger.Error("stopping stack failed", new { stack });
                logger.Debug("stopping stack failed", new { stack, compose_stdout = result.Output, compose_stderr = result.Error });

                ErrorPrinter.SubProcessError($"Stopping stack {stack} failed.", "docker-compose down", result);
                progress.Report(TaskState.Failure);
            }
        }
Пример #12
0
        public void Execute(string stack, IProgress <TaskState> progress, UpOptions options, ILogger logger)
        {
            logger.Trace("starting stack", new { stack });

            var result = DockerCompose.Up(stack, options.PassthroughArguments, !options.Attach, options.ForceRecreate, false);

            if (result.ExitCode == 0)
            {
                logger.Info("started stack", new { stack });
                progress.Report(TaskState.Success);
            }
            else
            {
                logger.Error("starting stack failed", new { stack });
                logger.Debug("starting stack failed", new { stack, compose_stdout = result.Output, compose_stderr = result.Error });

                ErrorPrinter.SubProcessError($"Starting stack {stack} failed.", "docker-compose up", result);
                progress.Report(TaskState.Failure);
            }
        }
Пример #13
0
 public static void TearDown()
 {
     DockerCompose.Down();
 }
Пример #14
0
        public override void Execute(LogsOptions options, ILogger logger)
        {
            logger.Warn("logging docker logs is not supported");

            DockerCompose.Logs(options.Stacks, options.Services, options.Follow, options.ShowTimestamps);
        }
Пример #15
0
 public void TestUp()
 {
     DockerCompose.Up("docker-compose.yml", null, new Dictionary <string, int> {
         ["mongo"] = 27017
     });
 }
Пример #16
0
        public override void Execute(ShellOptions options, ILogger logger)
        {
            logger.Warn("logging shell output is not supported");

            DockerCompose.Exec(options.Stack, options.Service, options.Shell, extraArguments: options.PassthroughArguments);
        }