testcontainers-dotnet

A library to support tests with throwaway instances of Docker containers for all compatible .NET Standard versions.

MIT License

Stars
3.5K
Committers
97

Bot releases are hidden (Show)

testcontainers-dotnet - Release 2.3.0

Published by HofmeisterAn almost 2 years ago

As part of this release we had 9 issues closed.

Added

  • #531 Add Docker health status wait strategy (@kfrajtak)
  • #640 Add ITestcontainersBuilder<TDockerContainer>.WithResourceMapping to copy files or any binary contents into the created container before it is started
  • #654 Add ITestcontainersNetworkBuilder.WithOption (@vlaskal)
  • #678 Add support of custom configuration TESTCONTAINERS_HOST_OVERRIDE and TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE
  • #694 Add Resource Reaper (Ryuk) privileged mode support (TESTCONTAINERS_RYUK_CONTAINER_PRIVILEGED)

Changed

  • #642 Expose container port bindings automatically
  • #603 Add default logger that forwards messages to the console (does not support every test environment)
  • #683 Return the gateway address (IDockerContainer.Hostname) of a network if one is assigned
  • #703 ResourceReaper.GetAndStartDefaultAsync no longer support optional arguments, it is necessary to set the Resource Reaper configuration immediately

Fixed

  • #610 Trim traling slashes in Dockerfile directory path (otherwise, it cuts the first character of the relative path), Normalize paths to forward slashes
  • #648 Always include .dockerignore and Dockerfile files in tarball (docker build)
  • #650 Update SharpZipLib to version 1.4.1 to prevent a deadlock in the Docker container image build
  • #666 DockerImageNotFoundException when logged in with Docker Desktop instead of the CLI

Thanks for your contributions 🙏

testcontainers-dotnet - Release 2.2.0

Published by HofmeisterAn almost 2 years ago

As part of this release we had 24 issues closed.

Added

  • #370 Add protected Docker daemon socket support (@vlaskal)
  • #421 Add Azurite module (@vlaskal)
  • #421 Add Cosmos DB Linux Emulator (@Yeseh, @ktjn)
  • #504 Add Elasticsearch module (@chertby)
  • #516 Add ITestcontainersBuilder<TDockerContainer>.WithTmpfsMount (@chrisbbe)
  • #520 Add MariaDB module (@renemadsen)
  • #528 Do not require the Docker host configuration (DockerEndpointAuthConfig) on TestcontainersSettings initialization
  • #538 Support optional username and password in MongoDB connection string (@the-avid-engineer)
  • #540 Add Docker registry authentication provider for DOCKER_AUTH_CONFIG environment variable (@vova-lantsov-dev)
  • #541 Allow MsSqlTestcontainerConfiguration custom database names (@enginexon)
  • #558 Support relative base directories other than the working directory with WithDockerfileDirectory
  • #565 Add ExecScriptAsync (MongoDB Shell) to MongoDB module
  • #579 Add Neo4j module (@kaiserbergin)
  • #583 Add XML documentation to NuGet
  • #592 Add LocalStack module (@bgener)
  • #594 Add IDockerContainer.GetLogs
  • #601 Add ITestcontainersBuilder<TDockerContainer>.WithImagePullPolicy (@BenasB)
  • #616 Add ITestcontainersBuilder<TDockerContainer>.WithMacAddress (@seb1992)
  • #618 Match .dockerignore entry * to all files and directories
  • #626 Support MySQL root password configuration (@DanielHabenicht)

Changed

  • #571 Update wnameless/oracle-xe-11g-r2 to gvenzl/oracle-xe:21-slim

Fixed

  • #525 Read ServerURL, Username and Secret field from CredsStore response to pull private Docker images
  • #595 Implement TestcontainersContainer.DisposeAsync thread safe (rename TestcontainersState to TestcontainersStates)
  • #604 Do not deny all files in the Docker image tarball when a .dockerignore entry ends with /
  • #610 Do not deny all files in the Docker image tarball when a .dockerignore entry ends with /*
  • #632 Execute local database scripts (inside the container) against localhost
  • #634 JsonReaderException in Docker.DotNet with Docker Desktop 4.13.0 (https://github.com/dotnet/Docker.DotNet/issues/595)

Thanks for your contributions 🙏

testcontainers-dotnet - Release 2.1.0

Published by HofmeisterAn about 2 years ago

As part of this release we had 11 issues closed.

