Best Testcontainers-dotnet code snippet using DotNet.Testcontainers.Tests.Unit.Containers.Unix.TestcontainersContainerTest.Hostname
TestcontainersContainerTest.cs
Source:TestcontainersContainerTest.cs  
...67          Assert.EndsWith(name, testcontainer.Name);68        }69      }70      [Fact]71      public async Task Hostname()72      {73        // Given74        const string hostname = "alpine";75        // When76        var testcontainersBuilder = new TestcontainersBuilder<TestcontainersContainer>()77          .WithImage("alpine")78          .WithEntrypoint("/bin/sh", "-c", $"hostname | grep '{hostname}' &> /dev/null")79          .WithHostname(hostname);80        // Then81        await using (ITestcontainersContainer testcontainer = testcontainersBuilder.Build())82        {83          await testcontainer.StartAsync();84          Assert.Equal(0, await testcontainer.GetExitCode());85        }86      }87      [Fact]88      public async Task MacAddress()89      {90        // Given91        const string macAddress = "92:95:5e:30:fe:6d";92        // When93        var testcontainersBuilder = new TestcontainersBuilder<TestcontainersContainer>()94          .WithImage("alpine")95          .WithEntrypoint(KeepTestcontainersUpAndRunning.Command)96          .WithMacAddress(macAddress);97        // Then98        await using (ITestcontainersContainer testcontainer = testcontainersBuilder.Build())99        {100          await testcontainer.StartAsync();101          Assert.Equal(macAddress, testcontainer.MacAddress);102        }103      }104      [Fact]105      public async Task WorkingDirectory()106      {107        // Given108        var testcontainersBuilder = new TestcontainersBuilder<TestcontainersContainer>()109          .WithImage("alpine")110          .WithEntrypoint("/bin/sh", "-c", "test -d /tmp && exit $? || exit $?")111          .WithWorkingDirectory("/tmp");112        // When113        // Then114        await using (ITestcontainersContainer testcontainer = testcontainersBuilder.Build())115        {116          await testcontainer.StartAsync();117          Assert.Equal(0, await testcontainer.GetExitCode());118        }119      }120      [Fact]121      public async Task Entrypoint()122      {123        // Given124        var testcontainersBuilder = new TestcontainersBuilder<TestcontainersContainer>()125          .WithImage("alpine")126          .WithEntrypoint("/bin/sh", "-c", "exit 255");127        // When128        // Then129        await using (ITestcontainersContainer testcontainer = testcontainersBuilder.Build())130        {131          await testcontainer.StartAsync();132          Assert.Equal(255, await testcontainer.GetExitCode());133        }134      }135      [Fact]136      public async Task ExposedPorts()137      {138        // Given139        var testcontainersBuilder = new TestcontainersBuilder<TestcontainersContainer>()140          .WithImage("alpine")141          .WithEntrypoint(KeepTestcontainersUpAndRunning.Command)142          .WithExposedPort(80);143        // When144        // Then145        await using (ITestcontainersContainer testcontainer = testcontainersBuilder.Build())146        {147          var exception = await Record.ExceptionAsync(() => testcontainer.StartAsync());148          Assert.Null(exception);149        }150      }151      [Theory]152      [InlineData(80, 80)]153      [InlineData(443, 80)]154      public async Task PortBindingsHttpAndHttps(int hostPort, int containerPort)155      {156        // Given157        var testcontainersBuilder = new TestcontainersBuilder<TestcontainersContainer>()158          .WithImage("nginx")159          .WithPortBinding(hostPort, containerPort)160          .WithWaitStrategy(Wait.ForUnixContainer()161            .UntilPortIsAvailable(containerPort));162        // When163        // Then164        await using (ITestcontainersContainer testcontainer = testcontainersBuilder.Build())165        {166          await testcontainer.StartAsync();167          using (var httpClient = new HttpClient())168          {169            using (var response = await httpClient.GetAsync($"http://localhost:{hostPort}"))170            {171              Assert.True(HttpStatusCode.OK.Equals(response.StatusCode), $"nginx port {hostPort} is not available.");172            }173          }174        }175      }176      [Fact]177      public async Task RandomHostPortBindings()178      {179        // Given180        var testcontainersBuilder = new TestcontainersBuilder<TestcontainersContainer>()181          .WithImage("nginx")182          .WithEntrypoint(KeepTestcontainersUpAndRunning.Command)183          .WithPortBinding(80, true);184        // When185        // Then186        await using (ITestcontainersContainer testcontainer = testcontainersBuilder.Build())187        {188          await testcontainer.StartAsync();189          Assert.NotEqual(0, testcontainer.GetMappedPublicPort(80));190        }191      }192      [Fact]193      public async Task BindMountAndCommand()194      {195        // Given196        const string target = "tmp";197        const string file = "hostname";198        // When199        var testcontainersBuilder = new TestcontainersBuilder<TestcontainersContainer>()200          .WithImage("nginx")201          .WithEntrypoint("/bin/sh", "-c")202          .WithCommand($"hostname > /{target}/{file} && tail -f /dev/null")203          .WithBindMount(TempPath, $"/{target}")204          .WithWaitStrategy(Wait.ForUnixContainer()205            .UntilFileExists(Path.Combine(TempPath, file)));206        await using (ITestcontainersContainer testcontainer = testcontainersBuilder.Build())207        {208          await testcontainer.StartAsync();209        }210        // Then211        Assert.True(File.Exists(Path.Combine(TempPath, file)), $"{file} does not exist.");212      }213      [Fact]214      public async Task BindMountAndEnvironment()215      {216        // Given217        const string target = "tmp";218        const string file = "dayOfWeek";219        var dayOfWeek = DateTime.UtcNow.DayOfWeek.ToString();220        // When221        var testcontainersBuilder = new TestcontainersBuilder<TestcontainersContainer>()222          .WithImage("nginx")223          .WithNetworkAliases("Foo")224          .WithEntrypoint("/bin/sh", "-c", $"printf $dayOfWeek > /{target}/{file} && tail -f /dev/null")225          .WithEnvironment("dayOfWeek", dayOfWeek)226          .WithBindMount(TempPath, $"/{target}")227          .ConfigureContainer(_ => { }) // https://github.com/testcontainers/testcontainers-dotnet/issues/507.228          .WithWaitStrategy(Wait.ForUnixContainer()229            .UntilFileExists(Path.Combine(TempPath, file)));230        await using (ITestcontainersContainer testcontainer = testcontainersBuilder.Build())231        {232          await testcontainer.StartAsync();233        }234        // Then235        Assert.Equal(dayOfWeek, await File.ReadAllTextAsync(Path.Combine(TempPath, file)));236      }237      [Fact]238      public async Task DockerEndpoint()239      {240        // Given241        var testcontainersBuilder = new TestcontainersBuilder<TestcontainersContainer>()242          .WithDockerEndpoint(TestcontainersSettings.OS.DockerEndpointAuthConfig)243          .WithImage("alpine")244          .WithEntrypoint(KeepTestcontainersUpAndRunning.Command);245        // When246        // Then247        await using (ITestcontainersContainer testcontainer = testcontainersBuilder.Build())248        {249          var exception = await Record.ExceptionAsync(() => testcontainer.StartAsync());250          Assert.Null(exception);251        }252      }253      [Theory]254      [InlineData("localhost", "npipe://./pipe/docker_engine")]255      [InlineData("localhost", "unix:/var/run/docker.sock")]256      [InlineData("docker", "http://docker")]257      [InlineData("docker", "https://docker")]258      [InlineData("docker", "tcp://docker")]259      [InlineData("1.1.1.1", "http://1.1.1.1")]260      [InlineData("1.1.1.1", "https://1.1.1.1")]261      [InlineData("1.1.1.1", "tcp://1.1.1.1")]262      public async Task HostnameShouldMatchDockerGatewayAddress(string expectedHostname, string endpoint)263      {264        // Given265        var testcontainersBuilder = new TestcontainersBuilder<TestcontainersContainer>()266          .WithImage("alpine")267          .WithDockerEndpoint(endpoint);268        // When269        // Then270        await using (var testcontainer = testcontainersBuilder.Build())271        {272          Assert.Equal(expectedHostname, testcontainer.Hostname);273        }274      }275      [Fact]276      public async Task OutputConsumer()277      {278        // Given279        var unixTimeInMilliseconds = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString(CultureInfo.InvariantCulture);280        using (var consumer = Consume.RedirectStdoutAndStderrToStream(new MemoryStream(), new MemoryStream()))281        {282          // When283          var testcontainersBuilder = new TestcontainersBuilder<TestcontainersContainer>()284            .WithImage("alpine")285            .WithEntrypoint("/bin/sh", "-c", $"printf \"{unixTimeInMilliseconds}\" | tee /dev/stderr && tail -f /dev/null")286            .WithOutputConsumer(consumer)...Hostname
Using AI Code Generation
1using System;2using System.Net;3using System.Threading.Tasks;4using DotNet.Testcontainers.Containers.Builders;5using DotNet.Testcontainers.Containers.Configurations;6using DotNet.Testcontainers.Containers.Modules;7using DotNet.Testcontainers.Containers.WaitStrategies;8using DotNet.Testcontainers.Tests.Fixtures;9using DotNet.Testcontainers.Tests.Unit.Containers.Unix;10using Xunit;11{12  {13    private readonly DockerApiFixture dockerApiFixture;14    public TestcontainersContainerTest(DockerApiFixture dockerApiFixture)15    {16      this.dockerApiFixture = dockerApiFixture;17    }18    public async Task Hostname()19    {20      ITestcontainersContainer container = null;21      {22        container = new TestcontainersBuilder<TestcontainersContainer>()23          .WithImage("alpine:3.8")24          .WithCommand("sleep", "3600")25          .WithWaitStrategy(Wait.ForUnixContainer().UntilCommandIsCompleted("echo"))26          .Build();27        await container.StartAsync();28        Assert.Equal("alpine", container.Hostname);29      }30      {31        if (container != null)32        {33          await container.StopAsync();34          await container.DisposeAsync();35        }36      }37    }38  }39}40using System;41using System.Net;42using System.Threading.Tasks;43using DotNet.Testcontainers.Containers.Builders;44using DotNet.Testcontainers.Containers.Configurations;45using DotNet.Testcontainers.Containers.Modules;46using DotNet.Testcontainers.Containers.WaitStrategies;47using DotNet.Testcontainers.Tests.Fixtures;48using DotNet.Testcontainers.Tests.Unit.Containers.Unix;49using Xunit;50{51  {52    private readonly DockerApiFixture dockerApiFixture;53    public TestcontainersContainerTest(DockerApiFixture dockerApiFixture)54    {55      this.dockerApiFixture = dockerApiFixture;56    }57    public async Task Hostname()58    {59      ITestcontainersContainer container = null;Hostname
Using AI Code Generation
1using System;2using System.Collections.Generic;3using System.Linq;4using System.Text;5using System.Threading.Tasks;6using DotNet.Testcontainers.Tests.Unit.Containers.Unix;7{8    {9        static void Main(string[] args)10        {11            var testcontainersContainerTest = new TestcontainersContainerTest();12            testcontainersContainerTest.Hostname();13        }14    }15}16using System;17using System.Collections.Generic;18using System.Linq;19using System.Text;20using System.Threading.Tasks;21using DotNet.Testcontainers.Tests.Unit.Containers.Unix;22{23    {24        static void Main(string[] args)25        {26            var testcontainersContainerTest = new TestcontainersContainerTest();27            testcontainersContainerTest.Hostname();28        }29    }30}31using System;32using System.Collections.Generic;33using System.Linq;34using System.Text;35using System.Threading.Tasks;36using DotNet.Testcontainers.Tests.Unit.Containers.Unix;37{38    {39        static void Main(string[] args)40        {41            var testcontainersContainerTest = new TestcontainersContainerTest();42            testcontainersContainerTest.Hostname();43        }44    }45}46using System;47using System.Collections.Generic;48using System.Linq;49using System.Text;50using System.Threading.Tasks;51using DotNet.Testcontainers.Tests.Unit.Containers.Unix;52{53    {54        static void Main(string[] args)55        {56            var testcontainersContainerTest = new TestcontainersContainerTest();57            testcontainersContainerTest.Hostname();58        }59    }60}61using System;62using System.Collections.Generic;63using System.Linq;64using System.Text;65using System.Threading.Tasks;66using DotNet.Testcontainers.Tests.Unit.Containers.Unix;67{68    {69        static void Main(stringHostname
Using AI Code Generation
1using DotNet.Testcontainers.Tests.Unit.Containers.Unix;2var testcontainersContainerTest = new TestcontainersContainerTest();3testcontainersContainerTest.Hostname();4using DotNet.Testcontainers.Tests.Unit.Containers.Unix;5var dockerContainerTest = new DockerContainerTest();6dockerContainerTest.Hostname();7using DotNet.Testcontainers.Tests.Unit.Containers.Unix;8var dockerContainerTest = new DockerContainerTest();9dockerContainerTest.Hostname();10using DotNet.Testcontainers.Tests.Unit.Containers.Unix;11var dockerContainerTest = new DockerContainerTest();12dockerContainerTest.Hostname();13using DotNet.Testcontainers.Tests.Unit.Containers.Unix;14var dockerContainerTest = new DockerContainerTest();15dockerContainerTest.Hostname();16using DotNet.Testcontainers.Tests.Unit.Containers.Unix;17var dockerContainerTest = new DockerContainerTest();18dockerContainerTest.Hostname();19using DotNet.Testcontainers.Tests.Unit.Containers.Unix;20var dockerContainerTest = new DockerContainerTest();21dockerContainerTest.Hostname();22using DotNet.Testcontainers.Tests.Unit.Containers.Unix;23var dockerContainerTest = new DockerContainerTest();24dockerContainerTest.Hostname();25using DotNet.Testcontainers.Tests.Unit.Containers.Unix;26var dockerContainerTest = new DockerContainerTest();Hostname
Using AI Code Generation
1using System;2using System.Threading.Tasks;3using DotNet.Testcontainers.Tests.Unit.Containers.Unix;4using Xunit;5{6    {7        public async Task Test()8        {9            var testcontainersContainer = new TestcontainersContainerTest();10            var hostname = await testcontainersContainer.Hostname();11            Console.WriteLine(hostname);12        }13    }14}15using System;16using System.Threading.Tasks;17using DotNet.Testcontainers.Tests.Unit.Containers.Unix;18using Xunit;19{20    {21        public async Task Test()22        {23            var testcontainersContainer = new TestcontainersContainerTest();24            var hostname = await testcontainersContainer.Hostname();25            Console.WriteLine(hostname);26        }27    }28}29using System;30using System.Threading.Tasks;31using DotNet.Testcontainers.Tests.Unit.Containers.Unix;32using Xunit;33{34    {35        public async Task Test()36        {37            var testcontainersContainer = new TestcontainersContainerTest();38            var hostname = await testcontainersContainer.Hostname();39            Console.WriteLine(hostname);40        }41    }42}43using System;44using System.Threading.Tasks;45using DotNet.Testcontainers.Tests.Unit.Containers.Unix;46using Xunit;47{48    {49        public async Task Test()50        {51            var testcontainersContainer = new TestcontainersContainerTest();52            var hostname = await testcontainersContainer.Hostname();53            Console.WriteLine(hostname);54        }55    }56}57using System;58using System.Threading.Tasks;Hostname
Using AI Code Generation
1var hostname = new TestcontainersContainerTest().Hostname;2var hostname = new TestcontainersContainerTest().Hostname;3var hostname = new TestcontainersContainerTest().Hostname;4var hostname = new TestcontainersContainerTest().Hostname;5var hostname = new TestcontainersContainerTest().Hostname;6var hostname = new TestcontainersContainerTest().Hostname;7var hostname = new TestcontainersContainerTest().Hostname;8var hostname = new TestcontainersContainerTest().Hostname;9var hostname = new TestcontainersContainerTest().Hostname;10var hostname = new TestcontainersContainerTest().Hostname;11var hostname = new TestcontainersContainerTest().Hostname;12var hostname = new TestcontainersContainerTest().Hostname;Hostname
Using AI Code Generation
1using System;2using System.Threading.Tasks;3using DotNet.Testcontainers.Tests.Unit.Containers.Unix;4{5    {6        static async Task Main(string[] args)7        {8            var testcontainer = new TestcontainersContainerTest();9            Console.WriteLine(testcontainer.Hostname);10        }11    }12}Hostname
Using AI Code Generation
1Hello, I am trying to use the Hostname method of the TestcontainersContainer class, but I am getting the following error: "The type or namespace name 'Testcontainers' does not exist in the namespace 'DotNet' (are you missing an assembly reference?)". I am using the following code:2using DotNet.Testcontainers.Tests.Unit.Containers.Unix;3{4    {5        static void Main(string[] args)6        {7            TestcontainersContainer container = new TestcontainersContainer();8            container.Hostname("test");9        }10    }11}12using System;13using System.Threading.Tasks;14using DotNet.Testcontainers.Containers.Builders;15using DotNet.Testcontainers.Containers.Configurations.Databases;16using DotNet.Testcontainers.Containers.Modules.Databases;17using DotNet.Testcontainers.Containers.WaitStrategies;18{19    {20        static async Task Main(string[] args)21        {22            ITestcontainersBuilder<TestcontainersContainer> builder = new TestcontainersBuilder<TestcontainersContainer>()23                .WithDatabase(new PostgreSqlTestcontainerConfiguration())24                .WithWaitStrategy(Wait.ForUnixContainer().UntilPortIsAvailable(5432));25            using (TestcontainersContainer container = builder.Build())26            {27                await container.StartAsync();28                Console.WriteLine($"Host: {container.Hostname}");29                Console.WriteLine($"Port: {container.GetMappedPublicPort(5432)}");30                Console.WriteLine($"Database: {container.Database}");31                Console.WriteLine($"Username: {container.Username}");32                Console.WriteLine($"Password: {container.Password}");33            }34        }35    }36}Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
