Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding public API test coverage #5250

Open
wants to merge 37 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
75bc84e
Microsoft.Extensions.ServiceDiscovery
Zombach Aug 9, 2024
0b237e5
Microsoft.Extensions.ServiceDiscovery.Abstractions
Zombach Aug 10, 2024
4a87f47
Merge branch 'dotnet:main' into validate-arguments-of-public-methods
Zombach Aug 10, 2024
b08bb94
Aspire.Keycloak.Authentication
Zombach Aug 11, 2024
162aff7
Aspire.Microsoft.Azure.Cosmos
Zombach Aug 11, 2024
0086380
Aspire.Azure.AI.OpenAI
Zombach Aug 11, 2024
99b8bd6
remove address for Aspire.Hosting.Redis.Tests
Zombach Aug 11, 2024
9904f9a
Aspire.Azure.Data.Tables
Zombach Aug 11, 2024
9a403db
United null and empty
Zombach Aug 11, 2024
33492d5
Merge branch 'dotnet:main' into validate-arguments-of-public-methods
Zombach Aug 13, 2024
79cea71
Merge branch 'dotnet:main' into validate-arguments-of-public-methods
Zombach Aug 13, 2024
bdf50bc
Merge branch 'dotnet:main' into validate-arguments-of-public-methods
Zombach Aug 14, 2024
03a919a
Merge branch 'dotnet:main' into validate-arguments-of-public-methods
Zombach Aug 14, 2024
78be404
Aspire.Hosting.AWS
Zombach Aug 14, 2024
cc485e0
Merge branch 'main' into validate-arguments-of-public-methods
Zombach Aug 15, 2024
0021811
Aspire.Confluent.Kafka
Zombach Aug 15, 2024
f64473d
Merge branch 'dotnet:main' into validate-arguments-of-public-methods
Zombach Aug 15, 2024
e703fe9
Aspire.Azure.Search.Documents
Zombach Aug 15, 2024
aeab9c2
Aspire.Azure.Security.KeyVault
Zombach Aug 15, 2024
56206a6
Aspire.Azure.Storage.Queues
Zombach Aug 15, 2024
1f8e67b
Merge branch 'dotnet:main' into validate-arguments-of-public-methods
Zombach Aug 15, 2024
7d316f0
Merge branch 'dotnet:main' into validate-arguments-of-public-methods
Zombach Aug 16, 2024
761d5e7
Merge branch 'dotnet:main' into validate-arguments-of-public-methods
Zombach Aug 17, 2024
c56eea3
Aspire.Hosting.Dapr
Zombach Aug 17, 2024
2beb33c
Aspire.Hosting.Dapr#2
Zombach Aug 17, 2024
02251c7
Apply suggestions from code review
Zombach Aug 18, 2024
6d17cf5
Fix NullOrEmpty
Zombach Aug 18, 2024
ee4c279
Merge branch 'dotnet:main' into validate-arguments-of-public-methods
Zombach Aug 20, 2024
b43022d
Merge branch 'dotnet:main' into validate-arguments-of-public-methods
Zombach Aug 21, 2024
cc710b5
Fix test Empty
Zombach Aug 21, 2024
8f90367
Edits to suit a single style
Zombach Aug 23, 2024
accacdf
Merge branch 'dotnet:main' into validate-arguments-of-public-methods
Zombach Aug 24, 2024
90a1fd1
Merge branch 'dotnet:main' into validate-arguments-of-public-methods
Zombach Aug 27, 2024
8541955
Merge branch 'dotnet:main' into validate-arguments-of-public-methods
Zombach Aug 29, 2024
77d41d5
Merge branch 'dotnet:main' into validate-arguments-of-public-methods
Zombach Aug 31, 2024
3bc23a4
Merge branch 'dotnet:main' into validate-arguments-of-public-methods
Zombach Sep 8, 2024
f43a0ae
Merge branch 'dotnet:main' into validate-arguments-of-public-methods
Zombach Sep 12, 2024
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
13 changes: 12 additions & 1 deletion src/Aspire.Hosting.AWS/AWSProvisioningException.cs
Original file line number Diff line number Diff line change
@@ -1,13 +1,24 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System.Diagnostics.CodeAnalysis;
using System.Runtime.CompilerServices;