Added

  • #481 Add builder access to the CreateContainerParameters instance (@Xitric)
  • #483 Support custom resource reaper image via TestcontainersSettings.ResourceReaperImage (@vlaskal)
  • #495 Add CHANGELOG.md
  • #496 Support ~/.testcontainers.properties custom configuration
  • #500 Add trace output while building or pulling a Docker image (@michal-korniak)
  • #501 Throw an exception when Docker image has not been built (@michal-korniak)
  • #509 Check if the authentication provider can establish a Docker endpoint connection
  • #510 Add IImageFromDockerfileBuilder.WithBuildArgument (@michal-korniak)
  • #511 Remove temp Dockerfile archive after Docker build (@michal-korniak)
  • #512 Throw ArgumentException if Docker image name contains uppercase characters (@michal-korniak)

Removed

  • #497 Remove ResourceReaperDiagnostics

Fixed

  • #431 Fix System.InvalidOperationException : cannot hijack chunked or content length stream (update Docker.DotNet dependency)
  • #449 Fix wrong mapped public host port
  • #484 Fix unit tests that fail on Windows hosts (@vlaskal)
  • #507 Fix ITestcontainersConfiguration duplication, such as DockerApiException : [...] Duplicate mount point [...] (@alesandrino)

Thanks for your contributions 🙏

testcontainers-dotnet - Release 2.0.1

Published by HofmeisterAn over 2 years ago

As part of this patch release we had 2 issues closed.

  • #449 Fixes ResourceReaperException, Testcontainers couldn't establish a connection to the resource reaper (public host port wasn't set)
  • #485 Fixes ArgumentNullException while mapping the network configurations in TestcontainersConfigurationConverter (@pellared)
testcontainers-dotnet - Release 2.0.0

Published by HofmeisterAn over 2 years ago

With this release, we transferred the repository to the official Testcontainers organization. As part of this release we had 3 issues closed.

  • #455 Add WithNetworkAliases (@vlaskal).
  • #461 Add Docker credentials helpers (@harrhp).
  • #470 Fixes HubImageNamePrefix in combination with private Docker registry credentials (@bohlenc).
testcontainers-dotnet - Release 1.6.0

Published by HofmeisterAn over 2 years ago

As part of this release we had 10 issues closed.

⚠️ This version has breaking changes. It contains a lot of new features, including performance and stability improvements.

  • #242, #464 Add Resource Reaper (@PSanetra, @s-rech).
  • #393 Pass container instance to wait strategy.
  • #398 Add MongoDB module (@RMariowski).
  • #403 Add managed volume.
  • #430 Get file from a running container (@s-rech).
  • #444 Add Docker credentials store (credentials helpers not included).
  • #463 Use DOCKER_HOST as Docker endpoint (supports custom client configurations).
  • #466 Add Docker Hub substitution (@bohlenc).
  • #428 Fixes NullReferenceException when Docker image is not set (@jlevier-ae).
  • #390 Get the ExecResult instead of the exit code from IDockerContainerOperations.ExecAsync (@fabiogouw).
  • #399 Add IDatabaseScript.IDatabaseScript for TestcontainerDatabase (@fabiogouw).

📝 If your Docker host can't access the domain socket (or IPC socket) /var/run/docker.sock, disable the Resource Reaper (TestcontainersSettings.ResourceReaperEnabled = false).

testcontainers-dotnet - Release 1.5.0

Published by HofmeisterAn over 3 years ago

As part of this release we had 7 issues closed.

  • #356, #357 Add WithStartupCallback.
  • #324 Add WithNetwork (@brethubbard).
  • #371 Add UDP, TCP and SCTP support for port bindings (@Uzivatel919).
  • #381 Add netstandard2.0 (@chrisbbe).
  • #335 Fix issue, where StartAsync cannot be canceled.
  • #379 Fix issue, where the overwritten configuration (appsettings.Environment.json) was not applied (@as-ivanov).
testcontainers-dotnet - Release 1.4.0

Published by HofmeisterAn about 4 years ago

As part of this release we had 5 issues closed.

  • #31 Support authentication against private Docker Hubs.
  • #265 Replace SolutionInfo.cs with Shared.msbuild.
  • #258 Add Couchbase Testcontainers (@mustafaonuraydin).
  • #218 Add .dockerignore file support.
  • #309 Fix issue, where TestcontainersContainer.StartAsync breaks Coverlet code coverage generation.
  • Many minor improvements.
testcontainers-dotnet - Release 1.3.0

Published by HofmeisterAn over 4 years ago

As part of this release we had 5 issues closed.

  • #213 Support Docker-in-Docker (mounted docker-socket) (by @farodin91)
  • #220 Add Oracle XE example container (by @EvdAnton).
  • #232 Add missing Docker image name pattern (by @superkartoffel).
  • #237 Fix issue, where ImageFromDockerfileBuilder does not tag large Docker images (by @Jejuni).
  • #247 Fix issue, where ITestcontainersBuilder configurations were added twice for module configurations.
testcontainers-dotnet - Release 1.2.0

Published by HofmeisterAn over 4 years ago

As part of this release we had 4 issues closed.

