コード例 #1
0
        public static ITestcontainersBuilder <T> WithMessageBroker <T>(this ITestcontainersBuilder <T> builder, TestcontainerMessageBrokerConfiguration configuration)
            where T : TestcontainerMessageBroker
        {
            foreach (var environment in configuration.Environments)
            {
                builder = builder.WithEnvironment(environment.Key, environment.Value);
            }

            return(builder
                   .WithImage(configuration.Image)
                   .WithPortBinding(configuration.Port, configuration.DefaultPort)
                   .WithOutputConsumer(configuration.OutputConsumer)
                   .WithWaitStrategy(configuration.WaitStrategy)
                   .ConfigureContainer((container) =>
            {
                container.Hostname = configuration.Hostname;
                container.Port = configuration.Port;
                container.Username = configuration.Username;
                container.Password = configuration.Password;
            }));
        }
        public static ITestcontainersBuilder <T> WithMessageBroker <T>(this ITestcontainersBuilder <T> builder, TestcontainerMessageBrokerConfiguration configuration)
            where T : TestcontainerMessageBroker
        {
            builder = configuration.Environments.Aggregate(builder, (current, environment)
                                                           => current.WithEnvironment(environment.Key, environment.Value));

            return(builder
                   .WithImage(configuration.Image)
                   .WithPortBinding(configuration.Port, configuration.DefaultPort)
                   .WithOutputConsumer(configuration.OutputConsumer)
                   .WithWaitStrategy(configuration.WaitStrategy)
                   .ConfigureContainer(container =>
            {
                container.ContainerPort = configuration.DefaultPort;
                container.Username = configuration.Username;
                container.Password = configuration.Password;
            }));
        }