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