⚠️ This version has breaking changes (relates to #199), to provide a more convenient experience setting up wait strategies.

  • #199 Add wait strategy chain to Testcontainers builder pattern.
  • #201 Add Windows test results to SonarCloud.
  • #203 Add wait strategies for Windows containers.
  • #196 Fix race condition in WaitUntilContainerIsRunning.
testcontainers-dotnet - Release 1.1.0

Published by HofmeisterAn almost 5 years ago

As part of this release we had 6 issues closed.

⚠️ This version has breaking changes (relates to #154 and commit e037aae), to provide reliable unit tests, the implementation of IAsyncDisposable (netstandard2.1) was necessary.

  • #160 Add WithDockerEndpoint to ITestcontainersBuilder.
  • #180 Add WithDockerfile to IImageFromDockerfileBuilder.
  • #181 Update nginx examples in README.md.
  • #154 Fix issue, where xUnit tests run in certain circumstances in a deadlock.
  • #178 Fix issue, where Wait.UntilPortsAreAvailable throws and exception if the container does not have /bin/bash (by @jdelucaa).
  • #183 Fix issue, where local Docker images where not found.
testcontainers-dotnet - Release 1.0.0

Published by HofmeisterAn almost 5 years ago

As part of this release we had 9 issues closed.

#119 Add missing wait strategy to test if database containers are up and running.
#126 Add missing function to purge orphaned containers if they are not disposed.
#135 Add missing function to get the containers exit code.
#163 Add missing function to execute commands in running containers.
#156 Implement IWaitUntil with n-repeats (by @ta-ja).
#168 Remove Docker associated volumes on clean up.
#153 Update version of pre-configured Testcontainers.
#141 Add missing test for WithEntrypoint.
#142 Add missing test for TestcontainerConfiguration.

testcontainers-dotnet - Release 0.0.9

Published by HofmeisterAn about 5 years ago

As part of this release we had 11 issues closed.

#100 Add pre-configured database container for CouchDB.
#101 Add pre-configured database container for Redis.
#102 Add pre-configured message broker container for RabbitMQ.
#116 Add wait strategy to capture log messages.
#131 Add NuGet package icon.
#123 Assign random host port to a private container port.
#129 Get random host port for a private container port.
#79 Replace StyleCop configuration with EditorConfig.
#105 Move DatabaseContainerTest into own database test classes.
#109 Replace Azure Pipelines build definition with azure-pipelines.yml.
#114 Update NuGet dependencies with minor improvements and stability fixes.

testcontainers-dotnet - Release 0.0.8

Published by HofmeisterAn over 5 years ago

As part of this release we had 8 issues closed.

  • #80 Add code of conduct CODE_OF_CONDUCT.md.
  • #85 Add native Windows Docker container support.
  • #88 Add commit message guidelines to CONTRIBUTING.md.
  • #94 Add Docker API call to query running Docker engine (OSType).
  • #83 Fix issue, where user defined wait strategies will be overwritten.
  • #86 Change the build pipeline configuration and disable telemetry and first-time experience.
  • #91 Change the build pipeline configuration and skip build tasks for pull requests.
  • #96 Improve test coverage and quality gate for the new release.
testcontainers-dotnet - Release 0.0.7

Published by HofmeisterAn over 5 years ago

As part of this release we had 4 issues closed.

  • #57 Add Dockerfile support.
  • #74 Add Dependabot.
  • #64, #66 Fix issue, where subdirectories were not added to the Dockerfile archive.
  • Many minor improvements within the project.
testcontainers-dotnet - Release 0.0.6

Published by HofmeisterAn over 5 years ago

As part of this release we had 5 issues closed.

  • #45 Add pre-configured Testcontainer for PostgreSql database.
  • #48 Add pre-configured Testcontainer for MySQL database.
  • #54 Add pre-configured Testcontainer for MSSQL database.
  • #46 Fix issue, where Docker API exceptions were swallowed.
  • #50 Bind host port to default database Testcontainer port.
testcontainers-dotnet - Release 0.0.5

Published by HofmeisterAn over 5 years ago

As part of this release we had 5 issues closed.

  • #30 Refactore builder pattern.
  • #34 Add wait strategy, to indicate when Testcontainer is ready.
  • #37 Remove language-ext dependency (still used in TestcontainersContainer class).
  • #39 Fix issue, where entrypoint and command is not merged together.
  • #41 Add consumer for stdout and stderr.
testcontainers-dotnet - Release 0.0.4

Published by HofmeisterAn over 5 years ago

As part of this release we had 6 issues closed.

  • #4 Add basic Docker features.
  • #8 Return new instance on every fluent invocation.
  • #9 Remove useless Lazy in build scripts.
  • #21 Get container information such as IPAddress or MacAddress.
  • #22 Add Docker command entrypoint.
  • #23 Add Docker command workingDir.