Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,31 @@
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="BouncyCastle.Cryptography" Version="2.6.1"/>
<PackageVersion Include="Docker.DotNet.Enhanced.X509" Version="3.129.0"/>
<PackageVersion Include="Docker.DotNet.Enhanced" Version="3.129.0"/>
<PackageVersion Include="BouncyCastle.Cryptography" Version="2.6.2"/>
<PackageVersion Include="Docker.DotNet.Enhanced.X509" Version="3.130.0"/>
<PackageVersion Include="Docker.DotNet.Enhanced" Version="3.130.0"/>
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="8.0.0"/>
<PackageVersion Include="Microsoft.Bcl.HashCode" Version="1.1.1"/>
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.3"/>
<PackageVersion Include="SharpZipLib" Version="1.4.2"/>
<PackageVersion Include="SSH.NET" Version="2024.2.0"/>
<PackageVersion Include="SSH.NET" Version="2025.1.0"/>
<!-- Cake build: -->
<PackageVersion Include="Cake.Frosting.Git" Version="5.0.1"/>
<PackageVersion Include="Cake.Frosting" Version="5.0.0"/>
<PackageVersion Include="Cake.Sonar" Version="5.0.0"/>
<!-- Unit and integration test dependencies: -->
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.11.1"/>
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.0.1"/>
<PackageVersion Include="Microsoft.Extensions.Diagnostics.Testing" Version="8.10.0"/>
<PackageVersion Include="coverlet.collector" Version="6.0.4"/>
<PackageVersion Include="Dapper" Version="2.1.66"/>
<PackageVersion Include="ReflectionMagic" Version="5.0.1"/>
<PackageVersion Include="xunit.analyzers" Version="1.21.0"/>
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.0"/>
<PackageVersion Include="xunit.analyzers" Version="1.25.0"/>
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5"/>
<PackageVersion Include="xunit" Version="2.9.3"/>
<PackageVersion Include="xunit.v3" Version="2.0.2"/>
<PackageVersion Include="xunit.v3" Version="3.1.0"/>
<!-- xUnit.net extensibility for Testcontainers.Xunit and Testcontainers.XunitV3 packages: -->
<PackageVersion Include="xunit.extensibility.execution" Version="2.9.3"/>
<PackageVersion Include="xunit.v3.extensibility.core" Version="2.0.2"/>
<PackageVersion Include="xunit.v3.extensibility.core" Version="3.1.0"/>
<!-- Third-party client dependencies to connect and interact with the containers: -->
<PackageVersion Include="Apache.NMS.ActiveMQ" Version="2.1.1"/>
<PackageVersion Include="ArangoDBNetStandard" Version="2.0.1"/>
Expand All @@ -40,7 +40,7 @@
<PackageVersion Include="Azure.Data.Tables" Version="12.8.0"/>
<PackageVersion Include="Azure.Identity" Version="1.13.2"/>
<PackageVersion Include="Azure.Messaging.EventHubs" Version="5.11.3"/>
<PackageVersion Include="Azure.Messaging.ServiceBus" Version="7.18.2"/>
<PackageVersion Include="Azure.Messaging.ServiceBus" Version="7.20.1"/>
<PackageVersion Include="Azure.Security.KeyVault.Certificates" Version="4.7.0"/>
<PackageVersion Include="Azure.Security.KeyVault.Secrets" Version="4.7.0"/>
<PackageVersion Include="Azure.Storage.Blobs" Version="12.17.0"/>
Expand All @@ -62,14 +62,14 @@
<PackageVersion Include="Google.Cloud.PubSub.V1" Version="3.5.0"/>
<PackageVersion Include="Google.Cloud.Storage.V1" Version="4.6.0"/>
<PackageVersion Include="InfluxDB.Client" Version="4.18.0"/>
<PackageVersion Include="JanusGraph.Net" Version="1.0.0"/>
<PackageVersion Include="JanusGraph.Net" Version="1.1.0"/>
<PackageVersion Include="Keycloak.Net.Core" Version="1.0.20"/>
<PackageVersion Include="KubernetesClient" Version="17.0.14"/>
<PackageVersion Include="Microsoft.Azure.Cosmos" Version="3.32.1"/>
<PackageVersion Include="Microsoft.Azure.Kusto.Data" Version="12.2.8"/>
<PackageVersion Include="Microsoft.Data.SqlClient" Version="5.2.2"/>
<PackageVersion Include="Microsoft.Playwright" Version="1.55.0"/>
<PackageVersion Include="Milvus.Client" Version="2.2.2-preview.6"/>
<PackageVersion Include="Milvus.Client" Version="2.3.0-preview.1"/>
<PackageVersion Include="MongoDB.Driver" Version="3.2.0"/>
<PackageVersion Include="MQTTnet" Version="5.0.1.1416"/>
<PackageVersion Include="MyCouch" Version="7.6.0"/>
Expand Down
10 changes: 6 additions & 4 deletions src/Testcontainers.Mosquitto/MosquittoBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ public override MosquittoContainer Build()
{
Validate();

const string allowAnonymous = "allow_anonymous true";

// Maybe we should move this into the startup callback.
var mosquittoConfig = new StringWriter();
mosquittoConfig.NewLine = "\n";
Expand All @@ -76,21 +78,21 @@ public override MosquittoContainer Build()
mosquittoConfig.WriteLine("# MQTT, unencrypted, unauthenticated");
mosquittoConfig.WriteLine($"listener {MqttPort} 0.0.0.0");
mosquittoConfig.WriteLine("protocol mqtt");
mosquittoConfig.WriteLine("allow_anonymous true");
mosquittoConfig.WriteLine(allowAnonymous);

mosquittoConfig.WriteLine();
mosquittoConfig.WriteLine("# MQTT over WebSockets, unencrypted, unauthenticated");
mosquittoConfig.WriteLine($"listener {MqttWsPort} 0.0.0.0");
mosquittoConfig.WriteLine("protocol websockets");
mosquittoConfig.WriteLine("allow_anonymous true");
mosquittoConfig.WriteLine(allowAnonymous);

if (DockerResourceConfiguration.TlsEnabled)
{
mosquittoConfig.WriteLine();
mosquittoConfig.WriteLine("# MQTT, encrypted, unauthenticated");
mosquittoConfig.WriteLine($"listener {MqttTlsPort} 0.0.0.0");
mosquittoConfig.WriteLine("protocol mqtt");
mosquittoConfig.WriteLine("allow_anonymous true");
mosquittoConfig.WriteLine(allowAnonymous);
mosquittoConfig.WriteLine("tls_version tlsv1.2");
mosquittoConfig.WriteLine($"certfile {CertificateFilePath}");
mosquittoConfig.WriteLine($"keyfile {CertificateKeyFilePath}");
Expand All @@ -99,7 +101,7 @@ public override MosquittoContainer Build()
mosquittoConfig.WriteLine("# MQTT over WebSockets, encrypted, unauthenticated");
mosquittoConfig.WriteLine($"listener {MqttWssPort} 0.0.0.0");
mosquittoConfig.WriteLine("protocol websockets");
mosquittoConfig.WriteLine("allow_anonymous true");
mosquittoConfig.WriteLine(allowAnonymous);
mosquittoConfig.WriteLine("tls_version tlsv1.2");
mosquittoConfig.WriteLine($"certfile {CertificateFilePath}");
mosquittoConfig.WriteLine($"keyfile {CertificateKeyFilePath}");
Expand Down
1 change: 1 addition & 0 deletions src/Testcontainers/Clients/DockerApiClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ await RuntimeInitialized.WaitAsync(ct)
runtimeInfo.AppendLine(" Labels: ");
runtimeInfo.Append(string.Join(Environment.NewLine, labels.Select(label => " " + label)));
}

Logger.LogInformation("{RuntimeInfo}", runtimeInfo);
}
catch (Exception e)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@ public sealed class SkipOnLinuxEngineAttribute : FactAttribute
{
private static readonly bool IsLinuxEngineEnabled = DockerCli.PlatformIsEnabled(DockerCli.DockerPlatform.Linux);

public SkipOnLinuxEngineAttribute()
public SkipOnLinuxEngineAttribute(
[CallerFilePath] [CanBeNull] string sourceFilePath = null,
[CallerLineNumber] int sourceLineNumber = -1)
: base(sourceFilePath, sourceLineNumber)
{
if (IsLinuxEngineEnabled)
{
Expand Down
1 change: 1 addition & 0 deletions tests/Testcontainers.Platform.Windows.Tests/Usings.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
global using System;
global using System.Runtime.CompilerServices;
global using System.Threading.Tasks;
global using DotNet.Testcontainers.Builders;
global using DotNet.Testcontainers.Commons;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ namespace DotNet.Testcontainers.Tests.Unit
using DotNet.Testcontainers.Builders;
using DotNet.Testcontainers.Commons;
using DotNet.Testcontainers.Configurations;
using JetBrains.Annotations;
using Xunit;

public static class DockerConfigTests
Expand Down Expand Up @@ -152,7 +153,10 @@ public void ReturnsConfiguredEndpointWhenDockerHostIsSet()

private sealed class SkipIfHostOrContextIsSet : FactAttribute
{
public SkipIfHostOrContextIsSet()
public SkipIfHostOrContextIsSet(
[CallerFilePath] [CanBeNull] string sourceFilePath = null,
[CallerLineNumber] int sourceLineNumber = -1)
: base(sourceFilePath, sourceLineNumber)
{
const string reason = "The Docker CLI doesn't know about ~/.testcontainers.properties file.";
var dockerHost = PropertiesFileConfiguration.Instance.GetDockerHost();
Expand Down