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
8 changes: 4 additions & 4 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -33,23 +33,23 @@
<PackageVersion Include="Microsoft.Extensions.ServiceDiscovery.Yarp" Version="10.1.0" />
<PackageVersion Include="Microsoft.Extensions.TimeProvider.Testing" Version="10.1.0" />
<PackageVersion Include="Microsoft.Kiota.Bundle" Version="1.21.1" />
<PackageVersion Include="Microsoft.Testing.Extensions.CodeCoverage" Version="18.1.0" />
<PackageVersion Include="Microsoft.Testing.Extensions.CodeCoverage" Version="18.3.1" />
<PackageVersion Include="Microsoft.Testing.Extensions.TrxReport" Version="2.0.2" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="10.0.1" />
<PackageVersion Include="Respawn" Version="7.0.0" />
<PackageVersion Include="Testcontainers.PostgreSql" Version="4.9.0" />
<PackageVersion Include="Testcontainers.PostgreSql" Version="4.10.0" />
<PackageVersion Include="NSubstitute" Version="5.3.0" />
<PackageVersion Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.14.0" />
<PackageVersion Include="OpenTelemetry.Extensions.Hosting" Version="1.14.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.14.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Http" Version="1.14.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Runtime" Version="1.14.0" />
<PackageVersion Include="Scalar.AspNetCore" Version="2.11.10" />
<PackageVersion Include="Testcontainers.Redis" Version="4.9.0" />
<PackageVersion Include="Testcontainers.Redis" Version="4.10.0" />
<PackageVersion Include="Verify.TUnit" Version="31.9.3" />
<PackageVersion Include="Vogen" Version="8.0.4" />
<PackageVersion Include="TngTech.ArchUnitNET" Version="0.13.1" />
<PackageVersion Include="TUnit" Version="1.7.7" />
<PackageVersion Include="TUnit" Version="1.9.2" />
<PackageVersion Include="WolverineFx" Version="5.9.2" />
<PackageVersion Include="WolverineFx.EntityFrameworkCore" Version="5.9.2" />
<PackageVersion Include="WolverineFx.Postgresql" Version="5.9.2" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ public CustomersRequestBuilder(string rawUrl, IRequestAdapter requestAdapter) :
public async Task<UntypedNode> PostAsync(global::ApiServiceSDK.Models.Command body, Action<RequestConfiguration<DefaultQueryParameters>> requestConfiguration = default, CancellationToken cancellationToken = default)
{
#endif
_ = body ?? throw new ArgumentNullException(nameof(body));
if(ReferenceEquals(body, null)) throw new ArgumentNullException(nameof(body));
var requestInfo = ToPostRequestInformation(body, requestConfiguration);
return await RequestAdapter.SendAsync<UntypedNode>(requestInfo, UntypedNode.CreateFromDiscriminatorValue, default, cancellationToken).ConfigureAwait(false);
}
Expand Down Expand Up @@ -119,7 +119,7 @@ public RequestInformation ToPostRequestInformation(global::ApiServiceSDK.Models.
public RequestInformation ToPostRequestInformation(global::ApiServiceSDK.Models.Command body, Action<RequestConfiguration<DefaultQueryParameters>> requestConfiguration = default)
{
#endif
_ = body ?? throw new ArgumentNullException(nameof(body));
if(ReferenceEquals(body, null)) throw new ArgumentNullException(nameof(body));
var requestInfo = new RequestInformation(Method.POST, UrlTemplate, PathParameters);
requestInfo.Configure(requestConfiguration);
requestInfo.Headers.TryAdd("Accept", "application/json");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public partial class BillingAddress : IParsable
/// <param name="parseNode">The parse node to use to read the discriminator value and create the object</param>
public static global::ApiServiceSDK.Models.BillingAddress CreateFromDiscriminatorValue(IParseNode parseNode)
{
_ = parseNode ?? throw new ArgumentNullException(nameof(parseNode));
if(ReferenceEquals(parseNode, null)) throw new ArgumentNullException(nameof(parseNode));
return new global::ApiServiceSDK.Models.BillingAddress();
}
/// <summary>
Expand All @@ -74,7 +74,7 @@ public virtual IDictionary<string, Action<IParseNode>> GetFieldDeserializers()
/// <param name="writer">Serialization writer to use to serialize this model</param>
public virtual void Serialize(ISerializationWriter writer)
{
_ = writer ?? throw new ArgumentNullException(nameof(writer));
if(ReferenceEquals(writer, null)) throw new ArgumentNullException(nameof(writer));
writer.WriteStringValue("city", City);
writer.WriteObjectValue<UntypedNode>("id", Id);
writer.WriteStringValue("street", Street);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public partial class Command : IParsable
/// <param name="parseNode">The parse node to use to read the discriminator value and create the object</param>
public static global::ApiServiceSDK.Models.Command CreateFromDiscriminatorValue(IParseNode parseNode)
{
_ = parseNode ?? throw new ArgumentNullException(nameof(parseNode));
if(ReferenceEquals(parseNode, null)) throw new ArgumentNullException(nameof(parseNode));
return new global::ApiServiceSDK.Models.Command();
}
/// <summary>
Expand All @@ -74,7 +74,7 @@ public virtual IDictionary<string, Action<IParseNode>> GetFieldDeserializers()
/// <param name="writer">Serialization writer to use to serialize this model</param>
public virtual void Serialize(ISerializationWriter writer)
{
_ = writer ?? throw new ArgumentNullException(nameof(writer));
if(ReferenceEquals(writer, null)) throw new ArgumentNullException(nameof(writer));
writer.WriteObjectValue<global::ApiServiceSDK.Models.Command.Command_billingAddress>("billingAddress", BillingAddress);
writer.WriteStringValue("firstName", FirstName);
writer.WriteStringValue("lastName", LastName);
Expand Down Expand Up @@ -109,7 +109,7 @@ public partial class Command_billingAddress : IComposedTypeWrapper, IParsable
/// <param name="parseNode">The parse node to use to read the discriminator value and create the object</param>
public static global::ApiServiceSDK.Models.Command.Command_billingAddress CreateFromDiscriminatorValue(IParseNode parseNode)
{
_ = parseNode ?? throw new ArgumentNullException(nameof(parseNode));
if(ReferenceEquals(parseNode, null)) throw new ArgumentNullException(nameof(parseNode));
var mappingValue = parseNode.GetChildNode("")?.GetStringValue();
var result = new global::ApiServiceSDK.Models.Command.Command_billingAddress();
if("BillingAddress".Equals(mappingValue, StringComparison.OrdinalIgnoreCase))
Expand Down Expand Up @@ -144,7 +144,7 @@ public virtual IDictionary<string, Action<IParseNode>> GetFieldDeserializers()
/// <param name="writer">Serialization writer to use to serialize this model</param>
public virtual void Serialize(ISerializationWriter writer)
{
_ = writer ?? throw new ArgumentNullException(nameof(writer));
if(ReferenceEquals(writer, null)) throw new ArgumentNullException(nameof(writer));
if(BillingAddress != null)
{
writer.WriteObjectValue<global::ApiServiceSDK.Models.BillingAddress>(null, BillingAddress);
Expand Down Expand Up @@ -184,7 +184,7 @@ public partial class Command_shippingAddress : IComposedTypeWrapper, IParsable
/// <param name="parseNode">The parse node to use to read the discriminator value and create the object</param>
public static global::ApiServiceSDK.Models.Command.Command_shippingAddress CreateFromDiscriminatorValue(IParseNode parseNode)
{
_ = parseNode ?? throw new ArgumentNullException(nameof(parseNode));
if(ReferenceEquals(parseNode, null)) throw new ArgumentNullException(nameof(parseNode));
var mappingValue = parseNode.GetChildNode("")?.GetStringValue();
var result = new global::ApiServiceSDK.Models.Command.Command_shippingAddress();
if("".Equals(mappingValue, StringComparison.OrdinalIgnoreCase))
Expand Down Expand Up @@ -219,7 +219,7 @@ public virtual IDictionary<string, Action<IParseNode>> GetFieldDeserializers()
/// <param name="writer">Serialization writer to use to serialize this model</param>
public virtual void Serialize(ISerializationWriter writer)
{
_ = writer ?? throw new ArgumentNullException(nameof(writer));
if(ReferenceEquals(writer, null)) throw new ArgumentNullException(nameof(writer));
if(CommandShippingAddressMember1 != null)
{
writer.WriteObjectValue<global::ApiServiceSDK.Models.Command_shippingAddressMember1>(null, CommandShippingAddressMember1);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ public Command_billingAddressMember1()
/// <param name="parseNode">The parse node to use to read the discriminator value and create the object</param>
public static global::ApiServiceSDK.Models.Command_billingAddressMember1 CreateFromDiscriminatorValue(IParseNode parseNode)
{
_ = parseNode ?? throw new ArgumentNullException(nameof(parseNode));
if(ReferenceEquals(parseNode, null)) throw new ArgumentNullException(nameof(parseNode));
return new global::ApiServiceSDK.Models.Command_billingAddressMember1();
}
/// <summary>
Expand All @@ -47,7 +47,7 @@ public virtual IDictionary<string, Action<IParseNode>> GetFieldDeserializers()
/// <param name="writer">Serialization writer to use to serialize this model</param>
public virtual void Serialize(ISerializationWriter writer)
{
_ = writer ?? throw new ArgumentNullException(nameof(writer));
if(ReferenceEquals(writer, null)) throw new ArgumentNullException(nameof(writer));
writer.WriteAdditionalData(AdditionalData);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ public Command_shippingAddressMember1()
/// <param name="parseNode">The parse node to use to read the discriminator value and create the object</param>
public static global::ApiServiceSDK.Models.Command_shippingAddressMember1 CreateFromDiscriminatorValue(IParseNode parseNode)
{
_ = parseNode ?? throw new ArgumentNullException(nameof(parseNode));
if(ReferenceEquals(parseNode, null)) throw new ArgumentNullException(nameof(parseNode));
return new global::ApiServiceSDK.Models.Command_shippingAddressMember1();
}
/// <summary>
Expand All @@ -47,7 +47,7 @@ public virtual IDictionary<string, Action<IParseNode>> GetFieldDeserializers()
/// <param name="writer">Serialization writer to use to serialize this model</param>
public virtual void Serialize(ISerializationWriter writer)
{
_ = writer ?? throw new ArgumentNullException(nameof(writer));
if(ReferenceEquals(writer, null)) throw new ArgumentNullException(nameof(writer));
writer.WriteAdditionalData(AdditionalData);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ public partial class Response : IParsable
/// <param name="parseNode">The parse node to use to read the discriminator value and create the object</param>
public static global::ApiServiceSDK.Models.Response CreateFromDiscriminatorValue(IParseNode parseNode)
{
_ = parseNode ?? throw new ArgumentNullException(nameof(parseNode));
if(ReferenceEquals(parseNode, null)) throw new ArgumentNullException(nameof(parseNode));
return new global::ApiServiceSDK.Models.Response();
}
/// <summary>
Expand All @@ -83,7 +83,7 @@ public virtual IDictionary<string, Action<IParseNode>> GetFieldDeserializers()
/// <param name="writer">Serialization writer to use to serialize this model</param>
public virtual void Serialize(ISerializationWriter writer)
{
_ = writer ?? throw new ArgumentNullException(nameof(writer));
if(ReferenceEquals(writer, null)) throw new ArgumentNullException(nameof(writer));
writer.WriteCollectionOfObjectValues<global::ApiServiceSDK.Models.BillingAddress>("billingAddresses", BillingAddresses);
writer.WriteStringValue("firstName", FirstName);
writer.WriteObjectValue<UntypedNode>("id", Id);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ public partial class ShippingAddress : IParsable
/// <param name="parseNode">The parse node to use to read the discriminator value and create the object</param>
public static global::ApiServiceSDK.Models.ShippingAddress CreateFromDiscriminatorValue(IParseNode parseNode)
{
_ = parseNode ?? throw new ArgumentNullException(nameof(parseNode));
if(ReferenceEquals(parseNode, null)) throw new ArgumentNullException(nameof(parseNode));
return new global::ApiServiceSDK.Models.ShippingAddress();
}
/// <summary>
Expand All @@ -83,7 +83,7 @@ public virtual IDictionary<string, Action<IParseNode>> GetFieldDeserializers()
/// <param name="writer">Serialization writer to use to serialize this model</param>
public virtual void Serialize(ISerializationWriter writer)
{
_ = writer ?? throw new ArgumentNullException(nameof(writer));
if(ReferenceEquals(writer, null)) throw new ArgumentNullException(nameof(writer));
writer.WriteStringValue("city", City);
writer.WriteObjectValue<UntypedNode>("id", Id);
writer.WriteStringValue("note", Note);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"descriptionHash": "1FE6A40106457C5BBD730F734F79572DD906FA293482FAA891CBBFEC3197561EF2491425E1B140FAC931B9C8B20A9FFA212E1C7DE40C95ABF576C2746164C878",
"descriptionLocation": "../../Sandbox.ApiService/documentation/Sandbox.ApiService.json",
"lockFileVersion": "1.0.0",
"kiotaVersion": "1.28.0",
"kiotaVersion": "1.29.0",
"clientClassName": "ApiClient",
"typeAccessModifier": "Public",
"clientNamespaceName": "ApiServiceSDK",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ namespace Sandbox.Modules.CustomerManagement.IntegrationTests.Setup;

public class CustomerApiWebApplicationFactory : WebApplicationFactory<Program>, IAsyncInitializer, IAsyncDisposable
{
private readonly PostgreSqlContainer _postgreSqlContainer = new PostgreSqlBuilder().Build();
private readonly RedisContainer _redisContainer = new RedisBuilder().Build();
private readonly PostgreSqlContainer _postgreSqlContainer = new PostgreSqlBuilder("postgres:17.6").Build();
private readonly RedisContainer _redisContainer = new RedisBuilder("redis:7.0").Build();

public async Task InitializeAsync()
{
Expand Down
24 changes: 12 additions & 12 deletions artifacts/docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
services:
keycloak:
image: 'quay.io/keycloak/keycloak:26.4'
image: 'quay.io/keycloak/keycloak:26.5@sha256:5fdd7cda82e58775ed124294c7e16fabc33166d38dfc4aabebda7d64e7a964bf'
command:
- 'start'
- '--import-realm'
Expand All @@ -24,7 +24,7 @@ services:
networks:
- 'aspire'
minio:
image: 'docker.io/minio/minio:RELEASE.2025-09-07T16-13-09Z'
image: 'docker.io/minio/minio:RELEASE.2025-09-07T16-13-09Z@sha256:14cea493d9a34af32f524e538b8346cf79f3321eff8e708c1e2960462bd8936e'
command:
- 'server'
- '/data'
Expand All @@ -45,7 +45,7 @@ services:
networks:
- 'aspire'
minio-bucket-creator:
image: 'minio/mc:latest'
image: 'minio/mc:latest@sha256:a7fe349ef4bd8521fb8497f55c6042871b2ae640607cf99d9bede5e9bdf11727'
command:
- '-c'
- ' /usr/bin/mc alias set myminio http://minio:9000 $$MinioUser $$MinioPassword; /usr/bin/mc mb myminio/loki; /usr/bin/mc anonymous set public myminio/loki; /usr/bin/mc mb myminio/tempo; /usr/bin/mc anonymous set public myminio/tempo; exit 0;'
Expand All @@ -60,7 +60,7 @@ services:
networks:
- 'aspire'
loki:
image: 'grafana/loki:latest'
image: 'grafana/loki:latest@sha256:cd6e176883a90c21755f0315688668991634143423f75bdedfef41441b0fdc3c'
command:
- '--config.file=/etc/loki/loki.yml'
- '--config.expand-env=true'
Expand All @@ -86,7 +86,7 @@ services:
networks:
- 'aspire'
tempo:
image: 'grafana/tempo:latest'
image: 'grafana/tempo:latest@sha256:6b91939230c7f65558599eedcb74a5160dbd218a8a5310b1ed461a9c77c4cab8'
command:
- '--config.file=/etc/tempo/tempo.yml'
- '--config.expand-env=true'
Expand Down Expand Up @@ -114,7 +114,7 @@ services:
networks:
- 'aspire'
prometheus:
image: 'prom/prometheus:latest'
image: 'prom/prometheus:latest@sha256:3ea2ed3b8cdfe3ff78aa05473a7ad36b916bdf2464c83b06bcd37c1a67620233'
command:
- '--web.enable-otlp-receiver'
- '--web.enable-remote-write-receiver'
Expand All @@ -130,7 +130,7 @@ services:
networks:
- 'aspire'
blackbox:
image: 'prom/blackbox-exporter:latest'
image: 'prom/blackbox-exporter:latest@sha256:e753ff9f3fc458d02cca5eddab5a77e1c175eee484a8925ac7d524f04366c2fc'
command:
- '--config.file=/etc/blackbox/blackbox.yml'
expose:
Expand All @@ -143,7 +143,7 @@ services:
networks:
- 'aspire'
grafana:
image: 'grafana/grafana:latest'
image: 'grafana/grafana:latest@sha256:2175aaa91c96733d86d31cf270d5310b278654b03f5718c59de12a865380a31f'
environment:
PROMETHEUS_ENDPOINT: 'http://prometheus:9090'
LOKI_ENDPOINT: 'http://loki:3100'
Expand All @@ -169,7 +169,7 @@ services:
networks:
- 'aspire'
otelcollector:
image: 'ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib:latest'
image: 'ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib:latest@sha256:f051aff195ad50ed5ad9d95bcdd51d7258200c937def3797cf830366ed62e034'
environment:
ASPIRE_OTLP_ENDPOINT: '${}'
ASPIRE_API_KEY: ''
Expand All @@ -188,7 +188,7 @@ services:
networks:
- 'aspire'
postgres:
image: 'docker.io/library/postgres:17.6'
image: 'docker.io/library/postgres:18.1@sha256:bfe50b2b0ddd9b55eadedd066fe24c7c6fe06626185b73358c480ea37868024d'
environment:
POSTGRES_HOST_AUTH_METHOD: 'scram-sha-256'
POSTGRES_INITDB_ARGS: '--auth-host=scram-sha-256 --auth-local=scram-sha-256'
Expand All @@ -204,7 +204,7 @@ services:
networks:
- 'aspire'
cache:
image: 'docker.io/library/redis:8.2'
image: 'docker.io/library/redis:8.4@sha256:47200b04138293fae39737e50878a238b13ec0781083126b1b0c63cf5d992e8d'
command:
- '-c'
- 'redis-server --requirepass $$REDIS_PASSWORD --save 60 1'
Expand Down Expand Up @@ -331,7 +331,7 @@ services:
networks:
- 'aspire'
data-api:
image: 'mcr.microsoft.com/azure-databases/data-api-builder:1.7.83-rc'
image: 'mcr.microsoft.com/azure-databases/data-api-builder:1.7.83-rc@sha256:970dc3499443d136e4f83d17f2b4eba946333c8cb74f8d310eb5e37a25f9cd82'
environment:
DAB_ENVIRONMENT: 'production'
ConnectionString: 'Host=postgres;Port=5432;Username=postgres;Password=${POSTGRES_PASSWORD};Database=sandbox-db'
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"private": true,
"name": "sandbox",
"packageManager": "pnpm@10.26.2",
"packageManager": "pnpm@10.27.0",
"module": "true",
"license": "MIT",
"engines": {
Expand Down
Loading
Loading