fix: Reenable ReSharper annotations, fix warnings
This commit is contained in:
@@ -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))]
|
||||||
|
|||||||
+18
-18
@@ -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
-1
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user