namespace Aspire.Hosting.AWS;

/// <summary>
/// Exception for errors provisioning AWS application resources
/// </summary>
/// <param name="message"></param>
/// <param name="innerException"></param>
public class AWSProvisioningException(string message, Exception? innerException = null) : Exception(message, innerException)
public class AWSProvisioningException(string message, Exception? innerException = null)
: Exception(ThrowIfNullOrEmpty(message), innerException)
{
private static string ThrowIfNullOrEmpty(
[NotNull] string? argument,
[CallerArgumentExpression(nameof(argument))] string? paramName = null)
{
ArgumentException.ThrowIfNullOrEmpty(argument, paramName);
return argument;
}
}
11 changes: 11 additions & 0 deletions src/Aspire.Hosting.AWS/SDKResourceExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ public static class SDKResourceExtensions
/// <returns></returns>
public static IAWSSDKConfig AddAWSSDKConfig(this IDistributedApplicationBuilder builder)
{
ArgumentNullException.ThrowIfNull(builder);

var config = new AWSSDKConfig();

return config;
Expand All @@ -32,6 +34,9 @@ public static IAWSSDKConfig AddAWSSDKConfig(this IDistributedApplicationBuilder
/// <returns></returns>
public static IAWSSDKConfig WithProfile(this IAWSSDKConfig config, string profile)
{
ArgumentNullException.ThrowIfNull(config);
ArgumentException.ThrowIfNullOrEmpty(profile);

config.Profile = profile;
return config;
}
Expand All @@ -43,6 +48,9 @@ public static IAWSSDKConfig WithProfile(this IAWSSDKConfig config, string profil
/// <param name="region">The AWS region.</param>
public static IAWSSDKConfig WithRegion(this IAWSSDKConfig config, RegionEndpoint region)
{
ArgumentNullException.ThrowIfNull(config);
ArgumentNullException.ThrowIfNull(region);

config.Region = region;
return config;
}
Expand All @@ -56,6 +64,9 @@ public static IAWSSDKConfig WithRegion(this IAWSSDKConfig config, RegionEndpoint
public static IResourceBuilder<TDestination> WithReference<TDestination>(this IResourceBuilder<TDestination> builder, IAWSSDKConfig awsSdkConfig)
where TDestination : IResourceWithEnvironment
{
ArgumentNullException.ThrowIfNull(builder);
ArgumentNullException.ThrowIfNull(awsSdkConfig);

builder.WithEnvironment(context =>
{
if (context.ExecutionContext.IsPublishMode)
Expand Down
27 changes: 14 additions & 13 deletions src/Aspire.Hosting.Dapr/DaprComponentResource.cs
Original file line number Diff line number Diff line change
@@ -1,28 +1,29 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System.Diagnostics.CodeAnalysis;
using System.Runtime.CompilerServices;
using Aspire.Hosting.ApplicationModel;

namespace Aspire.Hosting.Dapr;

/// <summary>
/// Represents a Dapr component resource.
/// Initializes a new instance of <see cref="DaprComponentResource"/>.
/// </summary>
public sealed class DaprComponentResource : Resource, IDaprComponentResource
/// <param name="name">The resource name.</param>
/// <param name="type">The Dapr component type. This may be a generic "state" or "pubsub" if Aspire should choose an appropriate type when running or deploying.</param>
public sealed class DaprComponentResource(string name, string type) : Resource(ThrowIfNullOrEmpty(name)), IDaprComponentResource
{
/// <summary>
/// Initializes a new instance of <see cref="DaprComponentResource"/>.
/// </summary>
/// <param name="name">The resource name.</param>
/// <param name="type">The Dapr component type. This may be a generic "state" or "pubsub" if Aspire should choose an appropriate type when running or deploying.</param>
public DaprComponentResource(string name, string type) : base(name)
{
this.Type = type;
}

/// <inheritdoc/>
public string Type { get; }
public string Type { get; } = ThrowIfNullOrEmpty(type);

/// <inheritdoc/>
public DaprComponentOptions? Options { get; init; }

private static string ThrowIfNullOrEmpty([NotNull] string? argument,
[CallerArgumentExpression(nameof(argument))] string? paramName = null)
{
ArgumentException.ThrowIfNullOrEmpty(argument, paramName);
return argument;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ public static class IDistributedApplicationBuilderExtensions
/// <returns>The distributed application builder instance.</returns>
public static IDistributedApplicationBuilder AddDapr(this IDistributedApplicationBuilder builder, Action<DaprOptions>? configure = null)
{
ArgumentNullException.ThrowIfNull(builder);

if (configure is not null)
{
builder.Services.Configure(configure);
Expand All @@ -42,6 +44,8 @@ public static IDistributedApplicationBuilder AddDapr(this IDistributedApplicatio
/// <returns>A reference to the <see cref="IResourceBuilder{T}"/>.</returns>
public static IResourceBuilder<IDaprComponentResource> AddDaprComponent(this IDistributedApplicationBuilder builder, string name, string type, DaprComponentOptions? options = null)
{
ArgumentNullException.ThrowIfNull(builder);

var resource = new DaprComponentResource(name, type) { Options = options };

return builder
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ public static class IDistributedApplicationResourceBuilderExtensions
/// <returns>The resource builder instance.</returns>
public static IResourceBuilder<T> WithDaprSidecar<T>(this IResourceBuilder<T> builder, string appId) where T : IResource
{
ArgumentNullException.ThrowIfNull(builder);
ArgumentException.ThrowIfNullOrEmpty(appId);

return builder.WithDaprSidecar(new DaprSidecarOptions { AppId = appId });
}

Expand All @@ -32,6 +35,8 @@ public static IResourceBuilder<T> WithDaprSidecar<T>(this IResourceBuilder<T> bu
/// <returns>The resource builder instance.</returns>
public static IResourceBuilder<T> WithDaprSidecar<T>(this IResourceBuilder<T> builder, DaprSidecarOptions? options = null) where T : IResource
{
ArgumentNullException.ThrowIfNull(builder);

return builder.WithDaprSidecar(
sidecarBuilder =>
{
Expand All @@ -51,6 +56,9 @@ public static IResourceBuilder<T> WithDaprSidecar<T>(this IResourceBuilder<T> bu
/// <returns>The resource builder instance.</returns>
public static IResourceBuilder<T> WithDaprSidecar<T>(this IResourceBuilder<T> builder, Action<IResourceBuilder<IDaprSidecarResource>> configureSidecar) where T : IResource
{
ArgumentNullException.ThrowIfNull(builder);
ArgumentNullException.ThrowIfNull(configureSidecar);

// Add Dapr is idempotent, so we can call it multiple times.
builder.ApplicationBuilder.AddDapr();

Expand All @@ -75,6 +83,9 @@ public static IResourceBuilder<T> WithDaprSidecar<T>(this IResourceBuilder<T> bu
/// <returns>The Dapr sidecar resource builder instance.</returns>
public static IResourceBuilder<IDaprSidecarResource> WithOptions(this IResourceBuilder<IDaprSidecarResource> builder, DaprSidecarOptions options)
{
ArgumentNullException.ThrowIfNull(builder);
ArgumentNullException.ThrowIfNull(options);

return builder.WithAnnotation(new DaprSidecarOptionsAnnotation(options));
}

Expand All @@ -86,6 +97,9 @@ public static IResourceBuilder<IDaprSidecarResource> WithOptions(this IResourceB
/// <param name="component">The Dapr component to use with the sidecar.</param>
public static IResourceBuilder<TDestination> WithReference<TDestination>(this IResourceBuilder<TDestination> builder, IResourceBuilder<IDaprComponentResource> component) where TDestination : IResource
{
ArgumentNullException.ThrowIfNull(builder);
ArgumentNullException.ThrowIfNull(component);

return builder.WithAnnotation(new DaprComponentReferenceAnnotation(component.Resource));
}
}
2 changes: 1 addition & 1 deletion src/Aspire.Hosting.Garnet/GarnetBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ public static IResourceBuilder<GarnetResource> WithDataBindMount(this IResourceB
string source, bool isReadOnly = false)
{
ArgumentNullException.ThrowIfNull(builder);
ArgumentNullException.ThrowIfNull(source);
ArgumentException.ThrowIfNullOrEmpty(source);

builder.WithBindMount(source, GarnetContainerDataDirectory, isReadOnly);
if (!isReadOnly)
Expand Down
2 changes: 1 addition & 1 deletion src/Aspire.Hosting.Kafka/KafkaBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ public static IResourceBuilder<KafkaServerResource> WithDataVolume(this IResourc
public static IResourceBuilder<KafkaServerResource> WithDataBindMount(this IResourceBuilder<KafkaServerResource> builder, string source, bool isReadOnly = false)
{
ArgumentNullException.ThrowIfNull(builder);
ArgumentNullException.ThrowIfNull(source);
ArgumentException.ThrowIfNullOrEmpty(source);

return builder.WithBindMount(source, "/var/lib/kafka/data", isReadOnly);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ public static IResourceBuilder<KeycloakResource> WithDataVolume(this IResourceBu
public static IResourceBuilder<KeycloakResource> WithDataBindMount(this IResourceBuilder<KeycloakResource> builder, string source)
{
ArgumentNullException.ThrowIfNull(builder);
ArgumentNullException.ThrowIfNull(source);
ArgumentException.ThrowIfNullOrEmpty(source);

return builder.WithBindMount(source, "/opt/keycloak/data", false);
}
Expand Down Expand Up @@ -150,7 +150,7 @@ public static IResourceBuilder<KeycloakResource> WithRealmImport(
bool isReadOnly = false)
{
ArgumentNullException.ThrowIfNull(builder);
ArgumentNullException.ThrowIfNull(importDirectory);
ArgumentException.ThrowIfNullOrEmpty(importDirectory);

var importDirectoryFullPath = Path.GetFullPath(importDirectory, builder.ApplicationBuilder.AppHostDirectory);
if (!Directory.Exists(importDirectoryFullPath))
Expand Down
4 changes: 2 additions & 2 deletions src/Aspire.Hosting.Milvus/MilvusBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ public static IResourceBuilder<MilvusServerResource> WithDataVolume(this IResour
public static IResourceBuilder<MilvusServerResource> WithDataBindMount(this IResourceBuilder<MilvusServerResource> builder, string source, bool isReadOnly = false)
{
ArgumentNullException.ThrowIfNull(builder);
ArgumentNullException.ThrowIfNull(source);
ArgumentException.ThrowIfNullOrEmpty(source);
return builder.WithBindMount(source, "/var/lib/milvus", isReadOnly);
}

Expand All @@ -180,7 +180,7 @@ public static IResourceBuilder<MilvusServerResource> WithDataBindMount(this IRes
public static IResourceBuilder<MilvusServerResource> WithConfigurationBindMount(this IResourceBuilder<MilvusServerResource> builder, string configurationFilePath)
{
ArgumentNullException.ThrowIfNull(builder);
ArgumentNullException.ThrowIfNull(configurationFilePath);
ArgumentException.ThrowIfNullOrEmpty(configurationFilePath);
return builder.WithBindMount(configurationFilePath, "/milvus/configs/milvus.yaml");
}

Expand Down
4 changes: 2 additions & 2 deletions src/Aspire.Hosting.MongoDB/MongoDBBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ public static IResourceBuilder<MongoDBServerResource> WithDataVolume(this IResou
public static IResourceBuilder<MongoDBServerResource> WithDataBindMount(this IResourceBuilder<MongoDBServerResource> builder, string source, bool isReadOnly = false)
{
ArgumentNullException.ThrowIfNull(builder);
ArgumentNullException.ThrowIfNull(source);
ArgumentException.ThrowIfNullOrEmpty(source);

return builder.WithBindMount(source, "/data/db", isReadOnly);
}
Expand All @@ -139,7 +139,7 @@ public static IResourceBuilder<MongoDBServerResource> WithDataBindMount(this IRe
public static IResourceBuilder<MongoDBServerResource> WithInitBindMount(this IResourceBuilder<MongoDBServerResource> builder, string source, bool isReadOnly = true)
{
ArgumentNullException.ThrowIfNull(builder);
ArgumentNullException.ThrowIfNull(source);
ArgumentException.ThrowIfNullOrEmpty(source);

return builder.WithBindMount(source, "/docker-entrypoint-initdb.d", isReadOnly);
}
Expand Down
15 changes: 13 additions & 2 deletions src/Aspire.Hosting.MongoDB/MongoDBDatabaseResource.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System.Diagnostics.CodeAnalysis;
using System.Runtime.CompilerServices;

namespace Aspire.Hosting.ApplicationModel;

/// <summary>
Expand All @@ -14,9 +17,9 @@ public class MongoDBDatabaseResource : Resource, IResourceWithParent<MongoDBServ
/// <param name="name">The name of the resource.</param>
/// <param name="databaseName">The database name.</param>
/// <param name="parent">The MongoDB server resource associated with this database.</param>
public MongoDBDatabaseResource(string name, string databaseName, MongoDBServerResource parent) : base(name)
public MongoDBDatabaseResource(string name, string databaseName, MongoDBServerResource parent) : base(ThrowIfNullOrEmpty(name))
{
ArgumentNullException.ThrowIfNull(databaseName);
ThrowIfNullOrEmpty(databaseName);
ArgumentNullException.ThrowIfNull(parent);

Parent = parent;
Expand All @@ -38,4 +41,12 @@ public ReferenceExpression ConnectionStringExpression
/// Gets the database name.
/// </summary>
public string DatabaseName { get; }

private static string ThrowIfNullOrEmpty(
[NotNull] string? argument,
[CallerArgumentExpression(nameof(argument))] string? paramName = null)
{
ArgumentException.ThrowIfNullOrEmpty(argument, paramName);
return argument;
}
}
4 changes: 2 additions & 2 deletions src/Aspire.Hosting.MySql/MySqlBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ public static IResourceBuilder<MySqlServerResource> WithDataVolume(this IResourc
public static IResourceBuilder<MySqlServerResource> WithDataBindMount(this IResourceBuilder<MySqlServerResource> builder, string source, bool isReadOnly = false)
{
ArgumentNullException.ThrowIfNull(builder);
ArgumentNullException.ThrowIfNull(source);
ArgumentException.ThrowIfNullOrEmpty(source);

return builder.WithBindMount(source, "/var/lib/mysql", isReadOnly);
}
Expand All @@ -207,7 +207,7 @@ public static IResourceBuilder<MySqlServerResource> WithDataBindMount(this IReso
public static IResourceBuilder<MySqlServerResource> WithInitBindMount(this IResourceBuilder<MySqlServerResource> builder, string source, bool isReadOnly = true)
{
ArgumentNullException.ThrowIfNull(builder);
ArgumentNullException.ThrowIfNull(source);
ArgumentException.ThrowIfNullOrEmpty(source);

return builder.WithBindMount(source, "/docker-entrypoint-initdb.d", isReadOnly);
}
Expand Down
8 changes: 6 additions & 2 deletions src/Aspire.Hosting.NodeJs/NodeAppResource.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ namespace Aspire.Hosting;
public class NodeAppResource(string name, string command, string workingDirectory)
: ExecutableResource(ThrowIfNull(name), ThrowIfNull(command), ThrowIfNull(workingDirectory)), IResourceWithServiceDiscovery
{
private static string ThrowIfNull([NotNull] string? argument, [CallerArgumentExpression(nameof(argument))] string? paramName = null)
=> argument ?? throw new ArgumentNullException(paramName);
private static string ThrowIfNull([NotNull] string? argument,
[CallerArgumentExpression(nameof(argument))] string? paramName = null)
{
ArgumentException.ThrowIfNullOrEmpty(argument, paramName);
return argument;
}
}
10 changes: 5 additions & 5 deletions src/Aspire.Hosting.NodeJs/NodeExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ public static class NodeAppHostingExtension
public static IResourceBuilder<NodeAppResource> AddNodeApp(this IDistributedApplicationBuilder builder, string name, string scriptPath, string? workingDirectory = null, string[]? args = null)
{
ArgumentNullException.ThrowIfNull(builder);
ArgumentNullException.ThrowIfNull(name);
ArgumentNullException.ThrowIfNull(scriptPath);
ArgumentException.ThrowIfNullOrEmpty(name);
ArgumentException.ThrowIfNullOrEmpty(scriptPath);

args ??= [];
string[] effectiveArgs = [scriptPath, .. args];
Expand All @@ -51,9 +51,9 @@ public static IResourceBuilder<NodeAppResource> AddNpmApp(this IDistributedAppli
{

ArgumentNullException.ThrowIfNull(builder);
ArgumentNullException.ThrowIfNull(name);
ArgumentNullException.ThrowIfNull(workingDirectory);
ArgumentNullException.ThrowIfNull(scriptName);
ArgumentException.ThrowIfNullOrEmpty(name);
ArgumentException.ThrowIfNullOrEmpty(workingDirectory);
ArgumentException.ThrowIfNullOrEmpty(scriptName);

string[] allArgs = args is { Length: > 0 }
? ["run", scriptName, "--", .. args]
Expand Down
6 changes: 3 additions & 3 deletions src/Aspire.Hosting.PostgreSQL/PostgresBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ public static IResourceBuilder<PostgresServerResource> AddPostgres(this IDistrib
public static IResourceBuilder<PostgresDatabaseResource> AddDatabase(this IResourceBuilder<PostgresServerResource> builder, string name, string? databaseName = null)
{
ArgumentNullException.ThrowIfNull(builder);
ArgumentNullException.ThrowIfNull(name);
ArgumentException.ThrowIfNullOrEmpty(name);

// Use the resource name as the database name if it's not provided
databaseName ??= name;
Expand Down Expand Up @@ -378,7 +378,7 @@ public static IResourceBuilder<PostgresServerResource> WithDataVolume(this IReso
public static IResourceBuilder<PostgresServerResource> WithDataBindMount(this IResourceBuilder<PostgresServerResource> builder, string source, bool isReadOnly = false)
{
ArgumentNullException.ThrowIfNull(builder);
ArgumentNullException.ThrowIfNull(source);
ArgumentException.ThrowIfNullOrEmpty(source);

return builder.WithBindMount(source, "/var/lib/postgresql/data", isReadOnly);
}
Expand All @@ -393,7 +393,7 @@ public static IResourceBuilder<PostgresServerResource> WithDataBindMount(this IR
public static IResourceBuilder<PostgresServerResource> WithInitBindMount(this IResourceBuilder<PostgresServerResource> builder, string source, bool isReadOnly = true)
{
ArgumentNullException.ThrowIfNull(builder);
ArgumentNullException.ThrowIfNull(source);
ArgumentException.ThrowIfNullOrEmpty(source);

return builder.WithBindMount(source, "/docker-entrypoint-initdb.d", isReadOnly);
}
Expand Down
Loading