diff --git a/src/Vfps.StressTests/StressTests.cs b/src/Vfps.StressTests/StressTests.cs index 0a6967d..844b342 100644 --- a/src/Vfps.StressTests/StressTests.cs +++ b/src/Vfps.StressTests/StressTests.cs @@ -23,8 +23,8 @@ public StressTests() InitialBackoff = TimeSpan.FromSeconds(5), MaxBackoff = TimeSpan.FromSeconds(30), BackoffMultiplier = 2, - RetryableStatusCodes = { StatusCode.Unavailable, StatusCode.Internal } - } + RetryableStatusCodes = { StatusCode.Unavailable, StatusCode.Internal }, + }, }; var channel = GrpcChannel.ForAddress( diff --git a/src/Vfps.Tests/ControllerTests/FhirControllerTests.cs b/src/Vfps.Tests/ControllerTests/FhirControllerTests.cs index 0527279..61ea811 100644 --- a/src/Vfps.Tests/ControllerTests/FhirControllerTests.cs +++ b/src/Vfps.Tests/ControllerTests/FhirControllerTests.cs @@ -54,17 +54,9 @@ public async Task CreatePseudonym_WithExistingNamespaceRequested_ShouldSucceed() { Parameter = new List { - new Parameters.ParameterComponent - { - Name = "namespace", - Value = new FhirString("existingNamespace"), - }, - new Parameters.ParameterComponent - { - Name = "originalValue", - Value = new FhirString("test"), - }, - } + new() { Name = "namespace", Value = new FhirString("existingNamespace") }, + new() { Name = "originalValue", Value = new FhirString("test") }, + }, }; var response = await sut.CreatePseudonym(p); diff --git a/src/Vfps.Tests/MemoryCacheMetricsBackgroundServiceTests.cs b/src/Vfps.Tests/MemoryCacheMetricsBackgroundServiceTests.cs index be1a355..74c6c0e 100644 --- a/src/Vfps.Tests/MemoryCacheMetricsBackgroundServiceTests.cs +++ b/src/Vfps.Tests/MemoryCacheMetricsBackgroundServiceTests.cs @@ -10,7 +10,7 @@ public class MemoryCacheMetricsBackgroundServiceTests public async Task MemoryCacheMetricsBackgroundService_ShouldStartAndStopWithoutException() { var memoryCache = new MemoryCache( - new MemoryCacheOptions { TrackStatistics = true, SizeLimit = 32, } + new MemoryCacheOptions { TrackStatistics = true, SizeLimit = 32 } ); var sut = new MemoryCacheMetricsBackgroundService(memoryCache); diff --git a/src/Vfps.Tests/ServiceTests/NamespaceServiceTests.cs b/src/Vfps.Tests/ServiceTests/NamespaceServiceTests.cs index b740f4a..d64b582 100644 --- a/src/Vfps.Tests/ServiceTests/NamespaceServiceTests.cs +++ b/src/Vfps.Tests/ServiceTests/NamespaceServiceTests.cs @@ -31,7 +31,7 @@ await sut.Invoking(async s => await s.Create(request, TestServerCallContext.Crea [Fact] public async Task Get_WithExistingNamespace_ShouldReturnNamespace() { - var request = new NamespaceServiceGetRequest { Name = "existingNamespace", }; + var request = new NamespaceServiceGetRequest { Name = "existingNamespace" }; var response = await sut.Get(request, TestServerCallContext.Create()); @@ -51,7 +51,7 @@ public async Task GetAll_ShouldReturnAllNamespace() [Fact] public async Task Get_WithNonExistingNamespace_ShouldThrowNotFoundException() { - var request = new NamespaceServiceGetRequest { Name = "notExisting", }; + var request = new NamespaceServiceGetRequest { Name = "notExisting" }; var act = () => sut.Get(request, TestServerCallContext.Create()); @@ -81,7 +81,7 @@ public async Task Create_WithPseudonymLengthZero_ShouldFail() var request = new NamespaceServiceCreateRequest { Name = nameof(Create_WithPseudonymLengthZero_ShouldFail), - PseudonymLength = 0 + PseudonymLength = 0, }; var act = () => sut.Create(request, TestServerCallContext.Create()); @@ -101,7 +101,7 @@ public async Task Delete_WithExistingNamespace_ShouldDeleteNamespace() await sut.Create(createRequest, TestServerCallContext.Create()); - var deleteRequest = new NamespaceServiceDeleteRequest { Name = "toBeDeleted", }; + var deleteRequest = new NamespaceServiceDeleteRequest { Name = "toBeDeleted" }; await sut.Delete(deleteRequest, TestServerCallContext.Create()); @@ -150,7 +150,7 @@ public async Task Delete_WithNamespaceContainingPseudonyms_ShouldDeleteNamespace pseudonymCount.Should().Be(pseudonymsToCreateCount); - var deleteRequest = new NamespaceServiceDeleteRequest { Name = createRequest.Name, }; + var deleteRequest = new NamespaceServiceDeleteRequest { Name = createRequest.Name }; await sut.Delete(deleteRequest, TestServerCallContext.Create()); @@ -171,7 +171,7 @@ public async Task Delete_WithNamespaceContainingPseudonyms_ShouldDeleteNamespace [Fact] public async Task Delete_WithNonExistingNamespace_ShouldThrowNotFoundException() { - var request = new NamespaceServiceDeleteRequest { Name = "notExisting", }; + var request = new NamespaceServiceDeleteRequest { Name = "notExisting" }; var act = () => sut.Delete(request, TestServerCallContext.Create()); diff --git a/src/Vfps.Tests/ServiceTests/PseudonymServiceTests.cs b/src/Vfps.Tests/ServiceTests/PseudonymServiceTests.cs index 823cdd5..8bc7028 100644 --- a/src/Vfps.Tests/ServiceTests/PseudonymServiceTests.cs +++ b/src/Vfps.Tests/ServiceTests/PseudonymServiceTests.cs @@ -201,7 +201,7 @@ public async Task Create_WithCachingNamespaceRepositoryAndCachingPseudonymReposi [Fact] public async Task List_WithEmptyNamespace_ShouldReturnEmptyList() { - var request = new PseudonymServiceListRequest { Namespace = "emptyNamespace", }; + var request = new PseudonymServiceListRequest { Namespace = "emptyNamespace" }; var response = await sut.List(request, TestServerCallContext.Create()); @@ -212,7 +212,7 @@ public async Task List_WithEmptyNamespace_ShouldReturnEmptyList() [Fact] public async Task List_WithNonExistingNamespace_ShouldThrowNotFoundError() { - var request = new PseudonymServiceListRequest { Namespace = "nonExistingNamespace", }; + var request = new PseudonymServiceListRequest { Namespace = "nonExistingNamespace" }; await sut.Invoking(async s => await s.List(request, TestServerCallContext.Create())) .Should() @@ -223,7 +223,7 @@ await sut.Invoking(async s => await s.List(request, TestServerCallContext.Create [Fact] public async Task List_WithExistingNonEmptyNamespace_ShouldReturnAllPseudonyms() { - var request = new PseudonymServiceListRequest { Namespace = "existingNamespace", }; + var request = new PseudonymServiceListRequest { Namespace = "existingNamespace" }; var response = await sut.List(request, TestServerCallContext.Create()); diff --git a/src/Vfps.Tests/WebAppTests/HttpEndpointTests.cs b/src/Vfps.Tests/WebAppTests/HttpEndpointTests.cs index ef3f2f6..b8aebbb 100644 --- a/src/Vfps.Tests/WebAppTests/HttpEndpointTests.cs +++ b/src/Vfps.Tests/WebAppTests/HttpEndpointTests.cs @@ -57,17 +57,9 @@ public async Task CreatePseudonym_ShouldSucceed() { Parameter = new List { - new Parameters.ParameterComponent - { - Name = "namespace", - Value = new FhirString("existingNamespace"), - }, - new Parameters.ParameterComponent - { - Name = "originalValue", - Value = new FhirString("test"), - }, - } + new() { Name = "namespace", Value = new FhirString("existingNamespace") }, + new() { Name = "originalValue", Value = new FhirString("test") }, + }, }; var response = await fhirClient.WholeSystemOperationAsync("create-pseudonym", p); diff --git a/src/Vfps/Data/NamespaceRepository.cs b/src/Vfps/Data/NamespaceRepository.cs index 4603a30..2d2ae41 100644 --- a/src/Vfps/Data/NamespaceRepository.cs +++ b/src/Vfps/Data/NamespaceRepository.cs @@ -21,6 +21,9 @@ CancellationToken cancellationToken CancellationToken cancellationToken ) { - return await context.Namespaces.FindAsync(namespaceName, cancellationToken); + return await context.Namespaces.FindAsync( + [namespaceName], + cancellationToken: cancellationToken + ); } } diff --git a/src/Vfps/Fhir/FhirController.cs b/src/Vfps/Fhir/FhirController.cs index a2de8a4..00baf34 100644 --- a/src/Vfps/Fhir/FhirController.cs +++ b/src/Vfps/Fhir/FhirController.cs @@ -45,7 +45,7 @@ public async Task CreatePseudonym( { Severity = OperationOutcome.IssueSeverity.Error, Code = OperationOutcome.IssueType.Processing, - Diagnostics = "Received malformed or missing resource" + Diagnostics = "Received malformed or missing resource", } ); logger.LogError("Bad Request: received request body is empty."); @@ -64,7 +64,7 @@ public async Task CreatePseudonym( Severity = OperationOutcome.IssueSeverity.Error, Code = OperationOutcome.IssueType.Processing, Diagnostics = - "namespace and/or originalValue are missing in the Parameters request object" + "namespace and/or originalValue are missing in the Parameters request object", } ); return BadRequest(outcome); @@ -79,7 +79,7 @@ public async Task CreatePseudonym( { Severity = OperationOutcome.IssueSeverity.Error, Code = OperationOutcome.IssueType.Processing, - Diagnostics = $"the namespace '{namespaceName}' could not be found." + Diagnostics = $"the namespace '{namespaceName}' could not be found.", } ); return NotFound(outcome); @@ -120,7 +120,7 @@ public async Task CreatePseudonym( { Severity = OperationOutcome.IssueSeverity.Error, Code = OperationOutcome.IssueType.Processing, - Diagnostics = "failed to store the pseudonym after several retries" + Diagnostics = "failed to store the pseudonym after several retries", } ); return StatusCode(500, outcome); @@ -131,22 +131,14 @@ public async Task CreatePseudonym( { Parameter = new List { - new Parameters.ParameterComponent - { - Name = "namespace", - Value = new FhirString(namespaceName), - }, - new Parameters.ParameterComponent - { - Name = "originalValue", - Value = new FhirString(originalValue), - }, - new Parameters.ParameterComponent + new() { Name = "namespace", Value = new FhirString(namespaceName) }, + new() { Name = "originalValue", Value = new FhirString(originalValue) }, + new() { Name = "pseudonymValue", Value = new FhirString(upsertedPseudonym.PseudonymValue), }, - } + }, } ); } @@ -164,12 +156,12 @@ public CapabilityStatement GetMetadata() Status = PublicationStatus.Active, Date = DateTime.UtcNow.ToString("s", CultureInfo.InvariantCulture), Kind = CapabilityStatementKind.Instance, - Software = new CapabilityStatement.SoftwareComponent { Name = "VFPS FHIR API", }, + Software = new CapabilityStatement.SoftwareComponent { Name = "VFPS FHIR API" }, FhirVersion = FHIRVersion.N4_0_1, Format = new[] { "application/fhir+json" }, Rest = new List { - new() { Mode = CapabilityStatement.RestfulCapabilityMode.Server } + new() { Mode = CapabilityStatement.RestfulCapabilityMode.Server }, }, }; } diff --git a/src/Vfps/Migrations/20221207170557_InitialCreate.cs b/src/Vfps/Migrations/20221207170557_InitialCreate.cs index 04ba292..977f9c7 100644 --- a/src/Vfps/Migrations/20221207170557_InitialCreate.cs +++ b/src/Vfps/Migrations/20221207170557_InitialCreate.cs @@ -46,7 +46,7 @@ protected override void Up(MigrationBuilder migrationBuilder) name: "last_updated_at", type: "timestamp with time zone", nullable: false - ) + ), }, constraints: table => { @@ -82,7 +82,7 @@ protected override void Up(MigrationBuilder migrationBuilder) name: "last_updated_at", type: "timestamp with time zone", nullable: false - ) + ), }, constraints: table => { diff --git a/src/Vfps/Program.cs b/src/Vfps/Program.cs index 6dcb5df..08f3d82 100644 --- a/src/Vfps/Program.cs +++ b/src/Vfps/Program.cs @@ -160,7 +160,7 @@ // there's currently no readiness probes depending on external state, // but in case we ever add one, this prepares the code for it. // see https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/health-checks?view=aspnetcore-7.0#separate-readiness-and-liveness-probes - Predicate = healthCheck => healthCheck.Tags.Contains("ready") + Predicate = healthCheck => healthCheck.Tags.Contains("ready"), } ); diff --git a/src/Vfps/PseudonymGenerators/PseudonymizationMethodsLookup.cs b/src/Vfps/PseudonymGenerators/PseudonymizationMethodsLookup.cs index ac044c0..6be27b7 100644 --- a/src/Vfps/PseudonymGenerators/PseudonymizationMethodsLookup.cs +++ b/src/Vfps/PseudonymGenerators/PseudonymizationMethodsLookup.cs @@ -16,7 +16,7 @@ public PseudonymizationMethodsLookup() new CryptoRandomBase64UrlEncodedGenerator() }, { PseudonymGenerationMethod.Sha256HexEncoded, new HexEncodedSha256HashGenerator() }, - { PseudonymGenerationMethod.Uuid4, new Uuid4Generator() } + { PseudonymGenerationMethod.Uuid4, new Uuid4Generator() }, }; } diff --git a/src/Vfps/Services/NamespaceService.cs b/src/Vfps/Services/NamespaceService.cs index b5301f0..f5b425c 100644 --- a/src/Vfps/Services/NamespaceService.cs +++ b/src/Vfps/Services/NamespaceService.cs @@ -71,9 +71,9 @@ ServerCallContext context Meta = new Meta { CreatedAt = Timestamp.FromDateTimeOffset(@namespace.CreatedAt), - LastUpdatedAt = Timestamp.FromDateTimeOffset(@namespace.LastUpdatedAt) - } - } + LastUpdatedAt = Timestamp.FromDateTimeOffset(@namespace.LastUpdatedAt), + }, + }, }; } @@ -113,9 +113,9 @@ ServerCallContext context Meta = new Meta { CreatedAt = Timestamp.FromDateTimeOffset(@namespace.CreatedAt), - LastUpdatedAt = Timestamp.FromDateTimeOffset(@namespace.LastUpdatedAt) - } - } + LastUpdatedAt = Timestamp.FromDateTimeOffset(@namespace.LastUpdatedAt), + }, + }, }; } @@ -170,8 +170,8 @@ ServerCallContext context Meta = new Meta { CreatedAt = Timestamp.FromDateTimeOffset(n.CreatedAt), - LastUpdatedAt = Timestamp.FromDateTimeOffset(n.LastUpdatedAt) - } + LastUpdatedAt = Timestamp.FromDateTimeOffset(n.LastUpdatedAt), + }, }) .ToListAsync(context.CancellationToken); diff --git a/src/Vfps/Services/PseudonymService.cs b/src/Vfps/Services/PseudonymService.cs index 081908c..44a669f 100644 --- a/src/Vfps/Services/PseudonymService.cs +++ b/src/Vfps/Services/PseudonymService.cs @@ -75,7 +75,7 @@ ServerCallContext context if (upsertedPseudonym is null) { - var metadata = new Metadata { { "Namespace", request.Namespace }, }; + var metadata = new Metadata { { "Namespace", request.Namespace } }; throw new RpcException( new Status( @@ -98,7 +98,7 @@ ServerCallContext context CreatedAt = Timestamp.FromDateTimeOffset(upsertedPseudonym.CreatedAt), LastUpdatedAt = Timestamp.FromDateTimeOffset(upsertedPseudonym.LastUpdatedAt), }, - } + }, }; } @@ -118,7 +118,7 @@ ServerCallContext context var metadata = new Metadata { { "Namespace", request.Namespace }, - { "Pseudonym", request.PseudonymValue } + { "Pseudonym", request.PseudonymValue }, }; throw new RpcException( @@ -142,7 +142,7 @@ ServerCallContext context CreatedAt = Timestamp.FromDateTimeOffset(pseudonym.CreatedAt), LastUpdatedAt = Timestamp.FromDateTimeOffset(pseudonym.LastUpdatedAt), }, - } + }, }; } @@ -154,7 +154,7 @@ ServerCallContext context { if (!Context.Namespaces.Where(n => n.Name == request.Namespace).Any()) { - var metadata = new Metadata { { "Namespace", request.Namespace }, }; + var metadata = new Metadata { { "Namespace", request.Namespace } }; throw new RpcException( new Status(