fix: Reenable ReSharper annotations, fix warnings

This commit is contained in:
Valters Melnalksnis
2022-11-26 12:12:12 +02:00
parent 57d3cce072
commit 05b0767759
6 changed files with 27 additions and 25 deletions
+2 -3
View File
@@ -47,11 +47,10 @@ jobs:
with: with:
token: ${{ secrets.CODECOV_TOKEN }} token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true fail_ci_if_error: true
resharper: resharper:
name: Resharper name: Resharper
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: false #ReSharper currently does not support .NET 7
steps: steps:
- uses: actions/checkout@v3.1.0 - uses: actions/checkout@v3.1.0
- uses: actions/setup-dotnet@v3.0.3 - uses: actions/setup-dotnet@v3.0.3
@@ -62,5 +61,5 @@ jobs:
uses: VMelnalksnis/resharper-inspect-action@v0.2.5 uses: VMelnalksnis/resharper-inspect-action@v0.2.5
with: with:
solution: NordigenDotNet.sln solution: NordigenDotNet.sln
resharper-version: 2022.1.2 resharper-version: 2022.3.0-eap09
treat-warnings-as-errors: true treat-warnings-as-errors: true
@@ -52,7 +52,7 @@ public record Requisition
/// <summary>Gets the end-user-agreement of this requisition.</summary> /// <summary>Gets the end-user-agreement of this requisition.</summary>
[JsonIgnore] [JsonIgnore]
public Guid? Agreement => string.IsNullOrWhiteSpace(AgreementValue) ? null : Guid.Parse(AgreementValue); public Guid? Agreement => string.IsNullOrWhiteSpace(AgreementValue) ? null : Guid.Parse(AgreementValue!);
/// <summary>Gets or sets a two-letter country code (ISO 639-1).</summary> /// <summary>Gets or sets a two-letter country code (ISO 639-1).</summary>
[JsonPropertyName("user_language")] [JsonPropertyName("user_language")]
@@ -12,7 +12,7 @@ using VMelnalksnis.NordigenDotNet.Requisitions;
namespace VMelnalksnis.NordigenDotNet.Serialization; namespace VMelnalksnis.NordigenDotNet.Serialization;
/// <inheritdoc /> /// <inheritdoc cref="JsonSerializerContext" />
[JsonSourceGenerationOptions(GenerationMode = JsonSourceGenerationMode.Metadata, IgnoreReadOnlyProperties = true)] [JsonSourceGenerationOptions(GenerationMode = JsonSourceGenerationMode.Metadata, IgnoreReadOnlyProperties = true)]
[JsonSerializable(typeof(Account))] [JsonSerializable(typeof(Account))]
[JsonSerializable(typeof(AccountDetailsWrapper))] [JsonSerializable(typeof(AccountDetailsWrapper))]
@@ -6,7 +6,7 @@ using System.Text.Json.Serialization;
namespace VMelnalksnis.NordigenDotNet.Tokens; namespace VMelnalksnis.NordigenDotNet.Tokens;
/// <inheritdoc /> /// <inheritdoc cref="JsonSerializerContext" />
[JsonSerializable(typeof(AccessToken))] [JsonSerializable(typeof(AccessToken))]
[JsonSerializable(typeof(Token))] [JsonSerializable(typeof(Token))]
[JsonSerializable(typeof(TokenCreation))] [JsonSerializable(typeof(TokenCreation))]
@@ -2,6 +2,7 @@
// Licensed under the Apache License 2.0. // Licensed under the Apache License 2.0.
// See LICENSE file in the project root for full license information. // See LICENSE file in the project root for full license information.
using System;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
@@ -15,31 +16,35 @@ using static VMelnalksnis.NordigenDotNet.Tests.Integration.ServiceProviderFixtur
namespace VMelnalksnis.NordigenDotNet.Tests.Integration.Accounts; namespace VMelnalksnis.NordigenDotNet.Tests.Integration.Accounts;
public sealed class AccountClientTests : IClassFixture<ServiceProviderFixture> public sealed class AccountClientTests : IClassFixture<ServiceProviderFixture>, IAsyncLifetime
{ {
private readonly ITestOutputHelper _testOutputHelper; private readonly ITestOutputHelper _testOutputHelper;
private readonly INordigenClient _nordigenClient; private readonly INordigenClient _nordigenClient;
private readonly Requisition _requisition; private Requisition _requisition = null!;
private Guid _accountId;
public AccountClientTests(ITestOutputHelper testOutputHelper, ServiceProviderFixture serviceProviderFixture) public AccountClientTests(ITestOutputHelper testOutputHelper, ServiceProviderFixture serviceProviderFixture)
{ {
_testOutputHelper = testOutputHelper; _testOutputHelper = testOutputHelper;
_nordigenClient = serviceProviderFixture.GetNordigenClient(testOutputHelper); _nordigenClient = serviceProviderFixture.GetNordigenClient(testOutputHelper);
}
_requisition = GetRequisition().GetAwaiter().GetResult(); public async Task InitializeAsync()
{
_requisition = await GetRequisition();
_accountId = _requisition.Accounts.OrderBy(guid => guid).First();
} }
[Fact] [Fact]
public async Task Get_ShouldReturnExpected() public async Task Get_ShouldReturnExpected()
{ {
_requisition.Accounts.Should().HaveCount(2); _requisition.Accounts.Should().HaveCount(2);
var id = _requisition.Accounts.First();
var account = await _nordigenClient.Accounts.Get(id); var account = await _nordigenClient.Accounts.Get(_accountId);
var currentInstant = SystemClock.Instance.GetCurrentInstant(); var currentInstant = SystemClock.Instance.GetCurrentInstant();
using (new AssertionScope()) using (new AssertionScope())
{ {
account.Id.Should().Be(id); account.Id.Should().Be(_accountId);
account.Created.Should().BeLessThan(account.LastAccessed).And.BeLessThan(currentInstant); account.Created.Should().BeLessThan(account.LastAccessed).And.BeLessThan(currentInstant);
account.LastAccessed.Should().BeGreaterThan(currentInstant - Duration.FromMinutes(1)); account.LastAccessed.Should().BeGreaterThan(currentInstant - Duration.FromMinutes(1));
account.Iban.Should().Be("GL3343697694912188"); account.Iban.Should().Be("GL3343697694912188");
@@ -51,9 +56,7 @@ public sealed class AccountClientTests : IClassFixture<ServiceProviderFixture>
[Fact] [Fact]
public async Task GetDetails_ShouldReturnExpected() public async Task GetDetails_ShouldReturnExpected()
{ {
var id = _requisition.Accounts.First(); var accountDetails = await _nordigenClient.Accounts.GetDetails(_accountId);
var accountDetails = await _nordigenClient.Accounts.GetDetails(id);
using (new AssertionScope()) using (new AssertionScope())
{ {
@@ -70,9 +73,7 @@ public sealed class AccountClientTests : IClassFixture<ServiceProviderFixture>
[Fact] [Fact]
public async Task GetBalances_ShouldReturnExpected() public async Task GetBalances_ShouldReturnExpected()
{ {
var id = _requisition.Accounts.First(); var balances = await _nordigenClient.Accounts.GetBalances(_accountId);
var balances = await _nordigenClient.Accounts.GetBalances(id);
balances.Should().HaveCount(2); balances.Should().HaveCount(2);
@@ -89,16 +90,14 @@ public sealed class AccountClientTests : IClassFixture<ServiceProviderFixture>
[Fact] [Fact]
public async Task GetTransactions_ShouldReturnExpected() public async Task GetTransactions_ShouldReturnExpected()
{ {
var id = _requisition.Accounts.First();
var currentInstant = SystemClock.Instance.GetCurrentInstant(); var currentInstant = SystemClock.Instance.GetCurrentInstant();
var currentZone = DateTimeZoneProviders.Tzdb.GetSystemDefault(); var currentZone = DateTimeZoneProviders.Tzdb.GetSystemDefault();
var currentDate = currentInstant.InZone(currentZone).Date; var currentDate = currentInstant.InZone(currentZone).Date;
var dateTo = currentInstant; var dateTo = currentInstant;
var dateFrom = dateTo - Duration.FromDays(7); var dateFrom = dateTo - Duration.FromDays(7);
var transactions = await _nordigenClient.Accounts.GetTransactions(id, new Interval(dateFrom, dateTo)); var transactions = await _nordigenClient.Accounts.GetTransactions(_accountId, new Interval(dateFrom, dateTo));
var allTransactions = await _nordigenClient.Accounts.GetTransactions(id); var allTransactions = await _nordigenClient.Accounts.GetTransactions(_accountId);
using (new AssertionScope()) using (new AssertionScope())
{ {
@@ -131,11 +130,12 @@ public sealed class AccountClientTests : IClassFixture<ServiceProviderFixture>
} }
} }
public Task DisposeAsync() => Task.CompletedTask;
private async Task<Requisition> GetRequisition() private async Task<Requisition> GetRequisition()
{ {
var requisition = await _nordigenClient.Requisitions.Get().SingleOrDefaultAsync(r => var requisition = await _nordigenClient.Requisitions.Get().SingleOrDefaultAsync(r =>
r.InstitutionId is IntegrationInstitutionId && r is { InstitutionId: IntegrationInstitutionId, Status: RequisitionStatus.Ln });
r.Status is RequisitionStatus.Ln);
if (requisition is not null) if (requisition is not null)
{ {
@@ -4,7 +4,6 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Net;
using System.Net.Http; using System.Net.Http;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
@@ -15,6 +14,10 @@ using VMelnalksnis.NordigenDotNet.Requisitions;
using Xunit.Abstractions; using Xunit.Abstractions;
#if NET6_0_OR_GREATER
using System.Net;
#endif
using static VMelnalksnis.NordigenDotNet.Tests.Integration.ServiceProviderFixture; using static VMelnalksnis.NordigenDotNet.Tests.Integration.ServiceProviderFixture;
namespace VMelnalksnis.NordigenDotNet.Tests.Integration.Requisitions; namespace VMelnalksnis.NordigenDotNet.Tests.Integration.Requisitions;