From 433f15a4f53b4781018c10ece7d17802f2c84935 Mon Sep 17 00:00:00 2001 From: Jack-Edwards Date: Mon, 8 Jan 2024 22:29:38 -0600 Subject: [PATCH 1/6] Upgrade to .NET 8.0 and upgrade all NuGet packages --- Crypter.API/Crypter.API.csproj | 9 +-- Crypter.API/Dockerfile | 4 +- Crypter.Benchmarks/Crypter.Benchmarks.csproj | 5 +- .../Crypter.Common.Client.csproj | 3 +- Crypter.Common/Crypter.Common.csproj | 5 +- Crypter.Core/Crypter.Core.csproj | 19 ++--- .../Crypter.Crypto.Common.csproj | 3 +- .../Crypter.Crypto.Providers.Browser.csproj | 5 +- .../Crypter.Crypto.Providers.Default.csproj | 5 +- Crypter.DataAccess/Crypter.DataAccess.csproj | 9 +-- .../UrlSafeEncoder_Tests.cs | 28 ++++---- .../Primitive_Tests/Base64String_Tests.cs | 33 +++++---- .../Primitive_Tests/EmailAddress_Tests.cs | 32 ++++----- .../Primitive_Tests/Password_Tests.cs | 26 +++---- .../Primitive_Tests/Username_Tests.cs | 38 +++++----- .../PostgresContainer_Tests.cs | 4 +- .../Services_Tests/EmailService_Tests.cs | 2 +- .../Services_Tests/HashIdService_Tests.cs | 2 +- .../PasswordHashService_Tests.cs | 20 +++--- .../Services_Tests/TokenService_Tests.cs | 72 ++++++++++--------- .../TransferRepository_Tests.cs | 14 ++-- .../UserEmailVerificationService_Tests.cs | 28 ++++---- Crypter.Test/Crypter.Test.csproj | 15 ++-- .../DownloadFileTransfer_Tests.cs | 41 +++++------ .../GetReceivedFileTransfers_Tests.cs | 17 ++--- .../GetSentFileTransfers_Tests.cs | 14 ++-- .../PreviewFileTransfer_Tests.cs | 40 +++++------ .../UploadFileTransfer_Tests.cs | 46 ++++++------ .../DownloadMessageTransfer_Tests.cs | 42 +++++------ .../GetReceivedMessageTransfers_Tests.cs | 17 ++--- .../GetSentMessageTransfers_Tests.cs | 14 ++-- .../PreviewMessageTransfer_Tests.cs | 40 +++++------ .../UploadMessageTransfer_Tests.cs | 46 ++++++------ .../Metrics_Tests/PublicStorage_Tests.cs | 2 +- .../UserAuthentication_Tests/Login_Tests.cs | 34 ++++----- .../UserAuthentication_Tests/Logout_Tests.cs | 19 ++--- .../PasswordChallenge_Tests.cs | 43 ++++++----- .../UserAuthentication_Tests/Refresh_Tests.cs | 41 +++++------ .../Registration_Tests.cs | 25 +++---- .../RecoveryKeyRisksConsent_Tests.cs | 10 +-- .../UserContact_Tests/AddUserContact_Tests.cs | 43 +++++------ .../UserContact_Tests/GetUserContact_Tests.cs | 34 +++++---- .../RemoveUserContact_Tests.cs | 44 ++++++------ .../UserKey_Tests/GetMasterKey_Tests.cs | 16 ++--- .../UserKey_Tests/GetPrivateKey_Tests.cs | 19 ++--- .../UserKey_Tests/GetRecoveryKey_Tests.cs | 24 +++---- .../UserKey_Tests/InsertMasterKey_Tests.cs | 8 +-- .../UserKey_Tests/InsertPrivateKey_Tests.cs | 11 +-- .../SendRecoveryEmail_Tests.cs | 2 +- .../SubmitRecovery_Tests.cs | 38 +++++----- .../EmailAddressVerification_Tests.cs | 8 +-- .../GetContactInfo_Tests.cs | 8 +-- .../GetNotificationSettings_Tests.cs | 8 +-- .../GetPrivacySettings_Tests.cs | 8 +-- .../GetProfileSettings_Tests.cs | 8 +-- .../SetPrivacySettings_Tests.cs | 8 +-- .../SetProfileSettings_Tests.cs | 8 +-- .../UpdateContactInfo_Tests.cs | 8 +-- .../UpdateNotificationSettings_Tests.cs | 8 +-- .../User_Tests/GetUserProfile_Tests.cs | 12 ++-- .../User_Tests/UserSearch_Tests.cs | 16 ++--- .../Web_Tests/BrowserRepository_Tests.cs | 71 +++++++++--------- .../Web_Tests/BrowserTokenRepository_Tests.cs | 46 ++++++------ .../BrowserUserSessionRepository_Tests.cs | 32 ++++----- Crypter.Web/Crypter.Web.csproj | 10 +-- Crypter.Web/Dockerfile | 2 +- 66 files changed, 701 insertions(+), 671 deletions(-) diff --git a/Crypter.API/Crypter.API.csproj b/Crypter.API/Crypter.API.csproj index 29d90e16f..e1e257730 100644 --- a/Crypter.API/Crypter.API.csproj +++ b/Crypter.API/Crypter.API.csproj @@ -1,9 +1,10 @@  - net7.0 + net8.0 enable disable true + 12 @@ -17,15 +18,15 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/Crypter.API/Dockerfile b/Crypter.API/Dockerfile index 9dc2f2017..ecae47b43 100644 --- a/Crypter.API/Dockerfile +++ b/Crypter.API/Dockerfile @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build WORKDIR /source/ RUN dotnet tool install --global dotnet-references @@ -15,7 +15,7 @@ COPY ./ ./ RUN dotnet publish Crypter.API --configuration release --no-self-contained /p:TreatWarningsAsErrors=true /warnaserror --output /app/ RUN dotnet-ef migrations bundle --project Crypter.DataAccess --startup-project Crypter.API --configuration release --no-build --target-runtime linux-x64 --output /app/efbundle --verbose -FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS runtime +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS runtime WORKDIR /app COPY --from=build /app ./ CMD ["dotnet", "Crypter.API.dll"] diff --git a/Crypter.Benchmarks/Crypter.Benchmarks.csproj b/Crypter.Benchmarks/Crypter.Benchmarks.csproj index aac1988ed..9617fbbb1 100644 --- a/Crypter.Benchmarks/Crypter.Benchmarks.csproj +++ b/Crypter.Benchmarks/Crypter.Benchmarks.csproj @@ -2,14 +2,15 @@ Exe - net7.0 + net8.0 disable enable true + 12 - + diff --git a/Crypter.Common.Client/Crypter.Common.Client.csproj b/Crypter.Common.Client/Crypter.Common.Client.csproj index 76f82dcf1..1d71aab4e 100644 --- a/Crypter.Common.Client/Crypter.Common.Client.csproj +++ b/Crypter.Common.Client/Crypter.Common.Client.csproj @@ -1,10 +1,11 @@  - net7.0 + net8.0 disable enable true + 12 diff --git a/Crypter.Common/Crypter.Common.csproj b/Crypter.Common/Crypter.Common.csproj index 13fcf7fe9..64679a1b5 100644 --- a/Crypter.Common/Crypter.Common.csproj +++ b/Crypter.Common/Crypter.Common.csproj @@ -1,12 +1,13 @@ - net7.0 + net8.0 true enable + 12 - + diff --git a/Crypter.Core/Crypter.Core.csproj b/Crypter.Core/Crypter.Core.csproj index 0f933abfe..71afaf348 100644 --- a/Crypter.Core/Crypter.Core.csproj +++ b/Crypter.Core/Crypter.Core.csproj @@ -1,23 +1,24 @@  - net7.0 + net8.0 disable disable true + 12 - - - + + + - + - - - - + + + + diff --git a/Crypter.Crypto.Common/Crypter.Crypto.Common.csproj b/Crypter.Crypto.Common/Crypter.Crypto.Common.csproj index 66b7d7b7b..119244268 100644 --- a/Crypter.Crypto.Common/Crypter.Crypto.Common.csproj +++ b/Crypter.Crypto.Common/Crypter.Crypto.Common.csproj @@ -1,10 +1,11 @@ - net7.0 + net8.0 disable disable true + 12 diff --git a/Crypter.Crypto.Providers.Browser/Crypter.Crypto.Providers.Browser.csproj b/Crypter.Crypto.Providers.Browser/Crypter.Crypto.Providers.Browser.csproj index f918193aa..005b2902a 100644 --- a/Crypter.Crypto.Providers.Browser/Crypter.Crypto.Providers.Browser.csproj +++ b/Crypter.Crypto.Providers.Browser/Crypter.Crypto.Providers.Browser.csproj @@ -1,14 +1,15 @@  - net7.0 + net8.0 disable disable true + 12 - + diff --git a/Crypter.Crypto.Providers.Default/Crypter.Crypto.Providers.Default.csproj b/Crypter.Crypto.Providers.Default/Crypter.Crypto.Providers.Default.csproj index 4d9de9ba2..1b64a50d6 100644 --- a/Crypter.Crypto.Providers.Default/Crypter.Crypto.Providers.Default.csproj +++ b/Crypter.Crypto.Providers.Default/Crypter.Crypto.Providers.Default.csproj @@ -1,14 +1,15 @@ - net7.0 + net8.0 disable disable true + 12 - + diff --git a/Crypter.DataAccess/Crypter.DataAccess.csproj b/Crypter.DataAccess/Crypter.DataAccess.csproj index 927ba78a2..8f6e56e72 100644 --- a/Crypter.DataAccess/Crypter.DataAccess.csproj +++ b/Crypter.DataAccess/Crypter.DataAccess.csproj @@ -1,15 +1,16 @@ - net7.0 + net8.0 enable enable + 12 - - - + + + diff --git a/Crypter.Test/Common_Tests/Infrastructure_Tests/UrlSafeEncoder_Tests.cs b/Crypter.Test/Common_Tests/Infrastructure_Tests/UrlSafeEncoder_Tests.cs index 13cfa6308..0fca09216 100644 --- a/Crypter.Test/Common_Tests/Infrastructure_Tests/UrlSafeEncoder_Tests.cs +++ b/Crypter.Test/Common_Tests/Infrastructure_Tests/UrlSafeEncoder_Tests.cs @@ -42,47 +42,47 @@ public void Setup() public void Code_Encoding_Is_Consistent() { Guid code = new Guid("adec7c67-dfb6-4b9f-9a1f-04c0b0f4643c"); - string knownEncoding = "Z3zsrbbfn0uaHwTAsPRkPA"; + const string knownEncoding = "Z3zsrbbfn0uaHwTAsPRkPA"; string newEncoding = UrlSafeEncoder.EncodeGuidUrlSafe(code); - Assert.AreEqual(knownEncoding, newEncoding); + Assert.That(newEncoding, Is.EqualTo(knownEncoding)); } [Test] public void Code_Decoding_Is_Consistent() { - string encoding = "Z3zsrbbfn0uaHwTAsPRkPA"; + const string encoding = "Z3zsrbbfn0uaHwTAsPRkPA"; Guid knownCode = new Guid("adec7c67-dfb6-4b9f-9a1f-04c0b0f4643c"); Guid newCode = UrlSafeEncoder.DecodeGuidFromUrlSafe(encoding); - Assert.AreEqual(knownCode, newCode); + Assert.That(newCode, Is.EqualTo(knownCode)); } [Test] public void Signature_Encoding_Is_Consistent() { - byte[] bytes = new byte[] - { + byte[] bytes = + [ 0x8b, 0x6f, 0xa0, 0x13, 0x13, 0xce, 0x51, 0xaf, 0xc0, 0x9e, 0x61, 0x0f, 0x81, 0x92, 0x50, 0xda, 0x50, 0x17, 0x78, 0xad, 0x36, 0x3c, 0xba, 0x4f, 0x9e, 0x31, 0x2a, 0x6e, 0xc8, 0x23, 0xd4, 0x2a - }; - string knownEncoding = "i2-gExPOUa_AnmEPgZJQ2lAXeK02PLpPnjEqbsgj1Co"; + ]; + const string knownEncoding = "i2-gExPOUa_AnmEPgZJQ2lAXeK02PLpPnjEqbsgj1Co"; string newEncoding = UrlSafeEncoder.EncodeBytesUrlSafe(bytes); - Assert.AreEqual(knownEncoding, newEncoding); + Assert.That(newEncoding, Is.EqualTo(knownEncoding)); } [Test] public void Signature_Decoding_Is_Consistent() { - string encoding = "i2-gExPOUa_AnmEPgZJQ2lAXeK02PLpPnjEqbsgj1Co"; - byte[] knownBytes = new byte[] - { + const string encoding = "i2-gExPOUa_AnmEPgZJQ2lAXeK02PLpPnjEqbsgj1Co"; + byte[] knownBytes = + [ 0x8b, 0x6f, 0xa0, 0x13, 0x13, 0xce, 0x51, 0xaf, 0xc0, 0x9e, 0x61, 0x0f, 0x81, 0x92, 0x50, 0xda, 0x50, 0x17, 0x78, 0xad, 0x36, 0x3c, 0xba, 0x4f, 0x9e, 0x31, 0x2a, 0x6e, 0xc8, 0x23, 0xd4, 0x2a - }; + ]; byte[] newSignature = UrlSafeEncoder.DecodeBytesFromUrlSafe(encoding); - Assert.AreEqual(knownBytes, newSignature); + Assert.That(newSignature, Is.EqualTo(knownBytes)); } } diff --git a/Crypter.Test/Common_Tests/Primitive_Tests/Base64String_Tests.cs b/Crypter.Test/Common_Tests/Primitive_Tests/Base64String_Tests.cs index 140de0152..ad8fb05e7 100644 --- a/Crypter.Test/Common_Tests/Primitive_Tests/Base64String_Tests.cs +++ b/Crypter.Test/Common_Tests/Primitive_Tests/Base64String_Tests.cs @@ -38,10 +38,9 @@ public class Base64String_Tests public void Null_Value_Is_Invalid(string value) { Assert.Throws(() => Base64String.From(value)); - - bool shouldBeFalse = Base64String.TryFrom(value, out var shouldBeNull); - Assert.IsFalse(shouldBeFalse); - Assert.IsNull(shouldBeNull); + bool shouldBeFalse = Base64String.TryFrom(value, out Base64String shouldBeNull); + Assert.That(shouldBeFalse, Is.False); + Assert.That(shouldBeNull, Is.Null); } [TestCase("")] @@ -51,9 +50,9 @@ public void Empty_Values_Are_Invalid(string value) { Assert.Throws(() => Base64String.From(value)); - bool shouldBeFalse = Base64String.TryFrom(value, out var shouldBeNull); - Assert.IsFalse(shouldBeFalse); - Assert.IsNull(shouldBeNull); + bool shouldBeFalse = Base64String.TryFrom(value, out Base64String shouldBeNull); + Assert.That(shouldBeFalse, Is.False); + Assert.That(shouldBeNull, Is.Null); } [TestCase("jellyfish")] @@ -63,9 +62,9 @@ public void Invalid_Base64_Strings_Are_Invalid(string value) { Assert.Throws(() => Base64String.From(value)); - bool shouldBeFalse = Base64String.TryFrom(value, out var shouldBeNull); - Assert.IsFalse(shouldBeFalse); - Assert.IsNull(shouldBeNull); + bool shouldBeFalse = Base64String.TryFrom(value, out Base64String shouldBeNull); + Assert.That(shouldBeFalse, Is.False); + Assert.That(shouldBeNull, Is.Null); } [TestCase("amVsbHlmaXNo")] @@ -74,13 +73,13 @@ public void Invalid_Base64_Strings_Are_Invalid(string value) public void Valid_Base64_Strings_Are_Valid(string value) { Assert.DoesNotThrow(() => Base64String.From(value)); - var validBase64 = Base64String.From(value); - Assert.IsNotNull(validBase64); - Assert.AreEqual(value, validBase64.Value); + Base64String validBase64 = Base64String.From(value); + Assert.That(validBase64, Is.Not.Null); + Assert.That(validBase64.Value, Is.EqualTo(value)); - bool shouldBeTrue = Base64String.TryFrom(value, out var newValidBase64); - Assert.IsTrue(shouldBeTrue); - Assert.IsNotNull(newValidBase64); - Assert.AreEqual(value, newValidBase64.Value); + bool shouldBeTrue = Base64String.TryFrom(value, out Base64String newValidBase64); + Assert.That(shouldBeTrue, Is.True); + Assert.That(newValidBase64, Is.Not.Null); + Assert.That(newValidBase64.Value, Is.EqualTo(value)); } } diff --git a/Crypter.Test/Common_Tests/Primitive_Tests/EmailAddress_Tests.cs b/Crypter.Test/Common_Tests/Primitive_Tests/EmailAddress_Tests.cs index cf1b674cc..ca594c763 100644 --- a/Crypter.Test/Common_Tests/Primitive_Tests/EmailAddress_Tests.cs +++ b/Crypter.Test/Common_Tests/Primitive_Tests/EmailAddress_Tests.cs @@ -39,9 +39,9 @@ public void Null_Email_Addresses_Are_Invalid(string emailAddress) { Assert.Throws(() => EmailAddress.From(emailAddress)); - bool shouldBeFalse = EmailAddress.TryFrom(emailAddress, out var shouldBeNull); - Assert.IsFalse(shouldBeFalse); - Assert.IsNull(shouldBeNull); + bool shouldBeFalse = EmailAddress.TryFrom(emailAddress, out EmailAddress shouldBeNull); + Assert.That(shouldBeFalse, Is.False); + Assert.That(shouldBeNull, Is.Null); } [TestCase("")] @@ -51,9 +51,9 @@ public void Empty_Email_Addresses_Are_Invalid(string emailAddress) { Assert.Throws(() => EmailAddress.From(emailAddress)); - bool shouldBeFalse = EmailAddress.TryFrom(emailAddress, out var shouldBeNull); - Assert.IsFalse(shouldBeFalse); - Assert.IsNull(shouldBeNull); + bool shouldBeFalse = EmailAddress.TryFrom(emailAddress, out EmailAddress shouldBeNull); + Assert.That(shouldBeFalse, Is.False); + Assert.That(shouldBeNull, Is.Null); } [TestCase("hello@crypter.dev.")] @@ -62,9 +62,9 @@ public void Invalid_Email_Addresses_Are_Invalid(string emailAddress) { Assert.Throws(() => EmailAddress.From(emailAddress)); - bool shouldBeFalse = EmailAddress.TryFrom(emailAddress, out var shouldBeNull); - Assert.IsFalse(shouldBeFalse); - Assert.IsNull(shouldBeNull); + bool shouldBeFalse = EmailAddress.TryFrom(emailAddress, out EmailAddress shouldBeNull); + Assert.That(shouldBeFalse, Is.False); + Assert.That(shouldBeNull, Is.Null); } [TestCase("jack@crypter.dev")] @@ -73,13 +73,13 @@ public void Invalid_Email_Addresses_Are_Invalid(string emailAddress) public void Valid_Email_Addresses_Are_Valid(string emailAddress) { Assert.DoesNotThrow(() => EmailAddress.From(emailAddress)); - var validEmailAddress = EmailAddress.From(emailAddress); - Assert.IsNotNull(validEmailAddress); - Assert.AreEqual(emailAddress, validEmailAddress.Value); + EmailAddress validEmailAddress = EmailAddress.From(emailAddress); + Assert.That(validEmailAddress, Is.Not.Null); + Assert.That(validEmailAddress.Value, Is.EqualTo(emailAddress)); - bool shouldBeTrue = EmailAddress.TryFrom(emailAddress, out var newValidEmailAddress); - Assert.IsTrue(shouldBeTrue); - Assert.IsNotNull(newValidEmailAddress); - Assert.AreEqual(emailAddress, newValidEmailAddress.Value); + bool shouldBeTrue = EmailAddress.TryFrom(emailAddress, out EmailAddress newValidEmailAddress); + Assert.That(shouldBeTrue, Is.True); + Assert.That(newValidEmailAddress, Is.Not.Null); + Assert.That(newValidEmailAddress.Value, Is.EqualTo(emailAddress)); } } diff --git a/Crypter.Test/Common_Tests/Primitive_Tests/Password_Tests.cs b/Crypter.Test/Common_Tests/Primitive_Tests/Password_Tests.cs index d8c60a297..7d8e5e7f1 100644 --- a/Crypter.Test/Common_Tests/Primitive_Tests/Password_Tests.cs +++ b/Crypter.Test/Common_Tests/Primitive_Tests/Password_Tests.cs @@ -39,9 +39,9 @@ public void Null_Passwords_Are_Invalid(string password) { Assert.Throws(() => Password.From(password)); - bool shouldBeFalse = Password.TryFrom(password, out var shouldBeNull); - Assert.IsFalse(shouldBeFalse); - Assert.IsNull(shouldBeNull); + bool shouldBeFalse = Password.TryFrom(password, out Password shouldBeNull); + Assert.That(shouldBeFalse, Is.False); + Assert.That(shouldBeNull, Is.Null); } [TestCase("")] @@ -51,9 +51,9 @@ public void Empty_Passwords_Are_Invalid(string password) { Assert.Throws(() => Password.From(password)); - bool shouldBeFalse = Password.TryFrom(password, out var shouldBeNull); - Assert.IsFalse(shouldBeFalse); - Assert.IsNull(shouldBeNull); + bool shouldBeFalse = Password.TryFrom(password, out Password shouldBeNull); + Assert.That(shouldBeFalse, Is.False); + Assert.That(shouldBeNull, Is.Null); } [TestCase("a")] @@ -63,13 +63,13 @@ public void Empty_Passwords_Are_Invalid(string password) public void Valid_Passwords_Are_Valid(string password) { Assert.DoesNotThrow(() => Password.From(password)); - var validPassword = Password.From(password); - Assert.IsNotNull(validPassword); - Assert.AreEqual(password, validPassword.Value); + Password validPassword = Password.From(password); + Assert.That(validPassword, Is.Not.Null); + Assert.That(validPassword.Value, Is.EqualTo(password)); - bool shouldBeTrue = Password.TryFrom(password, out var newValidPassword); - Assert.IsTrue(shouldBeTrue); - Assert.IsNotNull(newValidPassword); - Assert.AreEqual(password, newValidPassword.Value); + bool shouldBeTrue = Password.TryFrom(password, out Password newValidPassword); + Assert.That(shouldBeTrue, Is.True); + Assert.That(newValidPassword, Is.Not.Null); + Assert.That(newValidPassword.Value, Is.EqualTo(password)); } } diff --git a/Crypter.Test/Common_Tests/Primitive_Tests/Username_Tests.cs b/Crypter.Test/Common_Tests/Primitive_Tests/Username_Tests.cs index b22ab84de..3add37bdb 100644 --- a/Crypter.Test/Common_Tests/Primitive_Tests/Username_Tests.cs +++ b/Crypter.Test/Common_Tests/Primitive_Tests/Username_Tests.cs @@ -39,9 +39,9 @@ public void Null_Usernames_Are_Invalid(string username) { Assert.Throws(() => Username.From(username)); - bool shouldBeFalse = Username.TryFrom(username, out var shouldBeNull); - Assert.IsFalse(shouldBeFalse); - Assert.IsNull(shouldBeNull); + bool shouldBeFalse = Username.TryFrom(username, out Username shouldBeNull); + Assert.That(shouldBeFalse, Is.False); + Assert.That(shouldBeNull, Is.Null); } [TestCase("")] @@ -51,9 +51,9 @@ public void Empty_Usernames_Are_Invalid(string username) { Assert.Throws(() => Username.From(username)); - bool shouldBeFalse = Username.TryFrom(username, out var shouldBeNull); - Assert.IsFalse(shouldBeFalse); - Assert.IsNull(shouldBeNull); + bool shouldBeFalse = Username.TryFrom(username, out Username shouldBeNull); + Assert.That(shouldBeFalse, Is.False); + Assert.That(shouldBeNull, Is.Null); } [TestCase("`")] @@ -91,9 +91,9 @@ public void Usernames_With_Invalid_Characters_Are_Invalid(string username) { Assert.Throws(() => Username.From(username)); - bool shouldBeFalse = Username.TryFrom(username, out var shouldBeNull); - Assert.IsFalse(shouldBeFalse); - Assert.IsNull(shouldBeNull); + bool shouldBeFalse = Username.TryFrom(username, out Username shouldBeNull); + Assert.That(shouldBeFalse, Is.False); + Assert.That(shouldBeNull, Is.Null); } [TestCase("ThisIsExactly33CharactersInLength")] @@ -101,9 +101,9 @@ public void Usernames_Longer_Than_32_Characters_Are_Invalid(string username) { Assert.Throws(() => Username.From(username)); - bool shouldBeFalse = Username.TryFrom(username, out var shouldBeNull); - Assert.IsFalse(shouldBeFalse); - Assert.IsNull(shouldBeNull); + bool shouldBeFalse = Username.TryFrom(username, out Username shouldBeNull); + Assert.That(shouldBeFalse, Is.False); + Assert.That(shouldBeNull, Is.Null); } [TestCase("jack")] @@ -114,13 +114,13 @@ public void Usernames_Longer_Than_32_Characters_Are_Invalid(string username) public void Valid_Usernames_Are_Valid(string username) { Assert.DoesNotThrow(() => Username.From(username)); - var validUsername = Username.From(username); - Assert.IsNotNull(validUsername); - Assert.AreEqual(username, validUsername.Value); + Username validUsername = Username.From(username); + Assert.That(validUsername, Is.Not.Null); + Assert.That(validUsername.Value, Is.EqualTo(username)); - bool shouldBeTrue = Username.TryFrom(username, out var newValidUsername); - Assert.IsTrue(shouldBeTrue); - Assert.IsNotNull(newValidUsername); - Assert.AreEqual(username, newValidUsername.Value); + bool shouldBeTrue = Username.TryFrom(username, out Username newValidUsername); + Assert.That(shouldBeTrue, Is.True); + Assert.That(newValidUsername, Is.Not.Null); + Assert.That(newValidUsername.Value, Is.EqualTo(username)); } } diff --git a/Crypter.Test/Container_Tests/PostgresContainer_Tests.cs b/Crypter.Test/Container_Tests/PostgresContainer_Tests.cs index 806b101af..ebcc2614c 100644 --- a/Crypter.Test/Container_Tests/PostgresContainer_Tests.cs +++ b/Crypter.Test/Container_Tests/PostgresContainer_Tests.cs @@ -85,7 +85,7 @@ public async Task Crypter_User_Cannot_Connect_To_Hangfire_Database() IEnumerable results = await connection.QueryAsync(query, parameters); bool canConnect = results.First(); - Assert.False(canConnect); + Assert.That(canConnect, Is.False); await connection.CloseAsync(); } @@ -108,7 +108,7 @@ public async Task Hangfire_User_Cannot_Connect_To_Crypter_Database() IEnumerable results = await connection.QueryAsync(query, parameters); bool canConnect = results.First(); - Assert.False(canConnect); + Assert.That(canConnect, Is.False); await connection.CloseAsync(); } diff --git a/Crypter.Test/Core_Tests/Services_Tests/EmailService_Tests.cs b/Crypter.Test/Core_Tests/Services_Tests/EmailService_Tests.cs index fc9e18c24..b7df33cbc 100644 --- a/Crypter.Test/Core_Tests/Services_Tests/EmailService_Tests.cs +++ b/Crypter.Test/Core_Tests/Services_Tests/EmailService_Tests.cs @@ -60,6 +60,6 @@ public async Task ServiceDisabled_SendAsync_ReturnsTrue() var sut = new EmailService(_defaultEmailSettings, _logger); var emailAddress = EmailAddress.From("jack@crypter.dev"); var result = await sut.SendAsync("foo", "bar", emailAddress); - Assert.IsTrue(result); + Assert.That(result, Is.True); } } diff --git a/Crypter.Test/Core_Tests/Services_Tests/HashIdService_Tests.cs b/Crypter.Test/Core_Tests/Services_Tests/HashIdService_Tests.cs index 1b9dc3e16..6cc16f285 100644 --- a/Crypter.Test/Core_Tests/Services_Tests/HashIdService_Tests.cs +++ b/Crypter.Test/Core_Tests/Services_Tests/HashIdService_Tests.cs @@ -57,6 +57,6 @@ public void HashIdService_Works() string hash = _sut.Encode(guid); Guid decodedHash = _sut.Decode(hash); - Assert.AreEqual(guid, decodedHash); + Assert.That(decodedHash, Is.EqualTo(guid)); } } diff --git a/Crypter.Test/Core_Tests/Services_Tests/PasswordHashService_Tests.cs b/Crypter.Test/Core_Tests/Services_Tests/PasswordHashService_Tests.cs index b009ca52b..2b0b515c9 100644 --- a/Crypter.Test/Core_Tests/Services_Tests/PasswordHashService_Tests.cs +++ b/Crypter.Test/Core_Tests/Services_Tests/PasswordHashService_Tests.cs @@ -64,7 +64,7 @@ public void SetupOnce() public void Service_Exists_In_Crypter_Core() { Type assembly = typeof(PasswordHashService); - Assert.AreEqual("Crypter.Core.Services.PasswordHashService", assembly.FullName); + Assert.That(assembly.FullName, Is.EqualTo("Crypter.Core.Services.PasswordHashService")); } [Test] @@ -72,7 +72,7 @@ public void Salt_Is_16_Bytes() { byte[] password = "foo"u8.ToArray(); SecurePasswordHashOutput hashOutput = _sut.MakeSecurePasswordHash(password, 0); - Assert.True(hashOutput.Salt.Length == 16); + Assert.That(hashOutput.Salt.Length, Is.EqualTo(16)); } [Test] @@ -80,7 +80,7 @@ public void Hash_Is_64_Bytes() { byte[] password = "foo"u8.ToArray(); SecurePasswordHashOutput hashOutput = _sut.MakeSecurePasswordHash(password, 0); - Assert.True(hashOutput.Hash.Length == 64); + Assert.That(hashOutput.Hash.Length, Is.EqualTo(64)); } [Test] @@ -89,7 +89,7 @@ public void Salts_Are_Unique() byte[] password = "foo"u8.ToArray(); SecurePasswordHashOutput hashOutput1 = _sut.MakeSecurePasswordHash(password, 0); SecurePasswordHashOutput hashOutput2 = _sut.MakeSecurePasswordHash(password, 0); - Assert.AreNotEqual(hashOutput1.Salt, hashOutput2.Salt); + Assert.That(hashOutput1.Salt, Is.Not.EqualTo(hashOutput2.Salt)); } [Test] @@ -98,7 +98,7 @@ public void Hashes_With_Unique_Salts_Are_Unique() byte[] password = "foo"u8.ToArray(); SecurePasswordHashOutput hashOutput1 = _sut.MakeSecurePasswordHash(password, 0); SecurePasswordHashOutput hashOutput2 = _sut.MakeSecurePasswordHash(password, 0); - Assert.AreNotEqual(hashOutput1.Hash, hashOutput2.Hash); + Assert.That(hashOutput1.Hash, Is.Not.EqualTo(hashOutput2.Hash)); } [Test] @@ -107,7 +107,7 @@ public void Hash_Verification_Can_Succeed() byte[] password = "foo"u8.ToArray(); SecurePasswordHashOutput hashOutput = _sut.MakeSecurePasswordHash(password, 0); bool hashesMatch = _sut.VerifySecurePasswordHash(password, hashOutput.Hash, hashOutput.Salt, 0); - Assert.True(hashesMatch); + Assert.That(hashesMatch, Is.True); } [Test] @@ -117,7 +117,7 @@ public void Hash_Verification_Fails_With_Bad_Password() byte[] notPassword = "not foo"u8.ToArray(); SecurePasswordHashOutput hashOutput = _sut.MakeSecurePasswordHash(password, 0); bool hashesMatch = _sut.VerifySecurePasswordHash(notPassword, hashOutput.Hash, hashOutput.Salt, 0); - Assert.False(hashesMatch); + Assert.That(hashesMatch, Is.False); } [Test] @@ -132,7 +132,7 @@ public void Hash_Verification_Fails_With_Bad_Salt() : hashOutput.Salt[0] = 0x01; bool hashesMatch = _sut.VerifySecurePasswordHash(password, hashOutput.Hash, hashOutput.Salt, 0); - Assert.False(hashesMatch); + Assert.That(hashesMatch, Is.False); } [Test] @@ -142,7 +142,7 @@ public void Hash_Verification_Fails_With_Different_Iterations() SecurePasswordHashOutput hashOutput = _sut.MakeSecurePasswordHash(password, 0); bool hashesMatch = _sut.VerifySecurePasswordHash(password, hashOutput.Hash, hashOutput.Salt, 1); - Assert.False(hashesMatch); + Assert.That(hashesMatch, Is.False); } [Test] @@ -168,6 +168,6 @@ public void Hash_Verification_Is_Stable() }; bool hashesMatch = _sut.VerifySecurePasswordHash(password, hash, salt, 2); - Assert.True(hashesMatch); + Assert.That(hashesMatch, Is.False); } } diff --git a/Crypter.Test/Core_Tests/Services_Tests/TokenService_Tests.cs b/Crypter.Test/Core_Tests/Services_Tests/TokenService_Tests.cs index 88d89b876..aba0eb5c1 100644 --- a/Crypter.Test/Core_Tests/Services_Tests/TokenService_Tests.cs +++ b/Crypter.Test/Core_Tests/Services_Tests/TokenService_Tests.cs @@ -25,8 +25,10 @@ */ using System; +using System.Security.Claims; using Crypter.Core.Identity; using Crypter.Core.Services; +using EasyMonads; using Microsoft.Extensions.Options; using NUnit.Framework; @@ -56,48 +58,48 @@ public void OneTimeSetup() [Test] public void Can_Create_And_Validate_Authentication_Token() { - var userId = Guid.NewGuid(); + Guid userId = Guid.NewGuid(); - var sut = new TokenService(_tokenSettings); - var token = sut.NewAuthenticationToken(userId); + TokenService sut = new TokenService(_tokenSettings); + string token = sut.NewAuthenticationToken(userId); - Assert.IsNotNull(token); - Assert.IsNotEmpty(token); + Assert.That(token, Is.Not.Null); + Assert.That(token, Is.Not.Empty); - var maybeClaimsPrincipal = sut.ValidateToken(token); + Maybe maybeClaimsPrincipal = sut.ValidateToken(token); maybeClaimsPrincipal.IfNone(Assert.Fail); maybeClaimsPrincipal.IfSome(x => { - Assert.IsNotNull(x); - var parsedUserId = TokenService.ParseUserId(x); - Assert.AreEqual(userId, parsedUserId); + Assert.That(x, Is.Not.Null); + Guid parsedUserId = TokenService.ParseUserId(x); + Assert.That(userId, Is.EqualTo(parsedUserId)); }); } [Test] public void Can_Create_And_Validate_Session_Token() { - var userId = Guid.NewGuid(); + Guid userId = Guid.NewGuid(); - var sut = new TokenService(_tokenSettings); - var tokenCreatedUTC = DateTime.UtcNow; - var expectedTokenExpiration = tokenCreatedUTC.AddMinutes(_tokenSettings.Value.SessionTokenLifetimeMinutes); - var tokenData = sut.NewSessionToken(userId); + TokenService sut = new TokenService(_tokenSettings); + DateTime tokenCreatedUtc = DateTime.UtcNow; + DateTime expectedTokenExpiration = tokenCreatedUtc.AddMinutes(_tokenSettings.Value.SessionTokenLifetimeMinutes); + RefreshTokenData tokenData = sut.NewSessionToken(userId); - Assert.IsNotNull(tokenData); - Assert.IsNotEmpty(tokenData.Token); - Assert.AreEqual(expectedTokenExpiration.Ticks, tokenData.Expiration.Ticks, TimeSpan.TicksPerSecond); + Assert.That(tokenData, Is.Not.Null); + Assert.That(tokenData.Token, Is.Not.Empty); + Assert.That(tokenData.Expiration.Ticks, Is.EqualTo(expectedTokenExpiration.Ticks).Within(TimeSpan.TicksPerSecond)); - var maybeClaimsPrincipal = sut.ValidateToken(tokenData.Token); + Maybe maybeClaimsPrincipal = sut.ValidateToken(tokenData.Token); maybeClaimsPrincipal.IfNone(Assert.Fail); maybeClaimsPrincipal.IfSome(claimsPrincipal => { - Assert.IsNotNull(claimsPrincipal); + Assert.That(claimsPrincipal, Is.Not.Null); - var parsedUserId = TokenService.ParseUserId(claimsPrincipal); - Assert.AreEqual(userId, parsedUserId); + Guid parsedUserId = TokenService.ParseUserId(claimsPrincipal); + Assert.That(parsedUserId, Is.EqualTo(userId)); - var maybeTokenId = TokenService.TryParseTokenId(claimsPrincipal); + Maybe maybeTokenId = TokenService.TryParseTokenId(claimsPrincipal); maybeTokenId.IfNone(Assert.Fail); }); } @@ -105,27 +107,27 @@ public void Can_Create_And_Validate_Session_Token() [Test] public void Can_Create_And_Validate_Device_Token() { - var userId = Guid.NewGuid(); + Guid userId = Guid.NewGuid(); - var sut = new TokenService(_tokenSettings); - var tokenCreatedUTC = DateTime.UtcNow; - var expectedTokenExpiration = tokenCreatedUTC.AddDays(_tokenSettings.Value.DeviceTokenLifetimeDays); - var tokenData = sut.NewDeviceToken(userId); + TokenService sut = new TokenService(_tokenSettings); + DateTime tokenCreatedUtc = DateTime.UtcNow; + DateTime expectedTokenExpiration = tokenCreatedUtc.AddDays(_tokenSettings.Value.DeviceTokenLifetimeDays); + RefreshTokenData tokenData = sut.NewDeviceToken(userId); - Assert.IsNotNull(tokenData); - Assert.IsNotEmpty(tokenData.Token); - Assert.AreEqual(expectedTokenExpiration.Ticks, tokenData.Expiration.Ticks, TimeSpan.TicksPerSecond); + Assert.That(tokenData, Is.Not.Null); + Assert.That(tokenData.Token, Is.Not.Empty); + Assert.That(tokenData.Expiration.Ticks, Is.EqualTo(expectedTokenExpiration.Ticks).Within(TimeSpan.TicksPerSecond)); - var maybeClaimsPrincipal = sut.ValidateToken(tokenData.Token); + Maybe maybeClaimsPrincipal = sut.ValidateToken(tokenData.Token); maybeClaimsPrincipal.IfNone(Assert.Fail); maybeClaimsPrincipal.IfSome(claimsPrincipal => { - Assert.IsNotNull(claimsPrincipal); + Assert.That(claimsPrincipal, Is.Not.Null); - var parsedUserId = TokenService.ParseUserId(claimsPrincipal); - Assert.AreEqual(userId, parsedUserId); + Guid parsedUserId = TokenService.ParseUserId(claimsPrincipal); + Assert.That(parsedUserId, Is.EqualTo(userId)); - var maybeTokenId = TokenService.TryParseTokenId(claimsPrincipal); + Maybe maybeTokenId = TokenService.TryParseTokenId(claimsPrincipal); maybeTokenId.IfNone(Assert.Fail); }); } diff --git a/Crypter.Test/Core_Tests/Services_Tests/TransferRepository_Tests.cs b/Crypter.Test/Core_Tests/Services_Tests/TransferRepository_Tests.cs index 6946217bd..0d09893b6 100644 --- a/Crypter.Test/Core_Tests/Services_Tests/TransferRepository_Tests.cs +++ b/Crypter.Test/Core_Tests/Services_Tests/TransferRepository_Tests.cs @@ -72,18 +72,18 @@ public async Task Files_Can_Be_Saved_And_Read_Async(TransferUserType userType) Guid itemGuid = Guid.NewGuid(); MemoryStream memoryStream = new MemoryStream(buffer); bool saveSuccess = await _sut.SaveTransferAsync(itemGuid, TransferItemType.File, userType, memoryStream); - Assert.IsTrue(saveSuccess); - memoryStream.Dispose(); + Assert.That(saveSuccess, Is.True); + await memoryStream.DisposeAsync(); Maybe fileStream = _sut.GetTransfer(itemGuid, TransferItemType.File, userType, true); - Assert.IsTrue(fileStream.IsSome); - fileStream.IfSome(async x => + Assert.That(fileStream.IsSome, Is.True); + await fileStream.IfSomeAsync(async x => { byte[] readBuffer = new byte[4]; int bytesRead = await x.ReadAsync(readBuffer); - Assert.AreEqual(4, bytesRead); - Assert.AreEqual(buffer, readBuffer); - x.Dispose(); + Assert.That(bytesRead, Is.EqualTo(4)); + Assert.That(readBuffer, Is.EqualTo(buffer)); + await x.DisposeAsync(); }); } } diff --git a/Crypter.Test/Core_Tests/Services_Tests/UserEmailVerificationService_Tests.cs b/Crypter.Test/Core_Tests/Services_Tests/UserEmailVerificationService_Tests.cs index d51e72107..539da5634 100644 --- a/Crypter.Test/Core_Tests/Services_Tests/UserEmailVerificationService_Tests.cs +++ b/Crypter.Test/Core_Tests/Services_Tests/UserEmailVerificationService_Tests.cs @@ -27,11 +27,13 @@ using System; using System.Threading.Tasks; using Crypter.Common.Primitives; +using Crypter.Core.Models; using Crypter.Core.Services; using Crypter.Crypto.Common; using Crypter.Crypto.Providers.Default; using Crypter.DataAccess; using Crypter.DataAccess.Entities; +using EasyMonads; using Microsoft.AspNetCore.Mvc.Testing; using Microsoft.Extensions.DependencyInjection; using NUnit.Framework; @@ -73,8 +75,8 @@ public async Task TeardownTestAsync() [Test] public async Task Verification_Parameters_Not_Created_If_User_Does_Not_Exist() { - var result = await _sut.GenerateVerificationParametersAsync(Guid.NewGuid()); - Assert.IsTrue(result.IsNone); + Maybe result = await _sut.GenerateVerificationParametersAsync(Guid.NewGuid()); + Assert.That(result.IsNone, Is.True); } [Test] @@ -85,8 +87,8 @@ public async Task Verification_Parameters_Not_Created_If_User_Email_Already_Veri _dataContext.Users.Add(newUser); await _dataContext.SaveChangesAsync(); - var result = await _sut.GenerateVerificationParametersAsync(newUser.Id); - Assert.IsTrue(result.IsNone); + Maybe result = await _sut.GenerateVerificationParametersAsync(newUser.Id); + Assert.That(result.IsNone, Is.True); } [Test] @@ -100,8 +102,8 @@ public async Task Verification_Parameters_Not_Created_If_User_Verification_Alrea _dataContext.Users.Add(newUser); await _dataContext.SaveChangesAsync(); - var result = await _sut.GenerateVerificationParametersAsync(newUser.Id); - Assert.IsTrue(result.IsNone); + Maybe result = await _sut.GenerateVerificationParametersAsync(newUser.Id); + Assert.That(result.IsNone, Is.True); } [TestCase(null)] @@ -114,8 +116,8 @@ public async Task Verification_Parameters_Not_Created_If_User_Email_Address_Is_I _dataContext.Users.Add(newUser); await _dataContext.SaveChangesAsync(); - var result = await _sut.GenerateVerificationParametersAsync(newUser.Id); - Assert.IsTrue(result.IsNone); + Maybe result = await _sut.GenerateVerificationParametersAsync(newUser.Id); + Assert.That(result.IsNone, Is.True); } [Test] @@ -126,17 +128,17 @@ public async Task Verification_Parameters_Created_If_All_Criteria_Are_Satisfied( _dataContext.Users.Add(newUser); await _dataContext.SaveChangesAsync(); - var result = await _sut.GenerateVerificationParametersAsync(newUser.Id); - Assert.IsTrue(result.IsSome); + Maybe result = await _sut.GenerateVerificationParametersAsync(newUser.Id); + Assert.That(result.IsSome, Is.True); result.IfSome(x => { - Assert.AreEqual(newUser.Id, x.UserId); - Assert.AreEqual(newUser.EmailAddress, x.EmailAddress.Value); + Assert.That(x.UserId, Is.EqualTo(newUser.Id)); + Assert.That(x.EmailAddress.Value, Is.EqualTo(newUser.EmailAddress)); Span verificationCode = x.VerificationCode.ToByteArray(); bool verificationCodeVerified = _cryptoProvider.DigitalSignature.VerifySignature(x.VerificationKey, verificationCode, x.Signature); - Assert.IsTrue(verificationCodeVerified); + Assert.That(verificationCodeVerified, Is.True); }); } } diff --git a/Crypter.Test/Crypter.Test.csproj b/Crypter.Test/Crypter.Test.csproj index f1bced8e6..463ae11ae 100644 --- a/Crypter.Test/Crypter.Test.csproj +++ b/Crypter.Test/Crypter.Test.csproj @@ -1,21 +1,22 @@  - net7.0 + net8.0 true false + 12 - - - + + + - + - + - + diff --git a/Crypter.Test/Integration_Tests/FileTransfer_Tests/DownloadFileTransfer_Tests.cs b/Crypter.Test/Integration_Tests/FileTransfer_Tests/DownloadFileTransfer_Tests.cs index a62e064c4..f9289e77c 100644 --- a/Crypter.Test/Integration_Tests/FileTransfer_Tests/DownloadFileTransfer_Tests.cs +++ b/Crypter.Test/Integration_Tests/FileTransfer_Tests/DownloadFileTransfer_Tests.cs @@ -28,6 +28,7 @@ using System.Threading.Tasks; using Crypter.Common.Client.Interfaces.HttpClients; using Crypter.Common.Client.Interfaces.Repositories; +using Crypter.Common.Contracts; using Crypter.Common.Contracts.Features.Transfer; using Crypter.Common.Contracts.Features.UserAuthentication; using Crypter.Common.Enums; @@ -68,7 +69,7 @@ public async Task Download_Anonymous_File_Transfer_Works() UploadFileTransferRequest uploadRequest = new UploadFileTransferRequest(TestData.DefaultTransferFileName, TestData.DefaultTransferFileContentType, TestData.DefaultPublicKey, TestData.DefaultKeyExchangeNonce, keyExchangeProof, TestData.DefaultTransferLifetimeHours); - var uploadResult = + Either uploadResult = await _client.FileTransfer.UploadFileTransferAsync(Maybe.None, uploadRequest, encryptionStreamOpener, false); @@ -76,10 +77,10 @@ await _client.FileTransfer.UploadFileTransferAsync(Maybe.None, uploadReq .Map(x => x.HashId) .RightOrDefault(null); - var result = await _client.FileTransfer.GetAnonymousFileCiphertextAsync(uploadId, keyExchangeProof); + Either result = await _client.FileTransfer.GetAnonymousFileCiphertextAsync(uploadId, keyExchangeProof); - Assert.True(uploadResult.IsRight); - Assert.True(result.IsRight); + Assert.That(uploadResult.IsRight, Is.True); + Assert.That(result.IsRight, Is.True); result.DoRight(x => { Assert.DoesNotThrow(() => x.Stream.ReadByte()); }); } @@ -98,16 +99,16 @@ public async Task Download_User_File_Transfer_Works(bool senderDefined, bool rec : Maybe.None; const string recipientPassword = "dropping_eaves"; - Assert.True((senderDefined == false && senderUsername.IsNone) - || (senderDefined && senderUsername.IsSome)); + Assert.That((senderDefined == false && senderUsername.IsNone) + || (senderDefined && senderUsername.IsSome), Is.True); await senderUsername.IfSomeAsync(async username => { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(username, senderPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); - LoginRequest loginRequest = TestData.GetLoginRequest(username, senderPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + LoginRequest loginRequest = TestData.GetLoginRequest(username, senderPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -115,17 +116,17 @@ await loginResult.DoRightAsync(async loginResponse => await _clientTokenRepository.StoreRefreshTokenAsync(loginResponse.RefreshToken, TokenType.Session); }); - Assert.True(registrationResult.IsRight); - Assert.True(loginResult.IsRight); + Assert.That(registrationResult.IsRight, Is.True); + Assert.That(loginResult.IsRight, Is.True); }); - Assert.True((recipientDefined == false && recipientUsername.IsNone) - || (recipientDefined && recipientUsername.IsSome)); + Assert.That((recipientDefined == false && recipientUsername.IsNone) + || (recipientDefined && recipientUsername.IsSome), Is.True); await recipientUsername.IfSomeAsync(async username => { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(username, recipientPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either _ = await _client.UserAuthentication.RegisterAsync(registrationRequest); }); (Func encryptionStreamOpener, byte[] keyExchangeProof) = @@ -133,13 +134,13 @@ await recipientUsername.IfSomeAsync(async username => UploadFileTransferRequest uploadRequest = new UploadFileTransferRequest(TestData.DefaultTransferFileName, TestData.DefaultTransferFileContentType, TestData.DefaultPublicKey, TestData.DefaultKeyExchangeNonce, keyExchangeProof, TestData.DefaultTransferLifetimeHours); - var uploadResult = await _client.FileTransfer.UploadFileTransferAsync(recipientUsername, uploadRequest, + Either uploadResult = await _client.FileTransfer.UploadFileTransferAsync(recipientUsername, uploadRequest, encryptionStreamOpener, senderDefined); await recipientUsername.IfSomeAsync(async username => { - LoginRequest loginRequest = TestData.GetLoginRequest(username, recipientPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + LoginRequest loginRequest = TestData.GetLoginRequest(username, recipientPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -154,11 +155,11 @@ await loginResult.DoRightAsync(async loginResponse => .Map(x => x.HashId) .RightOrDefault(null); - var result = + Either result = await _client.FileTransfer.GetUserFileCiphertextAsync(uploadId, keyExchangeProof, recipientDefined); - Assert.True(uploadResult.IsRight); - Assert.True(result.IsRight); + Assert.That(uploadResult.IsRight, Is.True); + Assert.That(result.IsRight, Is.True); result.DoRight(x => { Assert.DoesNotThrow(() => x.Stream.ReadByte()); }); } } diff --git a/Crypter.Test/Integration_Tests/FileTransfer_Tests/GetReceivedFileTransfers_Tests.cs b/Crypter.Test/Integration_Tests/FileTransfer_Tests/GetReceivedFileTransfers_Tests.cs index 9e9b8be07..eb60e5dc4 100644 --- a/Crypter.Test/Integration_Tests/FileTransfer_Tests/GetReceivedFileTransfers_Tests.cs +++ b/Crypter.Test/Integration_Tests/FileTransfer_Tests/GetReceivedFileTransfers_Tests.cs @@ -34,6 +34,7 @@ using Crypter.Common.Contracts.Features.UserAuthentication; using Crypter.Common.Enums; using Crypter.Crypto.Common.StreamEncryption; +using EasyMonads; using Microsoft.AspNetCore.Mvc.Testing; using NUnit.Framework; @@ -66,11 +67,11 @@ public async Task Get_Received_File_Transfer_Works() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either _ = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = - TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -79,20 +80,20 @@ await loginResult.DoRightAsync(async loginResponse => }); InsertKeyPairRequest insertKeyPairRequest = TestData.GetInsertKeyPairRequest(); - var insertKeyPairResponse = await _client.UserKey.InsertKeyPairAsync(insertKeyPairRequest); + Either __ = await _client.UserKey.InsertKeyPairAsync(insertKeyPairRequest); (Func encryptionStreamOpener, byte[] keyExchangeProof) = TestData.GetDefaultEncryptionStream(); UploadFileTransferRequest uploadFileTransferRequest = new UploadFileTransferRequest( TestData.DefaultTransferFileName, TestData.DefaultTransferFileContentType, TestData.DefaultPublicKey, TestData.DefaultKeyExchangeNonce, keyExchangeProof, TestData.DefaultTransferLifetimeHours); - var uploadFileTransferResponse = await _client.FileTransfer.UploadFileTransferAsync(TestData.DefaultUsername, + Either ___ = await _client.FileTransfer.UploadFileTransferAsync(TestData.DefaultUsername, uploadFileTransferRequest, encryptionStreamOpener, false); - var response = await _client.FileTransfer.GetReceivedFilesAsync(); + Maybe> response = await _client.FileTransfer.GetReceivedFilesAsync(); List result = response.SomeOrDefault(null); - Assert.True(response.IsSome); - Assert.AreEqual(1, result.Count); + Assert.That(response.IsSome, Is.True); + Assert.That(result.Count, Is.EqualTo(1)); } } diff --git a/Crypter.Test/Integration_Tests/FileTransfer_Tests/GetSentFileTransfers_Tests.cs b/Crypter.Test/Integration_Tests/FileTransfer_Tests/GetSentFileTransfers_Tests.cs index 052ed42e3..f56a623d7 100644 --- a/Crypter.Test/Integration_Tests/FileTransfer_Tests/GetSentFileTransfers_Tests.cs +++ b/Crypter.Test/Integration_Tests/FileTransfer_Tests/GetSentFileTransfers_Tests.cs @@ -66,11 +66,11 @@ public async Task Get_Sent_File_Transfers_Works() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either _ = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = - TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -83,13 +83,13 @@ await loginResult.DoRightAsync(async loginResponse => UploadFileTransferRequest uploadFileRequest = new UploadFileTransferRequest(TestData.DefaultTransferFileName, TestData.DefaultTransferFileContentType, TestData.DefaultPublicKey, TestData.DefaultKeyExchangeNonce, keyExchangeProof, TestData.DefaultTransferLifetimeHours); - var uploadFileResponse = await _client.FileTransfer.UploadFileTransferAsync(Maybe.None, + Either __ = await _client.FileTransfer.UploadFileTransferAsync(Maybe.None, uploadFileRequest, encryptionStreamOpener, true); - var response = await _client.FileTransfer.GetSentFilesAsync(); + Maybe> response = await _client.FileTransfer.GetSentFilesAsync(); List result = response.SomeOrDefault(null); - Assert.True(response.IsSome); - Assert.AreEqual(1, result.Count); + Assert.That(response.IsSome, Is.True); + Assert.That(result.Count, Is.EqualTo(1)); } } diff --git a/Crypter.Test/Integration_Tests/FileTransfer_Tests/PreviewFileTransfer_Tests.cs b/Crypter.Test/Integration_Tests/FileTransfer_Tests/PreviewFileTransfer_Tests.cs index 2b7ea7ef6..3768d6c44 100644 --- a/Crypter.Test/Integration_Tests/FileTransfer_Tests/PreviewFileTransfer_Tests.cs +++ b/Crypter.Test/Integration_Tests/FileTransfer_Tests/PreviewFileTransfer_Tests.cs @@ -68,7 +68,7 @@ public async Task Preview_Anonymous_File_Transfer_Works() UploadFileTransferRequest uploadRequest = new UploadFileTransferRequest(TestData.DefaultTransferFileName, TestData.DefaultTransferFileContentType, TestData.DefaultPublicKey, TestData.DefaultKeyExchangeNonce, keyExchangeProof, TestData.DefaultTransferLifetimeHours); - var uploadResult = + Either uploadResult = await _client.FileTransfer.UploadFileTransferAsync(Maybe.None, uploadRequest, encryptionStreamOpener, false); @@ -76,10 +76,10 @@ await _client.FileTransfer.UploadFileTransferAsync(Maybe.None, uploadReq .Map(x => x.HashId) .RightOrDefault(null); - var result = await _client.FileTransfer.GetAnonymousFilePreviewAsync(uploadId); + Either result = await _client.FileTransfer.GetAnonymousFilePreviewAsync(uploadId); - Assert.True(uploadResult.IsRight); - Assert.True(result.IsRight); + Assert.That(uploadResult.IsRight, Is.True); + Assert.That(result.IsRight, Is.True); } [TestCase(true, false)] @@ -97,16 +97,16 @@ public async Task Preview_User_File_Transfer_Works(bool senderDefined, bool reci : Maybe.None; const string recipientPassword = "dropping_eaves"; - Assert.True((senderDefined == false && senderUsername.IsNone) - || (senderDefined && senderUsername.IsSome)); + Assert.That((senderDefined == false && senderUsername.IsNone) + || (senderDefined && senderUsername.IsSome), Is.True); await senderUsername.IfSomeAsync(async username => { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(username, senderPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); - LoginRequest loginRequest = TestData.GetLoginRequest(username, senderPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + LoginRequest loginRequest = TestData.GetLoginRequest(username, senderPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -114,17 +114,17 @@ await loginResult.DoRightAsync(async loginResponse => await _clientTokenRepository.StoreRefreshTokenAsync(loginResponse.RefreshToken, TokenType.Session); }); - Assert.True(registrationResult.IsRight); - Assert.True(loginResult.IsRight); + Assert.That(registrationResult.IsRight, Is.True); + Assert.That(loginResult.IsRight, Is.True); }); - Assert.True((recipientDefined == false && recipientUsername.IsNone) - || (recipientDefined && recipientUsername.IsSome)); + Assert.That((recipientDefined == false && recipientUsername.IsNone) + || (recipientDefined && recipientUsername.IsSome), Is.True); await recipientUsername.IfSomeAsync(async username => { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(username, recipientPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either _ = await _client.UserAuthentication.RegisterAsync(registrationRequest); }); (Func encryptionStreamOpener, byte[] keyExchangeProof) = @@ -132,13 +132,13 @@ await recipientUsername.IfSomeAsync(async username => UploadFileTransferRequest uploadRequest = new UploadFileTransferRequest(TestData.DefaultTransferFileName, TestData.DefaultTransferFileContentType, TestData.DefaultPublicKey, TestData.DefaultKeyExchangeNonce, keyExchangeProof, TestData.DefaultTransferLifetimeHours); - var uploadResult = await _client.FileTransfer.UploadFileTransferAsync(recipientUsername, uploadRequest, + Either uploadResult = await _client.FileTransfer.UploadFileTransferAsync(recipientUsername, uploadRequest, encryptionStreamOpener, senderDefined); await recipientUsername.IfSomeAsync(async username => { - LoginRequest loginRequest = TestData.GetLoginRequest(username, recipientPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + LoginRequest loginRequest = TestData.GetLoginRequest(username, recipientPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -151,9 +151,9 @@ await loginResult.DoRightAsync(async loginResponse => .Map(x => x.HashId) .RightOrDefault(null); - var result = await _client.FileTransfer.GetUserFilePreviewAsync(uploadId, recipientDefined); + Either result = await _client.FileTransfer.GetUserFilePreviewAsync(uploadId, recipientDefined); - Assert.True(uploadResult.IsRight); - Assert.True(result.IsRight); + Assert.That(uploadResult.IsRight, Is.True); + Assert.That(result.IsRight, Is.True); } } diff --git a/Crypter.Test/Integration_Tests/FileTransfer_Tests/UploadFileTransfer_Tests.cs b/Crypter.Test/Integration_Tests/FileTransfer_Tests/UploadFileTransfer_Tests.cs index b621e7e78..1be0cc71f 100644 --- a/Crypter.Test/Integration_Tests/FileTransfer_Tests/UploadFileTransfer_Tests.cs +++ b/Crypter.Test/Integration_Tests/FileTransfer_Tests/UploadFileTransfer_Tests.cs @@ -68,11 +68,11 @@ public async Task Upload_Anonymous_File_Transfer_Works() UploadFileTransferRequest request = new UploadFileTransferRequest(TestData.DefaultTransferFileName, TestData.DefaultTransferFileContentType, TestData.DefaultPublicKey, TestData.DefaultKeyExchangeNonce, keyExchangeProof, TestData.DefaultTransferLifetimeHours); - var result = + Either result = await _client.FileTransfer.UploadFileTransferAsync(Maybe.None, request, encryptionStreamOpener, false); - Assert.True(result.IsRight); + Assert.That(result.IsRight, Is.True); } [TestCase(true, false)] @@ -90,16 +90,16 @@ public async Task Upload_User_File_Transfer_Works(bool senderDefined, bool recip : Maybe.None; const string recipientPassword = "dropping_eaves"; - Assert.True((senderDefined == false && senderUsername.IsNone) - || (senderDefined && senderUsername.IsSome)); + Assert.That((senderDefined == false && senderUsername.IsNone) + || (senderDefined && senderUsername.IsSome), Is.True); await senderUsername.IfSomeAsync(async username => { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(username, senderPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); - LoginRequest loginRequest = TestData.GetLoginRequest(username, senderPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + LoginRequest loginRequest = TestData.GetLoginRequest(username, senderPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -107,17 +107,17 @@ await loginResult.DoRightAsync(async loginResponse => await _clientTokenRepository.StoreRefreshTokenAsync(loginResponse.RefreshToken, TokenType.Session); }); - Assert.True(registrationResult.IsRight); - Assert.True(loginResult.IsRight); + Assert.That(registrationResult.IsRight, Is.True); + Assert.That(loginResult.IsRight, Is.True); }); - Assert.True((recipientDefined == false && recipientUsername.IsNone) - || (recipientDefined && recipientUsername.IsSome)); + Assert.That((recipientDefined == false && recipientUsername.IsNone) + || (recipientDefined && recipientUsername.IsSome), Is.True); await recipientUsername.IfSomeAsync(async username => { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(username, recipientPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either _ = await _client.UserAuthentication.RegisterAsync(registrationRequest); }); (Func encryptionStreamOpener, byte[] keyExchangeProof) = @@ -125,11 +125,11 @@ await recipientUsername.IfSomeAsync(async username => UploadFileTransferRequest request = new UploadFileTransferRequest(TestData.DefaultTransferFileName, TestData.DefaultTransferFileContentType, TestData.DefaultPublicKey, TestData.DefaultKeyExchangeNonce, keyExchangeProof, TestData.DefaultTransferLifetimeHours); - var result = + Either result = await _client.FileTransfer.UploadFileTransferAsync(recipientUsername, request, encryptionStreamOpener, senderDefined); - Assert.True(result.IsRight); + Assert.That(result.IsRight, Is.True); } [Test] @@ -140,10 +140,10 @@ public async Task Upload_User_File_Transfer_Fails_When_Recipient_Does_Not_Exist( UploadFileTransferRequest request = new UploadFileTransferRequest(TestData.DefaultTransferFileName, TestData.DefaultTransferFileContentType, TestData.DefaultPublicKey, TestData.DefaultKeyExchangeNonce, keyExchangeProof, TestData.DefaultTransferLifetimeHours); - var result = + Either result = await _client.FileTransfer.UploadFileTransferAsync("John Smith", request, encryptionStreamOpener, false); - Assert.True(result.IsLeft); + Assert.That(result.IsLeft, Is.True); } [Test] @@ -167,10 +167,10 @@ public async Task Upload_User_File_Transfer_Works_After_Refresh_Occurs() const string senderPassword = TestData.DefaultPassword; RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(senderUsername, senderPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); - LoginRequest loginRequest = TestData.GetLoginRequest(senderUsername, senderPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + LoginRequest loginRequest = TestData.GetLoginRequest(senderUsername, senderPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -178,18 +178,18 @@ await loginResult.DoRightAsync(async loginResponse => await _clientTokenRepository.StoreRefreshTokenAsync(loginResponse.RefreshToken, TokenType.Session); }); - Assert.True(registrationResult.IsRight); - Assert.True(loginResult.IsRight); + Assert.That(registrationResult.IsRight, Is.True); + Assert.That(loginResult.IsRight, Is.True); (Func encryptionStreamOpener, byte[] keyExchangeProof) = TestData.GetDefaultEncryptionStream(); UploadFileTransferRequest request = new UploadFileTransferRequest(TestData.DefaultTransferFileName, TestData.DefaultTransferFileContentType, TestData.DefaultPublicKey, TestData.DefaultKeyExchangeNonce, keyExchangeProof, TestData.DefaultTransferLifetimeHours); - var result = + Either result = await _client.FileTransfer.UploadFileTransferAsync(Maybe.None, request, encryptionStreamOpener, true); - Assert.True(result.IsRight); + Assert.That(result.IsRight, Is.True); } } diff --git a/Crypter.Test/Integration_Tests/MessageTransfer_Tests/DownloadMessageTransfer_Tests.cs b/Crypter.Test/Integration_Tests/MessageTransfer_Tests/DownloadMessageTransfer_Tests.cs index bb2c77c96..aba4fa725 100644 --- a/Crypter.Test/Integration_Tests/MessageTransfer_Tests/DownloadMessageTransfer_Tests.cs +++ b/Crypter.Test/Integration_Tests/MessageTransfer_Tests/DownloadMessageTransfer_Tests.cs @@ -28,6 +28,7 @@ using System.Threading.Tasks; using Crypter.Common.Client.Interfaces.HttpClients; using Crypter.Common.Client.Interfaces.Repositories; +using Crypter.Common.Contracts; using Crypter.Common.Contracts.Features.Transfer; using Crypter.Common.Contracts.Features.UserAuthentication; using Crypter.Common.Enums; @@ -68,7 +69,7 @@ public async Task Download_Anonymous_Message_Transfer_Works() UploadMessageTransferRequest request = new UploadMessageTransferRequest(TestData.DefaultTransferMessageSubject, TestData.DefaultPublicKey, TestData.DefaultKeyExchangeNonce, keyExchangeProof, TestData.DefaultTransferLifetimeHours); - var uploadResult = + Either uploadResult = await _client.MessageTransfer.UploadMessageTransferAsync(Maybe.None, request, encryptionStreamOpener, false); @@ -76,10 +77,11 @@ await _client.MessageTransfer.UploadMessageTransferAsync(Maybe.None, req .Map(x => x.HashId) .RightOrDefault(null); - var result = await _client.MessageTransfer.GetAnonymousMessageCiphertextAsync(uploadId, keyExchangeProof); + Either result = + await _client.MessageTransfer.GetAnonymousMessageCiphertextAsync(uploadId, keyExchangeProof); - Assert.True(uploadResult.IsRight); - Assert.True(result.IsRight); + Assert.That(uploadResult.IsRight, Is.True); + Assert.That(result.IsRight, Is.True); result.DoRight(x => { Assert.DoesNotThrow(() => x.Stream.ReadByte()); }); } @@ -98,16 +100,16 @@ public async Task Download_User_Message_Transfer_Works(bool senderDefined, bool : Maybe.None; const string recipientPassword = "dropping_eaves"; - Assert.True((senderDefined == false && senderUsername.IsNone) - || (senderDefined && senderUsername.IsSome)); + Assert.That((senderDefined == false && senderUsername.IsNone) + || (senderDefined && senderUsername.IsSome), Is.True); await senderUsername.IfSomeAsync(async username => { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(username, senderPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); - LoginRequest loginRequest = TestData.GetLoginRequest(username, senderPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + LoginRequest loginRequest = TestData.GetLoginRequest(username, senderPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -115,17 +117,17 @@ await loginResult.DoRightAsync(async loginResponse => await _clientTokenRepository.StoreRefreshTokenAsync(loginResponse.RefreshToken, TokenType.Session); }); - Assert.True(registrationResult.IsRight); - Assert.True(loginResult.IsRight); + Assert.That(registrationResult.IsRight, Is.True); + Assert.That(loginResult.IsRight, Is.True); }); - Assert.True((recipientDefined == false && recipientUsername.IsNone) - || (recipientDefined && recipientUsername.IsSome)); + Assert.That((recipientDefined == false && recipientUsername.IsNone) + || (recipientDefined && recipientUsername.IsSome), Is.True); await recipientUsername.IfSomeAsync(async username => { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(username, recipientPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either _ = await _client.UserAuthentication.RegisterAsync(registrationRequest); }); (Func encryptionStreamOpener, byte[] keyExchangeProof) = @@ -133,13 +135,13 @@ await recipientUsername.IfSomeAsync(async username => UploadMessageTransferRequest uploadRequest = new UploadMessageTransferRequest( TestData.DefaultTransferMessageSubject, TestData.DefaultPublicKey, TestData.DefaultKeyExchangeNonce, keyExchangeProof, TestData.DefaultTransferLifetimeHours); - var uploadResult = await _client.MessageTransfer.UploadMessageTransferAsync(recipientUsername, uploadRequest, + Either uploadResult = await _client.MessageTransfer.UploadMessageTransferAsync(recipientUsername, uploadRequest, encryptionStreamOpener, senderDefined); await recipientUsername.IfSomeAsync(async username => { - LoginRequest loginRequest = TestData.GetLoginRequest(username, recipientPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + LoginRequest loginRequest = TestData.GetLoginRequest(username, recipientPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -152,11 +154,11 @@ await loginResult.DoRightAsync(async loginResponse => .Map(x => x.HashId) .RightOrDefault(null); - var result = + Either result = await _client.MessageTransfer.GetUserMessageCiphertextAsync(uploadId, keyExchangeProof, recipientDefined); - Assert.True(uploadResult.IsRight); - Assert.True(result.IsRight); + Assert.That(uploadResult.IsRight, Is.True); + Assert.That(result.IsRight, Is.True); result.DoRight(x => { Assert.DoesNotThrow(() => x.Stream.ReadByte()); }); } } diff --git a/Crypter.Test/Integration_Tests/MessageTransfer_Tests/GetReceivedMessageTransfers_Tests.cs b/Crypter.Test/Integration_Tests/MessageTransfer_Tests/GetReceivedMessageTransfers_Tests.cs index 4a34f5d9e..d640f8d76 100644 --- a/Crypter.Test/Integration_Tests/MessageTransfer_Tests/GetReceivedMessageTransfers_Tests.cs +++ b/Crypter.Test/Integration_Tests/MessageTransfer_Tests/GetReceivedMessageTransfers_Tests.cs @@ -34,6 +34,7 @@ using Crypter.Common.Contracts.Features.UserAuthentication; using Crypter.Common.Enums; using Crypter.Crypto.Common.StreamEncryption; +using EasyMonads; using Microsoft.AspNetCore.Mvc.Testing; using NUnit.Framework; @@ -66,11 +67,11 @@ public async Task Get_Received_File_Transfer_Works() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either _ = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = - TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -79,20 +80,20 @@ await loginResult.DoRightAsync(async loginResponse => }); InsertKeyPairRequest insertKeyPairRequest = TestData.GetInsertKeyPairRequest(); - var insertKeyPairResponse = await _client.UserKey.InsertKeyPairAsync(insertKeyPairRequest); + Either __ = await _client.UserKey.InsertKeyPairAsync(insertKeyPairRequest); (Func encryptionStreamOpener, byte[] keyExchangeProof) = TestData.GetDefaultEncryptionStream(); UploadMessageTransferRequest uploadMessageRequest = new UploadMessageTransferRequest( TestData.DefaultTransferMessageSubject, TestData.DefaultPublicKey, TestData.DefaultKeyExchangeNonce, keyExchangeProof, TestData.DefaultTransferLifetimeHours); - var uploadMessageResponse = await _client.MessageTransfer.UploadMessageTransferAsync(TestData.DefaultUsername, + Either ___ = await _client.MessageTransfer.UploadMessageTransferAsync(TestData.DefaultUsername, uploadMessageRequest, encryptionStreamOpener, true); - var response = await _client.MessageTransfer.GetReceivedMessagesAsync(); + Maybe> response = await _client.MessageTransfer.GetReceivedMessagesAsync(); List result = response.SomeOrDefault(null); - Assert.True(response.IsSome); - Assert.AreEqual(1, result.Count); + Assert.That(response.IsSome, Is.True); + Assert.That(result.Count, Is.EqualTo(1)); } } diff --git a/Crypter.Test/Integration_Tests/MessageTransfer_Tests/GetSentMessageTransfers_Tests.cs b/Crypter.Test/Integration_Tests/MessageTransfer_Tests/GetSentMessageTransfers_Tests.cs index 2bd33b00c..285fa6a27 100644 --- a/Crypter.Test/Integration_Tests/MessageTransfer_Tests/GetSentMessageTransfers_Tests.cs +++ b/Crypter.Test/Integration_Tests/MessageTransfer_Tests/GetSentMessageTransfers_Tests.cs @@ -66,11 +66,11 @@ public async Task Get_Sent_Message_Transfers_Works() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either _ = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = - TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -83,13 +83,13 @@ await loginResult.DoRightAsync(async loginResponse => UploadMessageTransferRequest uploadMessageRequest = new UploadMessageTransferRequest( TestData.DefaultTransferMessageSubject, TestData.DefaultPublicKey, TestData.DefaultKeyExchangeNonce, keyExchangeProof, TestData.DefaultTransferLifetimeHours); - var uploadMessageResponse = await _client.MessageTransfer.UploadMessageTransferAsync(Maybe.None, + Either __ = await _client.MessageTransfer.UploadMessageTransferAsync(Maybe.None, uploadMessageRequest, encryptionStreamOpener, true); - var response = await _client.MessageTransfer.GetSentMessagesAsync(); + Maybe> response = await _client.MessageTransfer.GetSentMessagesAsync(); List result = response.SomeOrDefault(null); - Assert.True(response.IsSome); - Assert.AreEqual(1, result.Count); + Assert.That(response.IsSome, Is.True); + Assert.That(result.Count, Is.EqualTo(1)); } } diff --git a/Crypter.Test/Integration_Tests/MessageTransfer_Tests/PreviewMessageTransfer_Tests.cs b/Crypter.Test/Integration_Tests/MessageTransfer_Tests/PreviewMessageTransfer_Tests.cs index a83d17344..b4851fa78 100644 --- a/Crypter.Test/Integration_Tests/MessageTransfer_Tests/PreviewMessageTransfer_Tests.cs +++ b/Crypter.Test/Integration_Tests/MessageTransfer_Tests/PreviewMessageTransfer_Tests.cs @@ -68,7 +68,7 @@ public async Task Preview_Anonymous_Message_Transfer_Works() UploadMessageTransferRequest request = new UploadMessageTransferRequest(TestData.DefaultTransferMessageSubject, TestData.DefaultPublicKey, TestData.DefaultKeyExchangeNonce, keyExchangeProof, TestData.DefaultTransferLifetimeHours); - var uploadResult = + Either uploadResult = await _client.MessageTransfer.UploadMessageTransferAsync(Maybe.None, request, encryptionStreamOpener, false); @@ -76,10 +76,10 @@ await _client.MessageTransfer.UploadMessageTransferAsync(Maybe.None, req .Map(x => x.HashId) .RightOrDefault(null); - var result = await _client.MessageTransfer.GetAnonymousMessagePreviewAsync(uploadId); + Either result = await _client.MessageTransfer.GetAnonymousMessagePreviewAsync(uploadId); - Assert.True(uploadResult.IsRight); - Assert.True(result.IsRight); + Assert.That(uploadResult.IsRight, Is.True); + Assert.That(result.IsRight, Is.True); } [TestCase(true, false)] @@ -97,16 +97,16 @@ public async Task Preview_User_Message_Transfer_Works(bool senderDefined, bool r : Maybe.None; const string recipientPassword = "dropping_eaves"; - Assert.True((senderDefined == false && senderUsername.IsNone) - || (senderDefined && senderUsername.IsSome)); + Assert.That((senderDefined == false && senderUsername.IsNone) + || (senderDefined && senderUsername.IsSome), Is.True); await senderUsername.IfSomeAsync(async username => { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(username, senderPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); - LoginRequest loginRequest = TestData.GetLoginRequest(username, senderPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + LoginRequest loginRequest = TestData.GetLoginRequest(username, senderPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -114,17 +114,17 @@ await loginResult.DoRightAsync(async loginResponse => await _clientTokenRepository.StoreRefreshTokenAsync(loginResponse.RefreshToken, TokenType.Session); }); - Assert.True(registrationResult.IsRight); - Assert.True(loginResult.IsRight); + Assert.That(registrationResult.IsRight, Is.True); + Assert.That(loginResult.IsRight, Is.True); }); - Assert.True((recipientDefined == false && recipientUsername.IsNone) - || (recipientDefined && recipientUsername.IsSome)); + Assert.That((recipientDefined == false && recipientUsername.IsNone) + || (recipientDefined && recipientUsername.IsSome), Is.True); await recipientUsername.IfSomeAsync(async username => { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(username, recipientPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either _ = await _client.UserAuthentication.RegisterAsync(registrationRequest); }); (Func encryptionStreamOpener, byte[] keyExchangeProof) = @@ -132,13 +132,13 @@ await recipientUsername.IfSomeAsync(async username => UploadMessageTransferRequest uploadRequest = new UploadMessageTransferRequest( TestData.DefaultTransferMessageSubject, TestData.DefaultPublicKey, TestData.DefaultKeyExchangeNonce, keyExchangeProof, TestData.DefaultTransferLifetimeHours); - var uploadResult = await _client.MessageTransfer.UploadMessageTransferAsync(recipientUsername, uploadRequest, + Either uploadResult = await _client.MessageTransfer.UploadMessageTransferAsync(recipientUsername, uploadRequest, encryptionStreamOpener, senderDefined); await recipientUsername.IfSomeAsync(async username => { - LoginRequest loginRequest = TestData.GetLoginRequest(username, recipientPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + LoginRequest loginRequest = TestData.GetLoginRequest(username, recipientPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -151,9 +151,9 @@ await loginResult.DoRightAsync(async loginResponse => .Map(x => x.HashId) .RightOrDefault(null); - var result = await _client.MessageTransfer.GetUserMessagePreviewAsync(uploadId, recipientDefined); + Either result = await _client.MessageTransfer.GetUserMessagePreviewAsync(uploadId, recipientDefined); - Assert.True(uploadResult.IsRight); - Assert.True(result.IsRight); + Assert.That(uploadResult.IsRight, Is.True); + Assert.That(result.IsRight, Is.True); } } diff --git a/Crypter.Test/Integration_Tests/MessageTransfer_Tests/UploadMessageTransfer_Tests.cs b/Crypter.Test/Integration_Tests/MessageTransfer_Tests/UploadMessageTransfer_Tests.cs index 29e728c87..7afceeeab 100644 --- a/Crypter.Test/Integration_Tests/MessageTransfer_Tests/UploadMessageTransfer_Tests.cs +++ b/Crypter.Test/Integration_Tests/MessageTransfer_Tests/UploadMessageTransfer_Tests.cs @@ -68,11 +68,11 @@ public async Task Upload_Anonymous_Message_Transfer_Works() UploadMessageTransferRequest request = new UploadMessageTransferRequest(TestData.DefaultTransferMessageSubject, TestData.DefaultPublicKey, TestData.DefaultKeyExchangeNonce, keyExchangeProof, TestData.DefaultTransferLifetimeHours); - var result = + Either result = await _client.MessageTransfer.UploadMessageTransferAsync(Maybe.None, request, encryptionStreamOpener, false); - Assert.True(result.IsRight); + Assert.That(result.IsRight, Is.True); } [TestCase(true, false)] @@ -90,16 +90,16 @@ public async Task Upload_User_Message_Transfer_Works(bool senderDefined, bool re : Maybe.None; const string recipientPassword = "dropping_eaves"; - Assert.True((senderDefined == false && senderUsername.IsNone) - || (senderDefined && senderUsername.IsSome)); + Assert.That((senderDefined == false && senderUsername.IsNone) + || (senderDefined && senderUsername.IsSome), Is.True); await senderUsername.IfSomeAsync(async username => { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(username, senderPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); - LoginRequest loginRequest = TestData.GetLoginRequest(username, senderPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + LoginRequest loginRequest = TestData.GetLoginRequest(username, senderPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -107,17 +107,17 @@ await loginResult.DoRightAsync(async loginResponse => await _clientTokenRepository.StoreRefreshTokenAsync(loginResponse.RefreshToken, TokenType.Session); }); - Assert.True(registrationResult.IsRight); - Assert.True(loginResult.IsRight); + Assert.That(registrationResult.IsRight, Is.True); + Assert.That(loginResult.IsRight, Is.True); }); - Assert.True((recipientDefined == false && recipientUsername.IsNone) - || (recipientDefined && recipientUsername.IsSome)); + Assert.That((recipientDefined == false && recipientUsername.IsNone) + || (recipientDefined && recipientUsername.IsSome), Is.True); await recipientUsername.IfSomeAsync(async username => { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(username, recipientPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either _ = await _client.UserAuthentication.RegisterAsync(registrationRequest); }); (Func encryptionStreamOpener, byte[] keyExchangeProof) = @@ -125,10 +125,10 @@ await recipientUsername.IfSomeAsync(async username => UploadMessageTransferRequest request = new UploadMessageTransferRequest(TestData.DefaultTransferMessageSubject, TestData.DefaultPublicKey, TestData.DefaultKeyExchangeNonce, keyExchangeProof, TestData.DefaultTransferLifetimeHours); - var result = await _client.MessageTransfer.UploadMessageTransferAsync(recipientUsername, request, + Either result = await _client.MessageTransfer.UploadMessageTransferAsync(recipientUsername, request, encryptionStreamOpener, senderDefined); - Assert.True(result.IsRight); + Assert.That(result.IsRight, Is.True); } [Test] @@ -139,11 +139,11 @@ public async Task Upload_User_Message_Transfer_Fails_When_Recipient_Does_Not_Exi UploadMessageTransferRequest request = new UploadMessageTransferRequest(TestData.DefaultTransferMessageSubject, TestData.DefaultPublicKey, TestData.DefaultKeyExchangeNonce, keyExchangeProof, TestData.DefaultTransferLifetimeHours); - var result = + Either result = await _client.MessageTransfer.UploadMessageTransferAsync("John Smith", request, encryptionStreamOpener, false); - Assert.True(result.IsLeft); + Assert.That(result.IsLeft, Is.True); } [Test] @@ -167,10 +167,10 @@ public async Task Upload_User_Message_Transfer_Works_After_Refresh_Occurs() const string senderPassword = TestData.DefaultPassword; RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(senderUsername, senderPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); - LoginRequest loginRequest = TestData.GetLoginRequest(senderUsername, senderPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + LoginRequest loginRequest = TestData.GetLoginRequest(senderUsername, senderPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -178,18 +178,18 @@ await loginResult.DoRightAsync(async loginResponse => await _clientTokenRepository.StoreRefreshTokenAsync(loginResponse.RefreshToken, TokenType.Session); }); - Assert.True(registrationResult.IsRight); - Assert.True(loginResult.IsRight); + Assert.That(registrationResult.IsRight, Is.True); + Assert.That(loginResult.IsRight, Is.True); (Func encryptionStreamOpener, byte[] keyExchangeProof) = TestData.GetDefaultEncryptionStream(); UploadMessageTransferRequest request = new UploadMessageTransferRequest(TestData.DefaultTransferMessageSubject, TestData.DefaultPublicKey, TestData.DefaultKeyExchangeNonce, keyExchangeProof, TestData.DefaultTransferLifetimeHours); - var result = + Either result = await _client.MessageTransfer.UploadMessageTransferAsync(Maybe.None, request, encryptionStreamOpener, true); - Assert.True(result.IsRight); + Assert.That(result.IsRight, Is.True); } } diff --git a/Crypter.Test/Integration_Tests/Metrics_Tests/PublicStorage_Tests.cs b/Crypter.Test/Integration_Tests/Metrics_Tests/PublicStorage_Tests.cs index 349883103..215d1c41e 100644 --- a/Crypter.Test/Integration_Tests/Metrics_Tests/PublicStorage_Tests.cs +++ b/Crypter.Test/Integration_Tests/Metrics_Tests/PublicStorage_Tests.cs @@ -58,6 +58,6 @@ public async Task TeardownTestAsync() public async Task Get_Public_Storage_Metrics_Works() { Maybe result = await _client.Metrics.GetPublicStorageMetricsAsync(); - Assert.True(result.IsSome); + Assert.That(result.IsSome, Is.True); } } diff --git a/Crypter.Test/Integration_Tests/UserAuthentication_Tests/Login_Tests.cs b/Crypter.Test/Integration_Tests/UserAuthentication_Tests/Login_Tests.cs index bc69b726a..84b33e75e 100644 --- a/Crypter.Test/Integration_Tests/UserAuthentication_Tests/Login_Tests.cs +++ b/Crypter.Test/Integration_Tests/UserAuthentication_Tests/Login_Tests.cs @@ -24,11 +24,11 @@ * Contact the current copyright holder to discuss commercial license options. */ -using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Crypter.Common.Client.Interfaces.HttpClients; using Crypter.Common.Contracts.Features.UserAuthentication; +using EasyMonads; using Microsoft.AspNetCore.Mvc.Testing; using NUnit.Framework; @@ -60,22 +60,22 @@ public async Task Login_Works() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var result = await _client.UserAuthentication.LoginAsync(loginRequest); + Either result = await _client.UserAuthentication.LoginAsync(loginRequest); - Assert.True(registrationResult.IsRight); - Assert.True(result.IsRight); + Assert.That(registrationResult.IsRight, Is.True); + Assert.That(result.IsRight, Is.True); } [Test] public async Task Login_Fails_Invalid_Username() { LoginRequest request = TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var result = await _client.UserAuthentication.LoginAsync(request); + Either result = await _client.UserAuthentication.LoginAsync(request); - Assert.True(result.IsLeft); + Assert.That(result.IsLeft, Is.True); } [Test] @@ -83,15 +83,15 @@ public async Task Login_Fails_Invalid_Password() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); VersionedPassword invalidPassword = new VersionedPassword("invalid"u8.ToArray(), 1); - loginRequest.VersionedPasswords = new List { invalidPassword }; - var result = await _client.UserAuthentication.LoginAsync(loginRequest); + loginRequest.VersionedPasswords = [invalidPassword]; + Either result = await _client.UserAuthentication.LoginAsync(loginRequest); - Assert.True(registrationResult.IsRight); - Assert.True(result.IsLeft); + Assert.That(registrationResult.IsRight, Is.True); + Assert.That(result.IsLeft, Is.True); } [Test] @@ -99,16 +99,16 @@ public async Task Login_Fails_Invalid_Password_Version() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); VersionedPassword correctPassword = loginRequest.VersionedPasswords.First(); VersionedPassword invalidPassword = new VersionedPassword(correctPassword.Password, (short)(correctPassword.Version - 1)); - loginRequest.VersionedPasswords = new List { invalidPassword }; - var result = await _client.UserAuthentication.LoginAsync(loginRequest); + loginRequest.VersionedPasswords = [invalidPassword]; + Either result = await _client.UserAuthentication.LoginAsync(loginRequest); - Assert.True(registrationResult.IsRight); - Assert.True(result.IsLeft); + Assert.That(registrationResult.IsRight, Is.True); + Assert.That(result.IsLeft, Is.True); } } diff --git a/Crypter.Test/Integration_Tests/UserAuthentication_Tests/Logout_Tests.cs b/Crypter.Test/Integration_Tests/UserAuthentication_Tests/Logout_Tests.cs index 3f56d8f52..e1719aa23 100644 --- a/Crypter.Test/Integration_Tests/UserAuthentication_Tests/Logout_Tests.cs +++ b/Crypter.Test/Integration_Tests/UserAuthentication_Tests/Logout_Tests.cs @@ -30,6 +30,7 @@ using Crypter.Common.Contracts.Features.UserAuthentication; using Crypter.Common.Enums; using Crypter.DataAccess; +using EasyMonads; using Microsoft.AspNetCore.Mvc.Testing; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; @@ -65,11 +66,11 @@ public async Task Logout_Works(TokenType refreshTokenType) { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, refreshTokenType); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -81,14 +82,14 @@ await loginResult.DoRightAsync(async loginResponse => DataContext dataContext = scope.ServiceProvider.GetRequiredService(); bool databaseHasTokenBeforeLogout = await dataContext.UserTokens.AnyAsync(); - var result = await _client.UserAuthentication.LogoutAsync(); + Either result = await _client.UserAuthentication.LogoutAsync(); - bool databaseHasTokenAfterlogout = await dataContext.UserTokens.AnyAsync(); + bool databaseHasTokenAfterLogout = await dataContext.UserTokens.AnyAsync(); - Assert.True(registrationResult.IsRight); - Assert.True(loginResult.IsRight); - Assert.True(databaseHasTokenBeforeLogout); - Assert.True(result.IsRight); - Assert.False(databaseHasTokenAfterlogout); + Assert.That(registrationResult.IsRight, Is.True); + Assert.That(loginResult.IsRight, Is.True); + Assert.That(databaseHasTokenBeforeLogout, Is.True); + Assert.That(result.IsRight, Is.True); + Assert.That(databaseHasTokenAfterLogout, Is.False); } } diff --git a/Crypter.Test/Integration_Tests/UserAuthentication_Tests/PasswordChallenge_Tests.cs b/Crypter.Test/Integration_Tests/UserAuthentication_Tests/PasswordChallenge_Tests.cs index 4ac31b522..b1c616b6b 100644 --- a/Crypter.Test/Integration_Tests/UserAuthentication_Tests/PasswordChallenge_Tests.cs +++ b/Crypter.Test/Integration_Tests/UserAuthentication_Tests/PasswordChallenge_Tests.cs @@ -32,6 +32,7 @@ using Crypter.Common.Client.Interfaces.Repositories; using Crypter.Common.Contracts.Features.UserAuthentication; using Crypter.Common.Enums; +using EasyMonads; using Microsoft.AspNetCore.Mvc.Testing; using NUnit.Framework; @@ -64,11 +65,11 @@ public async Task Password_Challenge_Works() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = - TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -77,11 +78,11 @@ await loginResult.DoRightAsync(async loginResponse => }); PasswordChallengeRequest request = new PasswordChallengeRequest(registrationRequest.VersionedPassword.Password); - var result = await _client.UserAuthentication.PasswordChallengeAsync(request); + Either result = await _client.UserAuthentication.PasswordChallengeAsync(request); - Assert.True(registrationResult.IsRight); - Assert.True(loginResult.IsRight); - Assert.True(result.IsRight); + Assert.That(registrationResult.IsRight, Is.True); + Assert.That(loginResult.IsRight, Is.True); + Assert.That(result.IsRight, Is.True); } [Test] @@ -89,19 +90,17 @@ public async Task Password_Challenge_Fails_Not_Authenticated() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); PasswordChallengeRequest request = new PasswordChallengeRequest(registrationRequest.VersionedPassword.Password); using HttpRequestMessage requestMessage = - new HttpRequestMessage(HttpMethod.Post, "api/user/authentication/password/challenge") - { - Content = JsonContent.Create(request) - }; + new HttpRequestMessage(HttpMethod.Post, "api/user/authentication/password/challenge"); + requestMessage.Content = JsonContent.Create(request); using HttpClient rawClient = _factory.CreateClient(); HttpResponseMessage response = await rawClient.SendAsync(requestMessage); - Assert.True(registrationResult.IsRight); - Assert.AreEqual(response.StatusCode, HttpStatusCode.Unauthorized); + Assert.That(registrationResult.IsRight, Is.True); + Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.Unauthorized)); } [Test] @@ -109,11 +108,11 @@ public async Task Password_Challenge_Fails_Wrong_Password() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = - TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -128,11 +127,11 @@ await loginResult.DoRightAsync(async loginResponse => : 0x01); PasswordChallengeRequest request = new PasswordChallengeRequest(wrongPassword); - var result = await _client.UserAuthentication.PasswordChallengeAsync(request); + Either result = await _client.UserAuthentication.PasswordChallengeAsync(request); - Assert.True(registrationResult.IsRight); - Assert.True(loginResult.IsRight); - Assert.AreNotEqual(registrationRequest.VersionedPassword.Password, wrongPassword); - Assert.True(result.IsLeft); + Assert.That(registrationResult.IsRight, Is.True); + Assert.That(loginResult.IsRight, Is.True); + Assert.That(registrationRequest.VersionedPassword.Password, Is.Not.EqualTo(wrongPassword)); + Assert.That(result.IsLeft, Is.True); } } diff --git a/Crypter.Test/Integration_Tests/UserAuthentication_Tests/Refresh_Tests.cs b/Crypter.Test/Integration_Tests/UserAuthentication_Tests/Refresh_Tests.cs index c918ee3a2..b09553a5f 100644 --- a/Crypter.Test/Integration_Tests/UserAuthentication_Tests/Refresh_Tests.cs +++ b/Crypter.Test/Integration_Tests/UserAuthentication_Tests/Refresh_Tests.cs @@ -32,6 +32,7 @@ using Crypter.Core.Identity; using Crypter.DataAccess; using Crypter.DataAccess.Entities; +using EasyMonads; using Microsoft.AspNetCore.Mvc.Testing; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; @@ -68,11 +69,11 @@ public async Task Refresh_Works(TokenType refreshTokenType) { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, refreshTokenType); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -80,11 +81,11 @@ await loginResult.DoRightAsync(async loginResponse => await _clientTokenRepository.StoreRefreshTokenAsync(loginResponse.RefreshToken, refreshTokenType); }); - var result = await _client.UserAuthentication.RefreshSessionAsync(); + Either result = await _client.UserAuthentication.RefreshSessionAsync(); - Assert.True(registrationResult.IsRight); - Assert.True(loginResult.IsRight); - Assert.True(result.IsRight); + Assert.That(registrationResult.IsRight, Is.True); + Assert.That(loginResult.IsRight, Is.True); + Assert.That(result.IsRight, Is.True); } [Test] @@ -95,11 +96,11 @@ public async Task Refresh_Fails_Expired_Token() RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = - TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -108,11 +109,11 @@ await loginResult.DoRightAsync(async loginResponse => }); await Task.Delay(apiTokenSettings.SessionTokenLifetimeMinutes * 60000); - var result = await _client.UserAuthentication.RefreshSessionAsync(); + Either result = await _client.UserAuthentication.RefreshSessionAsync(); - Assert.True(registrationResult.IsRight); - Assert.True(loginResult.IsRight); - Assert.True(result.IsLeft); + Assert.That(registrationResult.IsRight, Is.True); + Assert.That(loginResult.IsRight, Is.True); + Assert.That(result.IsLeft, Is.True); } [Test] @@ -120,11 +121,11 @@ public async Task Refresh_Fails_Deleted_Token() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = - TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -139,10 +140,10 @@ await loginResult.DoRightAsync(async loginResponse => dataContext.UserTokens.Remove(refreshTokenEntity); await dataContext.SaveChangesAsync(); - var result = await _client.UserAuthentication.RefreshSessionAsync(); + Either result = await _client.UserAuthentication.RefreshSessionAsync(); - Assert.True(registrationResult.IsRight); - Assert.True(loginResult.IsRight); - Assert.True(result.IsLeft); + Assert.That(registrationResult.IsRight, Is.True); + Assert.That(loginResult.IsRight, Is.True); + Assert.That(result.IsLeft, Is.True); } } diff --git a/Crypter.Test/Integration_Tests/UserAuthentication_Tests/Registration_Tests.cs b/Crypter.Test/Integration_Tests/UserAuthentication_Tests/Registration_Tests.cs index d9f221cb3..12b34a2ce 100644 --- a/Crypter.Test/Integration_Tests/UserAuthentication_Tests/Registration_Tests.cs +++ b/Crypter.Test/Integration_Tests/UserAuthentication_Tests/Registration_Tests.cs @@ -27,6 +27,7 @@ using System.Threading.Tasks; using Crypter.Common.Client.Interfaces.HttpClients; using Crypter.Common.Contracts.Features.UserAuthentication; +using EasyMonads; using Microsoft.AspNetCore.Mvc.Testing; using NUnit.Framework; @@ -59,9 +60,9 @@ public async Task Register_User_Works(string emailAddress) { RegistrationRequest request = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword, emailAddress); - var result = await _client.UserAuthentication.RegisterAsync(request); + Either result = await _client.UserAuthentication.RegisterAsync(request); - Assert.True(result.IsRight); + Assert.That(result.IsRight, Is.True); } [TestCase("FOO", "foo")] @@ -70,14 +71,14 @@ public async Task Register_User_Fails_For_Duplicate_Username(string initialUsern { VersionedPassword password = new VersionedPassword("password"u8.ToArray(), 1); - RegistrationRequest initialRequest = new RegistrationRequest(initialUsername, password, null); - var initialResult = await _client.UserAuthentication.RegisterAsync(initialRequest); + RegistrationRequest initialRequest = new RegistrationRequest(initialUsername, password); + Either initialResult = await _client.UserAuthentication.RegisterAsync(initialRequest); - RegistrationRequest secondRequest = new RegistrationRequest(duplicateUsername, password, null); - var secondResult = await _client.UserAuthentication.RegisterAsync(secondRequest); + RegistrationRequest secondRequest = new RegistrationRequest(duplicateUsername, password); + Either secondResult = await _client.UserAuthentication.RegisterAsync(secondRequest); - Assert.True(initialResult.IsRight); - Assert.True(secondResult.IsLeft); + Assert.That(initialResult.IsRight, Is.True); + Assert.That(secondResult.IsLeft, Is.True); } [TestCase("FOO@foo.com", "foo@foo.com")] @@ -88,12 +89,12 @@ public async Task Register_User_Fails_For_Duplicate_Email_Address(string initial VersionedPassword password = new VersionedPassword("password"u8.ToArray(), 1); RegistrationRequest initialRequest = new RegistrationRequest("first", password, initialEmailAddress); - var initialResult = await _client.UserAuthentication.RegisterAsync(initialRequest); + Either initialResult = await _client.UserAuthentication.RegisterAsync(initialRequest); RegistrationRequest secondRequest = new RegistrationRequest("second", password, duplicateEmailAddress); - var secondResult = await _client.UserAuthentication.RegisterAsync(secondRequest); + Either secondResult = await _client.UserAuthentication.RegisterAsync(secondRequest); - Assert.True(initialResult.IsRight); - Assert.True(secondResult.IsLeft); + Assert.That(initialResult.IsRight, Is.True); + Assert.That(secondResult.IsLeft, Is.True); } } diff --git a/Crypter.Test/Integration_Tests/UserConsent_Tests/RecoveryKeyRisksConsent_Tests.cs b/Crypter.Test/Integration_Tests/UserConsent_Tests/RecoveryKeyRisksConsent_Tests.cs index 76a44031e..5113cd6a0 100644 --- a/Crypter.Test/Integration_Tests/UserConsent_Tests/RecoveryKeyRisksConsent_Tests.cs +++ b/Crypter.Test/Integration_Tests/UserConsent_Tests/RecoveryKeyRisksConsent_Tests.cs @@ -62,10 +62,10 @@ public async Task Consent_To_Recovery_Key_Risks_Works_Async() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -75,8 +75,8 @@ await loginResult.DoRightAsync(async loginResponse => Maybe result = await _client.UserConsent.ConsentToRecoveryKeyRisksAsync(); - Assert.True(registrationResult.IsRight); - Assert.True(loginResult.IsRight); - Assert.True(result.IsSome); + Assert.That(registrationResult.IsRight, Is.True); + Assert.That(loginResult.IsRight, Is.True); + Assert.That(result.IsSome, Is.True); } } diff --git a/Crypter.Test/Integration_Tests/UserContact_Tests/AddUserContact_Tests.cs b/Crypter.Test/Integration_Tests/UserContact_Tests/AddUserContact_Tests.cs index 755c2ade4..ba80f389c 100644 --- a/Crypter.Test/Integration_Tests/UserContact_Tests/AddUserContact_Tests.cs +++ b/Crypter.Test/Integration_Tests/UserContact_Tests/AddUserContact_Tests.cs @@ -27,8 +27,11 @@ using System.Threading.Tasks; using Crypter.Common.Client.Interfaces.HttpClients; using Crypter.Common.Client.Interfaces.Repositories; +using Crypter.Common.Contracts.Features.Contacts; +using Crypter.Common.Contracts.Features.Contacts.RequestErrorCodes; using Crypter.Common.Contracts.Features.UserAuthentication; using Crypter.Common.Enums; +using EasyMonads; using Microsoft.AspNetCore.Mvc.Testing; using NUnit.Framework; @@ -64,14 +67,14 @@ public async Task Add_User_Contact_Works_Async() RegistrationRequest contactRegistrationRequest = TestData.GetRegistrationRequest(contactUsername, contactPassword); - var contactRegistrationResult = await _client.UserAuthentication.RegisterAsync(contactRegistrationRequest); + Either contactRegistrationResult = await _client.UserAuthentication.RegisterAsync(contactRegistrationRequest); RegistrationRequest userRegistrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var userRegistrationResult = await _client.UserAuthentication.RegisterAsync(userRegistrationRequest); + Either userRegistrationResult = await _client.UserAuthentication.RegisterAsync(userRegistrationRequest); LoginRequest userLoginRequest = TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var userLoginResult = await _client.UserAuthentication.LoginAsync(userLoginRequest); + Either userLoginResult = await _client.UserAuthentication.LoginAsync(userLoginRequest); await userLoginResult.DoRightAsync(async loginResponse => { @@ -79,12 +82,12 @@ await userLoginResult.DoRightAsync(async loginResponse => await _clientTokenRepository.StoreRefreshTokenAsync(loginResponse.RefreshToken, TokenType.Session); }); - var result = await _client.UserContact.AddUserContactAsync(contactUsername); + Either result = await _client.UserContact.AddUserContactAsync(contactUsername); - Assert.True(contactRegistrationResult.IsRight); - Assert.True(userRegistrationResult.IsRight); - Assert.True(userLoginResult.IsRight); - Assert.True(result.IsRight); + Assert.That(contactRegistrationResult.IsRight, Is.True); + Assert.That(userRegistrationResult.IsRight, Is.True); + Assert.That(userLoginResult.IsRight, Is.True); + Assert.That(result.IsRight, Is.True); } [TestCase] @@ -92,10 +95,10 @@ public async Task Add_User_Contact_Fails_For_Same_User_Async() { RegistrationRequest userRegistrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var userRegistrationResult = await _client.UserAuthentication.RegisterAsync(userRegistrationRequest); + Either userRegistrationResult = await _client.UserAuthentication.RegisterAsync(userRegistrationRequest); LoginRequest userLoginRequest = TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var userLoginResult = await _client.UserAuthentication.LoginAsync(userLoginRequest); + Either userLoginResult = await _client.UserAuthentication.LoginAsync(userLoginRequest); await userLoginResult.DoRightAsync(async loginResponse => { @@ -103,11 +106,11 @@ await userLoginResult.DoRightAsync(async loginResponse => await _clientTokenRepository.StoreRefreshTokenAsync(loginResponse.RefreshToken, TokenType.Session); }); - var result = await _client.UserContact.AddUserContactAsync(TestData.DefaultUsername); + Either result = await _client.UserContact.AddUserContactAsync(TestData.DefaultUsername); - Assert.True(userRegistrationResult.IsRight); - Assert.True(userLoginResult.IsRight); - Assert.True(result.IsLeft); + Assert.That(userRegistrationResult.IsRight, Is.True); + Assert.That(userLoginResult.IsRight, Is.True); + Assert.That(result.IsLeft, Is.True); } [TestCase] @@ -115,10 +118,10 @@ public async Task Add_User_Contact_Fails_For_User_Not_Found_Async() { RegistrationRequest userRegistrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var userRegistrationResult = await _client.UserAuthentication.RegisterAsync(userRegistrationRequest); + Either userRegistrationResult = await _client.UserAuthentication.RegisterAsync(userRegistrationRequest); LoginRequest userLoginRequest = TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var userLoginResult = await _client.UserAuthentication.LoginAsync(userLoginRequest); + Either userLoginResult = await _client.UserAuthentication.LoginAsync(userLoginRequest); await userLoginResult.DoRightAsync(async loginResponse => { @@ -126,10 +129,10 @@ await userLoginResult.DoRightAsync(async loginResponse => await _clientTokenRepository.StoreRefreshTokenAsync(loginResponse.RefreshToken, TokenType.Session); }); - var result = await _client.UserContact.AddUserContactAsync("Tom_Bombadil"); + Either result = await _client.UserContact.AddUserContactAsync("Tom_Bombadil"); - Assert.True(userRegistrationResult.IsRight); - Assert.True(userLoginResult.IsRight); - Assert.True(result.IsLeft); + Assert.That(userRegistrationResult.IsRight, Is.True); + Assert.That(userLoginResult.IsRight, Is.True); + Assert.That(result.IsLeft, Is.True); } } diff --git a/Crypter.Test/Integration_Tests/UserContact_Tests/GetUserContact_Tests.cs b/Crypter.Test/Integration_Tests/UserContact_Tests/GetUserContact_Tests.cs index e52708dde..d4f3e4ebd 100644 --- a/Crypter.Test/Integration_Tests/UserContact_Tests/GetUserContact_Tests.cs +++ b/Crypter.Test/Integration_Tests/UserContact_Tests/GetUserContact_Tests.cs @@ -24,11 +24,15 @@ * Contact the current copyright holder to discuss commercial license options. */ +using System.Collections.Generic; using System.Threading.Tasks; using Crypter.Common.Client.Interfaces.HttpClients; using Crypter.Common.Client.Interfaces.Repositories; +using Crypter.Common.Contracts.Features.Contacts; +using Crypter.Common.Contracts.Features.Contacts.RequestErrorCodes; using Crypter.Common.Contracts.Features.UserAuthentication; using Crypter.Common.Enums; +using EasyMonads; using Microsoft.AspNetCore.Mvc.Testing; using NUnit.Framework; @@ -64,10 +68,10 @@ public async Task Get_User_Contacts_Works_Async() RegistrationRequest userRegistrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var userRegistrationResult = await _client.UserAuthentication.RegisterAsync(userRegistrationRequest); + Either userRegistrationResult = await _client.UserAuthentication.RegisterAsync(userRegistrationRequest); LoginRequest userLoginRequest = TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var userLoginResult = await _client.UserAuthentication.LoginAsync(userLoginRequest); + Either userLoginResult = await _client.UserAuthentication.LoginAsync(userLoginRequest); await userLoginResult.DoRightAsync(async loginResponse => { @@ -75,27 +79,27 @@ await userLoginResult.DoRightAsync(async loginResponse => await _clientTokenRepository.StoreRefreshTokenAsync(loginResponse.RefreshToken, TokenType.Session); }); - var initialContactsResult = await _client.UserContact.GetUserContactsAsync(); + Maybe> initialContactsResult = await _client.UserContact.GetUserContactsAsync(); RegistrationRequest contactRegistrationRequest = TestData.GetRegistrationRequest(contactUsername, contactPassword); - var contactRegistrationResult = await _client.UserAuthentication.RegisterAsync(contactRegistrationRequest); + Either contactRegistrationResult = await _client.UserAuthentication.RegisterAsync(contactRegistrationRequest); - var addContactResult = await _client.UserContact.AddUserContactAsync(contactUsername); - var finalContactsResult = await _client.UserContact.GetUserContactsAsync(); + Either addContactResult = await _client.UserContact.AddUserContactAsync(contactUsername); + Maybe> finalContactsResult = await _client.UserContact.GetUserContactsAsync(); - Assert.True(userRegistrationResult.IsRight); - Assert.True(userLoginResult.IsRight); - Assert.True(initialContactsResult.IsSome); - initialContactsResult.IfSome(x => Assert.AreEqual(0, x.Count)); + Assert.That(userRegistrationResult.IsRight, Is.True); + Assert.That(userLoginResult.IsRight, Is.True); + Assert.That(initialContactsResult.IsSome, Is.True); + initialContactsResult.IfSome(x => Assert.That(x, Is.Empty)); - Assert.True(contactRegistrationResult.IsRight); - Assert.True(addContactResult.IsRight); - Assert.True(finalContactsResult.IsSome); + Assert.That(contactRegistrationResult.IsRight, Is.True); + Assert.That(addContactResult.IsRight, Is.True); + Assert.That(finalContactsResult.IsSome, Is.True); finalContactsResult.IfSome(x => { - Assert.AreEqual(1, x.Count); - Assert.AreEqual(contactUsername, x[0].Username); + Assert.That(x.Count, Is.EqualTo(1)); + Assert.That(x[0].Username, Is.EqualTo(contactUsername)); }); } } diff --git a/Crypter.Test/Integration_Tests/UserContact_Tests/RemoveUserContact_Tests.cs b/Crypter.Test/Integration_Tests/UserContact_Tests/RemoveUserContact_Tests.cs index 52f432cb4..57ed96f77 100644 --- a/Crypter.Test/Integration_Tests/UserContact_Tests/RemoveUserContact_Tests.cs +++ b/Crypter.Test/Integration_Tests/UserContact_Tests/RemoveUserContact_Tests.cs @@ -24,11 +24,15 @@ * Contact the current copyright holder to discuss commercial license options. */ +using System.Collections.Generic; using System.Threading.Tasks; using Crypter.Common.Client.Interfaces.HttpClients; using Crypter.Common.Client.Interfaces.Repositories; +using Crypter.Common.Contracts.Features.Contacts; +using Crypter.Common.Contracts.Features.Contacts.RequestErrorCodes; using Crypter.Common.Contracts.Features.UserAuthentication; using Crypter.Common.Enums; +using EasyMonads; using Microsoft.AspNetCore.Mvc.Testing; using NUnit.Framework; @@ -64,10 +68,10 @@ public async Task Remove_User_Contact_Works_Async() RegistrationRequest userRegistrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var userRegistrationResult = await _client.UserAuthentication.RegisterAsync(userRegistrationRequest); + Either userRegistrationResult = await _client.UserAuthentication.RegisterAsync(userRegistrationRequest); LoginRequest userLoginRequest = TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var userLoginResult = await _client.UserAuthentication.LoginAsync(userLoginRequest); + Either userLoginResult = await _client.UserAuthentication.LoginAsync(userLoginRequest); await userLoginResult.DoRightAsync(async loginResponse => { @@ -75,34 +79,34 @@ await userLoginResult.DoRightAsync(async loginResponse => await _clientTokenRepository.StoreRefreshTokenAsync(loginResponse.RefreshToken, TokenType.Session); }); - var initialContactsResult = await _client.UserContact.GetUserContactsAsync(); + Maybe> initialContactsResult = await _client.UserContact.GetUserContactsAsync(); RegistrationRequest contactRegistrationRequest = TestData.GetRegistrationRequest(contactUsername, contactPassword); - var contactRegistrationResult = await _client.UserAuthentication.RegisterAsync(contactRegistrationRequest); + Either contactRegistrationResult = await _client.UserAuthentication.RegisterAsync(contactRegistrationRequest); - var addContactResult = await _client.UserContact.AddUserContactAsync(contactUsername); - var secondContactsResult = await _client.UserContact.GetUserContactsAsync(); + Either addContactResult = await _client.UserContact.AddUserContactAsync(contactUsername); + Maybe> secondContactsResult = await _client.UserContact.GetUserContactsAsync(); - var removeContactResult = await _client.UserContact.RemoveUserContactAsync(contactUsername); - var finalContactsResult = await _client.UserContact.GetUserContactsAsync(); + Maybe removeContactResult = await _client.UserContact.RemoveUserContactAsync(contactUsername); + Maybe> finalContactsResult = await _client.UserContact.GetUserContactsAsync(); - Assert.True(userRegistrationResult.IsRight); - Assert.True(userLoginResult.IsRight); - Assert.True(initialContactsResult.IsSome); - initialContactsResult.IfSome(x => Assert.AreEqual(0, x.Count)); + Assert.That(userRegistrationResult.IsRight, Is.True); + Assert.That(userLoginResult.IsRight, Is.True); + Assert.That(initialContactsResult.IsSome, Is.True); + initialContactsResult.IfSome(x => Assert.That(x, Is.Empty)); - Assert.True(contactRegistrationResult.IsRight); - Assert.True(addContactResult.IsRight); - Assert.True(secondContactsResult.IsSome); + Assert.That(contactRegistrationResult.IsRight, Is.True); + Assert.That(addContactResult.IsRight, Is.True); + Assert.That(secondContactsResult.IsSome, Is.True); secondContactsResult.IfSome(x => { - Assert.AreEqual(1, x.Count); - Assert.AreEqual(contactUsername, x[0].Username); + Assert.That(x.Count, Is.EqualTo(1)); + Assert.That(x[0].Username, Is.EqualTo(contactUsername)); }); - Assert.True(removeContactResult.IsSome); - Assert.True(finalContactsResult.IsSome); - finalContactsResult.IfSome(x => Assert.AreEqual(0, x.Count)); + Assert.That(removeContactResult.IsSome, Is.True); + Assert.That(finalContactsResult.IsSome, Is.True); + finalContactsResult.IfSome(x => Assert.That(x, Is.Empty)); } } diff --git a/Crypter.Test/Integration_Tests/UserKey_Tests/GetMasterKey_Tests.cs b/Crypter.Test/Integration_Tests/UserKey_Tests/GetMasterKey_Tests.cs index 7216321c1..45cc652e7 100644 --- a/Crypter.Test/Integration_Tests/UserKey_Tests/GetMasterKey_Tests.cs +++ b/Crypter.Test/Integration_Tests/UserKey_Tests/GetMasterKey_Tests.cs @@ -63,11 +63,11 @@ public async Task Get_Master_Key_Works() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either __ = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = - TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -84,11 +84,11 @@ await loginResult.DoRightAsync(async loginResponse => GetMasterKeyResponse response = result.RightOrDefault(null); - Assert.True(insertMasterKeyResult.IsRight); - Assert.True(result.IsRight); - Assert.NotNull(response); + Assert.That(insertMasterKeyResult.IsRight, Is.True); + Assert.That(result.IsRight, Is.True); + Assert.That(response, Is.Not.Null); - Assert.AreEqual(insertMasterKeyRequest.EncryptedKey, response.EncryptedKey); - Assert.AreEqual(insertMasterKeyRequest.Nonce, response.Nonce); + Assert.That(response.EncryptedKey, Is.EqualTo(insertMasterKeyRequest.EncryptedKey)); + Assert.That(response.Nonce, Is.EqualTo(insertMasterKeyRequest.Nonce)); } } diff --git a/Crypter.Test/Integration_Tests/UserKey_Tests/GetPrivateKey_Tests.cs b/Crypter.Test/Integration_Tests/UserKey_Tests/GetPrivateKey_Tests.cs index 9ea1ed3c8..2371fa027 100644 --- a/Crypter.Test/Integration_Tests/UserKey_Tests/GetPrivateKey_Tests.cs +++ b/Crypter.Test/Integration_Tests/UserKey_Tests/GetPrivateKey_Tests.cs @@ -30,6 +30,7 @@ using Crypter.Common.Contracts.Features.Keys; using Crypter.Common.Contracts.Features.UserAuthentication; using Crypter.Common.Enums; +using EasyMonads; using Microsoft.AspNetCore.Mvc.Testing; using NUnit.Framework; @@ -62,11 +63,11 @@ public async Task Get_Master_Key_Works() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either _ = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = - TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -75,15 +76,15 @@ await loginResult.DoRightAsync(async loginResponse => }); InsertKeyPairRequest insertKeyPairRequest = TestData.GetInsertKeyPairRequest(); - var insertKeyPairResponse = await _client.UserKey.InsertKeyPairAsync(insertKeyPairRequest); + Either insertKeyPairResponse = await _client.UserKey.InsertKeyPairAsync(insertKeyPairRequest); - var getKeyPairResponse = await _client.UserKey.GetPrivateKeyAsync(); + Either getKeyPairResponse = await _client.UserKey.GetPrivateKeyAsync(); GetPrivateKeyResponse result = getKeyPairResponse.RightOrDefault(null); - Assert.True(insertKeyPairResponse.IsRight); - Assert.True(getKeyPairResponse.IsRight); + Assert.That(insertKeyPairResponse.IsRight, Is.True); + Assert.That(getKeyPairResponse.IsRight, Is.True); - Assert.AreEqual(insertKeyPairRequest.EncryptedPrivateKey, result.EncryptedKey); - Assert.AreEqual(insertKeyPairRequest.Nonce, result.Nonce); + Assert.That(result.EncryptedKey, Is.EqualTo(insertKeyPairRequest.EncryptedPrivateKey)); + Assert.That(result.Nonce, Is.EqualTo(insertKeyPairRequest.Nonce)); } } diff --git a/Crypter.Test/Integration_Tests/UserKey_Tests/GetRecoveryKey_Tests.cs b/Crypter.Test/Integration_Tests/UserKey_Tests/GetRecoveryKey_Tests.cs index 334709dec..6a031ae61 100644 --- a/Crypter.Test/Integration_Tests/UserKey_Tests/GetRecoveryKey_Tests.cs +++ b/Crypter.Test/Integration_Tests/UserKey_Tests/GetRecoveryKey_Tests.cs @@ -63,11 +63,11 @@ public async Task Get_Master_Key_Recovery_Key_Works() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either __ = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = - TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -86,11 +86,11 @@ await loginResult.DoRightAsync(async loginResponse => GetMasterKeyRecoveryProofResponse response = result.RightOrDefault(null); - Assert.True(insertMasterKeyResult.IsRight); - Assert.True(result.IsRight); - Assert.NotNull(response); + Assert.That(insertMasterKeyResult.IsRight, Is.True); + Assert.That(result.IsRight, Is.True); + Assert.That(response, Is.Not.Null); - Assert.AreEqual(insertMasterKeyRequest.RecoveryProof, response.Proof); + Assert.That(response.Proof, Is.EqualTo(insertMasterKeyRequest.RecoveryProof)); } [Test] @@ -98,11 +98,11 @@ public async Task Get_Master_Key_Recovery_Key_Fails_Invalid_Password() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either __ = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = - TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -121,7 +121,7 @@ await loginResult.DoRightAsync(async loginResponse => Either result = await _client.UserKey.GetMasterKeyRecoveryProofAsync(request); - Assert.True(insertMasterKeyResult.IsRight); - Assert.True(result.IsLeft); + Assert.That(insertMasterKeyResult.IsRight, Is.True); + Assert.That(result.IsLeft, Is.True); } } diff --git a/Crypter.Test/Integration_Tests/UserKey_Tests/InsertMasterKey_Tests.cs b/Crypter.Test/Integration_Tests/UserKey_Tests/InsertMasterKey_Tests.cs index 10ed8464a..c1c4651fc 100644 --- a/Crypter.Test/Integration_Tests/UserKey_Tests/InsertMasterKey_Tests.cs +++ b/Crypter.Test/Integration_Tests/UserKey_Tests/InsertMasterKey_Tests.cs @@ -63,11 +63,11 @@ public async Task Insert_Master_Key_Works() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either __ = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = - TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -78,6 +78,6 @@ await loginResult.DoRightAsync(async loginResponse => (_, InsertMasterKeyRequest request) = TestData.GetInsertMasterKeyRequest(TestData.DefaultPassword); Either result = await _client.UserKey.InsertMasterKeyAsync(request); - Assert.True(result.IsRight); + Assert.That(result.IsRight, Is.True); } } diff --git a/Crypter.Test/Integration_Tests/UserKey_Tests/InsertPrivateKey_Tests.cs b/Crypter.Test/Integration_Tests/UserKey_Tests/InsertPrivateKey_Tests.cs index fe95ae97a..7f72abf6d 100644 --- a/Crypter.Test/Integration_Tests/UserKey_Tests/InsertPrivateKey_Tests.cs +++ b/Crypter.Test/Integration_Tests/UserKey_Tests/InsertPrivateKey_Tests.cs @@ -30,6 +30,7 @@ using Crypter.Common.Contracts.Features.Keys; using Crypter.Common.Contracts.Features.UserAuthentication; using Crypter.Common.Enums; +using EasyMonads; using Microsoft.AspNetCore.Mvc.Testing; using NUnit.Framework; @@ -62,11 +63,11 @@ public async Task Insert_Private_Key_Works_Async() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either _ = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = - TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -75,8 +76,8 @@ await loginResult.DoRightAsync(async loginResponse => }); InsertKeyPairRequest request = TestData.GetInsertKeyPairRequest(); - var result = await _client.UserKey.InsertKeyPairAsync(request); + Either result = await _client.UserKey.InsertKeyPairAsync(request); - Assert.True(result.IsRight); + Assert.That(result.IsRight, Is.True); } } diff --git a/Crypter.Test/Integration_Tests/UserRecovery_Tests/SendRecoveryEmail_Tests.cs b/Crypter.Test/Integration_Tests/UserRecovery_Tests/SendRecoveryEmail_Tests.cs index 8e2f724b4..5abe07678 100644 --- a/Crypter.Test/Integration_Tests/UserRecovery_Tests/SendRecoveryEmail_Tests.cs +++ b/Crypter.Test/Integration_Tests/UserRecovery_Tests/SendRecoveryEmail_Tests.cs @@ -61,6 +61,6 @@ public async Task Send_Recovery_Email_Works() EmailAddress emailAddress = EmailAddress.From(TestData.DefaultEmailAdress); Either result = await _client.UserRecovery.SendRecoveryEmailAsync(emailAddress); - Assert.True(result.IsRight); + Assert.That(result.IsRight, Is.True); } } diff --git a/Crypter.Test/Integration_Tests/UserRecovery_Tests/SubmitRecovery_Tests.cs b/Crypter.Test/Integration_Tests/UserRecovery_Tests/SubmitRecovery_Tests.cs index e1e8322ff..20f92230d 100644 --- a/Crypter.Test/Integration_Tests/UserRecovery_Tests/SubmitRecovery_Tests.cs +++ b/Crypter.Test/Integration_Tests/UserRecovery_Tests/SubmitRecovery_Tests.cs @@ -106,8 +106,8 @@ public async Task Submit_Recovery_Works_Async(bool withRecoveryProof) if (withRecoveryProof) { LoginRequest loginRequest = - TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -117,7 +117,7 @@ await loginResult.DoRightAsync(async loginResponse => (byte[] masterKey, InsertMasterKeyRequest insertMasterKeyRequest) = TestData.GetInsertMasterKeyRequest(TestData.DefaultPassword); - Either insertMasterKeyResponse = + Either _ = await _client.UserKey.InsertMasterKeyAsync(insertMasterKeyRequest); UserPasswordService userPasswordService = new UserPasswordService(_cryptoProvider); @@ -165,17 +165,17 @@ await loginResult.DoRightAsync(async loginResponse => ReplacementMasterKeyInformation replacementMasterKeyInformation = recoveryKey.Match( () => null, - x => new ReplacementMasterKeyInformation(x.Proof, new byte[] { 0x01 }, new byte[] { 0x02 }, - new byte[] { 0x03 })); + x => new ReplacementMasterKeyInformation(x.Proof, [0x01], [0x02], + [0x03])); AccountRecoverySubmission submission = new AccountRecoverySubmission(TestData.DefaultUsername, encodedRecoveryCode, encodedRecoverySignature, versionedPassword, replacementMasterKeyInformation); Either result = await _client.UserRecovery.SubmitRecoveryAsync(submission); - Assert.True(registrationResult.IsRight); - Assert.True(verificationResult.IsRight); - Assert.True(sendRecoveryEmailResult.IsRight); - Assert.True(verificationResult.IsRight); - Assert.True(result.IsRight); + Assert.That(registrationResult.IsRight, Is.True); + Assert.That(verificationResult.IsRight, Is.True); + Assert.That(sendRecoveryEmailResult.IsRight, Is.True); + Assert.That(verificationResult.IsRight, Is.True); + Assert.That(result.IsRight, Is.True); } [Test] @@ -214,8 +214,8 @@ public async Task Submit_Recovery_Fails_When_Recovery_Code_Provided_With_Empty_N await Task.Delay(5000); LoginRequest loginRequest = - TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -225,7 +225,7 @@ await loginResult.DoRightAsync(async loginResponse => (byte[] masterKey, InsertMasterKeyRequest insertMasterKeyRequest) = TestData.GetInsertMasterKeyRequest(TestData.DefaultPassword); - Either insertMasterKeyResponse = + Either _ = await _client.UserKey.InsertMasterKeyAsync(insertMasterKeyRequest); UserPasswordService userPasswordService = new UserPasswordService(_cryptoProvider); @@ -253,13 +253,13 @@ await loginResult.DoRightAsync(async loginResponse => encodedRecoverySignature, versionedPassword, replacementMasterKeyInformation); Either result = await _client.UserRecovery.SubmitRecoveryAsync(submission); - Assert.True(registrationResult.IsRight); - Assert.True(verificationResult.IsRight); - Assert.True(sendRecoveryEmailResult.IsRight); - Assert.True(verificationResult.IsRight); - Assert.True(result.IsLeft); + Assert.That(registrationResult.IsRight, Is.True); + Assert.That(verificationResult.IsRight, Is.True); + Assert.That(sendRecoveryEmailResult.IsRight, Is.True); + Assert.That(verificationResult.IsRight, Is.True); + Assert.That(result.IsLeft, Is.True); result.DoLeftOrNeither(x => - Assert.AreEqual(SubmitAccountRecoveryError.InvalidMasterKey, x), + Assert.That(x, Is.EqualTo(SubmitAccountRecoveryError.InvalidMasterKey)), Assert.Fail); } } diff --git a/Crypter.Test/Integration_Tests/UserSettings_Tests/EmailAddressVerification_Tests.cs b/Crypter.Test/Integration_Tests/UserSettings_Tests/EmailAddressVerification_Tests.cs index 409f45d00..77df28b5b 100644 --- a/Crypter.Test/Integration_Tests/UserSettings_Tests/EmailAddressVerification_Tests.cs +++ b/Crypter.Test/Integration_Tests/UserSettings_Tests/EmailAddressVerification_Tests.cs @@ -48,8 +48,7 @@ internal class EmailAddressVerification_Tests { private WebApplicationFactory _factory; private ICrypterApiClient _client; - - private ICryptoProvider _mockCryptoProvider; + private DefaultCryptoProvider _cryptoProvider; private Ed25519KeyPair _emailVerificationKeyPair; @@ -58,7 +57,6 @@ public void SetupFixture() { _cryptoProvider = new DefaultCryptoProvider(); _emailVerificationKeyPair = _cryptoProvider.DigitalSignature.GenerateKeyPair(); - _mockCryptoProvider = Mocks.CreateDeterministicCryptoProvider(_emailVerificationKeyPair).Object; } [SetUp] @@ -77,7 +75,7 @@ public async Task Email_Address_Verification_Works_Async() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword, TestData.DefaultEmailAdress); - Either registrationResult = + Either _ = await _client.UserAuthentication.RegisterAsync(registrationRequest); // Allow the background service to "send" the verification email and save the email verification data @@ -98,6 +96,6 @@ public async Task Email_Address_Verification_Works_Async() VerifyEmailAddressRequest request = new VerifyEmailAddressRequest(encodedVerificationCode, encodedSignature); Either result = await _client.UserSetting.VerifyUserEmailAddressAsync(request); - Assert.True(result.IsRight); + Assert.That(result.IsRight, Is.True); } } diff --git a/Crypter.Test/Integration_Tests/UserSettings_Tests/GetContactInfo_Tests.cs b/Crypter.Test/Integration_Tests/UserSettings_Tests/GetContactInfo_Tests.cs index c3e0850c7..7b28ebd99 100644 --- a/Crypter.Test/Integration_Tests/UserSettings_Tests/GetContactInfo_Tests.cs +++ b/Crypter.Test/Integration_Tests/UserSettings_Tests/GetContactInfo_Tests.cs @@ -63,11 +63,11 @@ public async Task Get_Contact_Info_Settings_Works_Async() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either _ = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = - TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -76,6 +76,6 @@ await loginResult.DoRightAsync(async loginResponse => }); Maybe result = await _client.UserSetting.GetContactInfoSettingsAsync(); - Assert.True(result.IsSome); + Assert.That(result.IsSome, Is.True); } } diff --git a/Crypter.Test/Integration_Tests/UserSettings_Tests/GetNotificationSettings_Tests.cs b/Crypter.Test/Integration_Tests/UserSettings_Tests/GetNotificationSettings_Tests.cs index 30b2ff096..924ce4e65 100644 --- a/Crypter.Test/Integration_Tests/UserSettings_Tests/GetNotificationSettings_Tests.cs +++ b/Crypter.Test/Integration_Tests/UserSettings_Tests/GetNotificationSettings_Tests.cs @@ -63,11 +63,11 @@ public async Task Get_Notification_Settings_Works_Async() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either _ = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = - TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -76,6 +76,6 @@ await loginResult.DoRightAsync(async loginResponse => }); Maybe response = await _client.UserSetting.GetNotificationSettingsAsync(); - Assert.True(response.IsSome); + Assert.That(response.IsSome, Is.True); } } diff --git a/Crypter.Test/Integration_Tests/UserSettings_Tests/GetPrivacySettings_Tests.cs b/Crypter.Test/Integration_Tests/UserSettings_Tests/GetPrivacySettings_Tests.cs index fa8c99008..000004e91 100644 --- a/Crypter.Test/Integration_Tests/UserSettings_Tests/GetPrivacySettings_Tests.cs +++ b/Crypter.Test/Integration_Tests/UserSettings_Tests/GetPrivacySettings_Tests.cs @@ -63,11 +63,11 @@ public async Task Get_Privacy_Settings_Works_Async() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either _ = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = - TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -76,6 +76,6 @@ await loginResult.DoRightAsync(async loginResponse => }); Maybe response = await _client.UserSetting.GetPrivacySettingsAsync(); - Assert.True(response.IsSome); + Assert.That(response.IsSome, Is.True); } } diff --git a/Crypter.Test/Integration_Tests/UserSettings_Tests/GetProfileSettings_Tests.cs b/Crypter.Test/Integration_Tests/UserSettings_Tests/GetProfileSettings_Tests.cs index e43542149..ca7344e08 100644 --- a/Crypter.Test/Integration_Tests/UserSettings_Tests/GetProfileSettings_Tests.cs +++ b/Crypter.Test/Integration_Tests/UserSettings_Tests/GetProfileSettings_Tests.cs @@ -63,11 +63,11 @@ public async Task Get_Profile_Settings_Works_Async() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either _ = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = - TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -76,6 +76,6 @@ await loginResult.DoRightAsync(async loginResponse => }); Maybe response = await _client.UserSetting.GetProfileSettingsAsync(); - Assert.True(response.IsSome); + Assert.That(response.IsSome, Is.True); } } diff --git a/Crypter.Test/Integration_Tests/UserSettings_Tests/SetPrivacySettings_Tests.cs b/Crypter.Test/Integration_Tests/UserSettings_Tests/SetPrivacySettings_Tests.cs index fe9056d3e..79433240c 100644 --- a/Crypter.Test/Integration_Tests/UserSettings_Tests/SetPrivacySettings_Tests.cs +++ b/Crypter.Test/Integration_Tests/UserSettings_Tests/SetPrivacySettings_Tests.cs @@ -63,11 +63,11 @@ public async Task Set_Privacy_Settings_Work_async() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either _ = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = - TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -80,6 +80,6 @@ await loginResult.DoRightAsync(async loginResponse => Either result = await _client.UserSetting.SetPrivacySettingsAsync(request); - Assert.True(result.IsRight); + Assert.That(result.IsRight, Is.True); } } diff --git a/Crypter.Test/Integration_Tests/UserSettings_Tests/SetProfileSettings_Tests.cs b/Crypter.Test/Integration_Tests/UserSettings_Tests/SetProfileSettings_Tests.cs index a3f478fa7..172268336 100644 --- a/Crypter.Test/Integration_Tests/UserSettings_Tests/SetProfileSettings_Tests.cs +++ b/Crypter.Test/Integration_Tests/UserSettings_Tests/SetProfileSettings_Tests.cs @@ -63,11 +63,11 @@ public async Task Set_Profile_Settings_Works_Async() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either _ = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = - TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -79,6 +79,6 @@ await loginResult.DoRightAsync(async loginResponse => Either response = await _client.UserSetting.SetProfileSettingsAsync(request); - Assert.True(response.IsRight); + Assert.That(response.IsRight, Is.True); } } diff --git a/Crypter.Test/Integration_Tests/UserSettings_Tests/UpdateContactInfo_Tests.cs b/Crypter.Test/Integration_Tests/UserSettings_Tests/UpdateContactInfo_Tests.cs index afbe274f6..3cb42b6af 100644 --- a/Crypter.Test/Integration_Tests/UserSettings_Tests/UpdateContactInfo_Tests.cs +++ b/Crypter.Test/Integration_Tests/UserSettings_Tests/UpdateContactInfo_Tests.cs @@ -64,11 +64,11 @@ public async Task Update_Contact_Info_Settings_Works_Async() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either _ = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = - TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -81,6 +81,6 @@ await loginResult.DoRightAsync(async loginResponse => Either result = await _client.UserSetting.UpdateContactInfoSettingsAsync(request); - Assert.True(result.IsRight); + Assert.That(result.IsRight, Is.True); } } diff --git a/Crypter.Test/Integration_Tests/UserSettings_Tests/UpdateNotificationSettings_Tests.cs b/Crypter.Test/Integration_Tests/UserSettings_Tests/UpdateNotificationSettings_Tests.cs index 6241bfc2b..813ef83f9 100644 --- a/Crypter.Test/Integration_Tests/UserSettings_Tests/UpdateNotificationSettings_Tests.cs +++ b/Crypter.Test/Integration_Tests/UserSettings_Tests/UpdateNotificationSettings_Tests.cs @@ -63,11 +63,11 @@ public async Task Update_Notification_Preferences_Works_Async() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either _ = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = - TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -79,6 +79,6 @@ await loginResult.DoRightAsync(async loginResponse => Either result = await _client.UserSetting.UpdateNotificationSettingsAsync(request); - Assert.True(result.IsRight); + Assert.That(result.IsRight, Is.True); } } diff --git a/Crypter.Test/Integration_Tests/User_Tests/GetUserProfile_Tests.cs b/Crypter.Test/Integration_Tests/User_Tests/GetUserProfile_Tests.cs index 4925c8fad..e7efc507c 100644 --- a/Crypter.Test/Integration_Tests/User_Tests/GetUserProfile_Tests.cs +++ b/Crypter.Test/Integration_Tests/User_Tests/GetUserProfile_Tests.cs @@ -64,11 +64,11 @@ public async Task Get_User_Profile_Works_Async() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either _ = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -77,15 +77,15 @@ await loginResult.DoRightAsync(async loginResponse => }); InsertKeyPairRequest insertKeyPairRequest = TestData.GetInsertKeyPairRequest(); - var insertKeyPairResponse = await _client.UserKey.InsertKeyPairAsync(insertKeyPairRequest); + Either __ = await _client.UserKey.InsertKeyPairAsync(insertKeyPairRequest); Either response = await _client.User.GetUserProfileAsync(TestData.DefaultUsername, false); UserProfile result = response.RightOrDefault(null); - Assert.True(loginResult.IsRight); - Assert.True(response.IsRight); - Assert.AreEqual(TestData.DefaultUsername, result.Username); + Assert.That(loginResult.IsRight, Is.True); + Assert.That(response.IsRight, Is.True); + Assert.That(result.Username, Is.EqualTo(TestData.DefaultUsername)); } } diff --git a/Crypter.Test/Integration_Tests/User_Tests/UserSearch_Tests.cs b/Crypter.Test/Integration_Tests/User_Tests/UserSearch_Tests.cs index 101f1dd5c..20a98c9c8 100644 --- a/Crypter.Test/Integration_Tests/User_Tests/UserSearch_Tests.cs +++ b/Crypter.Test/Integration_Tests/User_Tests/UserSearch_Tests.cs @@ -65,11 +65,11 @@ public async Task User_Search_Works_Async() { RegistrationRequest registrationRequest = TestData.GetRegistrationRequest(TestData.DefaultUsername, TestData.DefaultPassword); - var registrationResult = await _client.UserAuthentication.RegisterAsync(registrationRequest); + Either _ = await _client.UserAuthentication.RegisterAsync(registrationRequest); LoginRequest loginRequest = - TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword, TokenType.Session); - var loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); + TestData.GetLoginRequest(TestData.DefaultUsername, TestData.DefaultPassword); + Either loginResult = await _client.UserAuthentication.LoginAsync(loginRequest); await loginResult.DoRightAsync(async loginResponse => { @@ -78,16 +78,16 @@ await loginResult.DoRightAsync(async loginResponse => }); InsertKeyPairRequest insertKeyPairRequest = TestData.GetInsertKeyPairRequest(); - var insertKeyPairResponse = await _client.UserKey.InsertKeyPairAsync(insertKeyPairRequest); + Either __ = await _client.UserKey.InsertKeyPairAsync(insertKeyPairRequest); UserSearchParameters searchParameters = new UserSearchParameters(TestData.DefaultUsername, 0, 10); Maybe> response = await _client.User.GetUserSearchResultsAsync(searchParameters); List results = response.SomeOrDefault(null); - Assert.True(loginResult.IsRight); - Assert.True(response.IsSome); - Assert.AreEqual(1, results.Count); - Assert.AreEqual(TestData.DefaultUsername, results[0].Username); + Assert.That(loginResult.IsRight, Is.True); + Assert.That(response.IsSome, Is.True); + Assert.That(results.Count, Is.EqualTo(1)); + Assert.That(results[0].Username, Is.EqualTo(TestData.DefaultUsername)); } } diff --git a/Crypter.Test/Web_Tests/BrowserRepository_Tests.cs b/Crypter.Test/Web_Tests/BrowserRepository_Tests.cs index 444e67efa..7256f63a9 100644 --- a/Crypter.Test/Web_Tests/BrowserRepository_Tests.cs +++ b/Crypter.Test/Web_Tests/BrowserRepository_Tests.cs @@ -30,6 +30,7 @@ using Crypter.Common.Client.Enums; using Crypter.Common.Client.Models; using Crypter.Web.Repositories; +using EasyMonads; using Microsoft.JSInterop; using Moq; using NUnit.Framework; @@ -47,17 +48,17 @@ public void Setup() [Test] public async Task Storage_Is_Empty_Upon_Initialization_Without_Existing_Data() { - var jsRuntime = new Mock(); + Mock jsRuntime = new Mock(); jsRuntime .Setup(x => x.InvokeAsync(It.IsAny(), new object[] { It.IsAny() })) - .ReturnsAsync((string command, string itemType) => default); + .ReturnsAsync((string _, string _) => default); - var sut = new BrowserRepository(jsRuntime.Object); + BrowserRepository sut = new BrowserRepository(jsRuntime.Object); await sut.InitializeAsync(); foreach (DeviceStorageObjectType item in Enum.GetValues(typeof(DeviceStorageObjectType))) { - Assert.IsFalse(sut.HasItem(item)); + Assert.That(sut.HasItem(item), Is.False); } } @@ -67,8 +68,8 @@ public async Task Repository_Initializes_Values_From_Browser_Storage(string stor BrowserStorageLocation storageLocation) { UserSession storedUserSession = new UserSession("foo", true, UserSession.LATEST_SCHEMA); - string authenticationToken = "authentication"; - string refreshToken = "refresh"; + const string authenticationToken = "authentication"; + const string refreshToken = "refresh"; byte[] privateKey = "privateKey"u8.ToArray(); byte[] masterKey = "masterKey"u8.ToArray(); Mock jsRuntime = new Mock(); @@ -76,68 +77,68 @@ public async Task Repository_Initializes_Values_From_Browser_Storage(string stor // UserSession jsRuntime .Setup(x => x.InvokeAsync( - It.Is(x => x == $"{storageLiteral}.getItem"), - It.Is(x => x[0].ToString() == DeviceStorageObjectType.UserSession.ToString()))) - .ReturnsAsync((string command, object[] args) => JsonSerializer.Serialize(storedUserSession)); + It.Is(y => y == $"{storageLiteral}.getItem"), + It.Is(y => y[0].ToString() == DeviceStorageObjectType.UserSession.ToString()))) + .ReturnsAsync((string _, object[] _) => JsonSerializer.Serialize(storedUserSession)); // AuthenticationToken jsRuntime .Setup(x => x.InvokeAsync( - It.Is(x => x == $"{storageLiteral}.getItem"), - It.Is(x => x[0].ToString() == DeviceStorageObjectType.AuthenticationToken.ToString()))) - .ReturnsAsync((string command, object[] args) => JsonSerializer.Serialize(authenticationToken)); + It.Is(y => y == $"{storageLiteral}.getItem"), + It.Is(y => y[0].ToString() == DeviceStorageObjectType.AuthenticationToken.ToString()))) + .ReturnsAsync((string _, object[] _) => JsonSerializer.Serialize(authenticationToken)); // RefreshToken jsRuntime .Setup(x => x.InvokeAsync( - It.Is(x => x == $"{storageLiteral}.getItem"), - It.Is(x => x[0].ToString() == DeviceStorageObjectType.RefreshToken.ToString()))) - .ReturnsAsync((string commands, object[] args) => JsonSerializer.Serialize(refreshToken)); + It.Is(y => y == $"{storageLiteral}.getItem"), + It.Is(y => y[0].ToString() == DeviceStorageObjectType.RefreshToken.ToString()))) + .ReturnsAsync((string _, object[] _) => JsonSerializer.Serialize(refreshToken)); // PrivateKey jsRuntime .Setup(x => x.InvokeAsync( - It.Is(x => x == $"{storageLiteral}.getItem"), - It.Is(x => x[0].ToString() == DeviceStorageObjectType.PrivateKey.ToString()))) - .ReturnsAsync((string command, object[] args) => JsonSerializer.Serialize(privateKey)); + It.Is(y => y == $"{storageLiteral}.getItem"), + It.Is(y => y[0].ToString() == DeviceStorageObjectType.PrivateKey.ToString()))) + .ReturnsAsync((string _, object[] _) => JsonSerializer.Serialize(privateKey)); // MasterKey jsRuntime .Setup(x => x.InvokeAsync( - It.Is(x => x == $"{storageLiteral}.getItem"), - It.Is(x => x[0].ToString() == DeviceStorageObjectType.MasterKey.ToString()))) - .ReturnsAsync((string command, object[] args) => JsonSerializer.Serialize(privateKey)); + It.Is(y => y == $"{storageLiteral}.getItem"), + It.Is(y => y[0].ToString() == DeviceStorageObjectType.MasterKey.ToString()))) + .ReturnsAsync((string _, object[] _) => JsonSerializer.Serialize(masterKey)); - var sut = new BrowserRepository(jsRuntime.Object); + BrowserRepository sut = new BrowserRepository(jsRuntime.Object); await sut.InitializeAsync(); foreach (DeviceStorageObjectType item in Enum.GetValues(typeof(DeviceStorageObjectType))) { - Assert.IsTrue(sut.HasItem(item)); - var itemLocation = sut.GetItemLocation(item); + Assert.That(sut.HasItem(item), Is.True); + Maybe itemLocation = sut.GetItemLocation(item); itemLocation.IfNone(Assert.Fail); - itemLocation.IfSome(x => Assert.AreEqual(storageLocation, x)); + itemLocation.IfSome(x => Assert.That(x, Is.EqualTo(storageLocation))); } - var fetchedUserSession = await sut.GetItemAsync(DeviceStorageObjectType.UserSession); + Maybe fetchedUserSession = await sut.GetItemAsync(DeviceStorageObjectType.UserSession); fetchedUserSession.IfNone(Assert.Fail); - fetchedUserSession.IfSome(x => Assert.AreEqual(storedUserSession.Username, x.Username)); + fetchedUserSession.IfSome(x => Assert.That(x.Username, Is.EqualTo(storedUserSession.Username))); - var fetchedAuthenticationToken = await sut.GetItemAsync(DeviceStorageObjectType.AuthenticationToken); + Maybe fetchedAuthenticationToken = await sut.GetItemAsync(DeviceStorageObjectType.AuthenticationToken); fetchedAuthenticationToken.IfNone(Assert.Fail); - fetchedAuthenticationToken.IfSome(x => Assert.AreEqual(authenticationToken, x)); + fetchedAuthenticationToken.IfSome(x => Assert.That(x, Is.EqualTo(authenticationToken))); - var fetchedRefreshToken = await sut.GetItemAsync(DeviceStorageObjectType.RefreshToken); + Maybe fetchedRefreshToken = await sut.GetItemAsync(DeviceStorageObjectType.RefreshToken); fetchedRefreshToken.IfNone(Assert.Fail); - fetchedRefreshToken.IfSome(x => Assert.AreEqual(refreshToken, x)); + fetchedRefreshToken.IfSome(x => Assert.That(x, Is.EqualTo(refreshToken))); - var fetchedPrivateKey = await sut.GetItemAsync(DeviceStorageObjectType.PrivateKey); + Maybe fetchedPrivateKey = await sut.GetItemAsync(DeviceStorageObjectType.PrivateKey); fetchedPrivateKey.IfNone(Assert.Fail); - fetchedPrivateKey.IfSome(x => Assert.AreEqual(privateKey, x)); + fetchedPrivateKey.IfSome(x => Assert.That(x, Is.EqualTo(privateKey))); - var fetchedMasterKeyKey = await sut.GetItemAsync(DeviceStorageObjectType.MasterKey); + Maybe fetchedMasterKeyKey = await sut.GetItemAsync(DeviceStorageObjectType.MasterKey); fetchedMasterKeyKey.IfNone(Assert.Fail); - fetchedMasterKeyKey.IfSome(x => Assert.AreEqual(privateKey, x)); + fetchedMasterKeyKey.IfSome(x => Assert.That(x, Is.EqualTo(masterKey))); } } diff --git a/Crypter.Test/Web_Tests/BrowserTokenRepository_Tests.cs b/Crypter.Test/Web_Tests/BrowserTokenRepository_Tests.cs index 9de7d8adf..1ee4dba82 100644 --- a/Crypter.Test/Web_Tests/BrowserTokenRepository_Tests.cs +++ b/Crypter.Test/Web_Tests/BrowserTokenRepository_Tests.cs @@ -56,10 +56,9 @@ public async Task Repository_Stores_Authentication_Token_As_Token_Object() DeviceStorageObjectType.AuthenticationToken, It.IsAny(), BrowserStorageLocation.Memory)) - .ReturnsAsync((DeviceStorageObjectType objectType, TokenObject tokenObject, - BrowserStorageLocation browserStorageLocation) => Unit.Default); + .ReturnsAsync((DeviceStorageObjectType _, TokenObject _, BrowserStorageLocation _) => Unit.Default); - var sut = new BrowserTokenRepository(_browserStorageMock.Object); + BrowserTokenRepository sut = new BrowserTokenRepository(_browserStorageMock.Object); await sut.StoreAuthenticationTokenAsync("foo"); _browserStorageMock.Verify( @@ -78,10 +77,9 @@ public async Task Repository_Stores_Refresh_Token_As_Token_Object(TokenType toke It.IsAny(), browserStorageLocation)) .ReturnsAsync( - (DeviceStorageObjectType objectType, TokenObject tokenObject, BrowserStorageLocation location) => - Unit.Default); + (DeviceStorageObjectType _, TokenObject _, BrowserStorageLocation _) => Unit.Default); - var sut = new BrowserTokenRepository(_browserStorageMock.Object); + BrowserTokenRepository sut = new BrowserTokenRepository(_browserStorageMock.Object); await sut.StoreRefreshTokenAsync("foo", tokenType); _browserStorageMock.Verify( @@ -94,16 +92,16 @@ public async Task Repository_Gets_Some_Authentication_Token() { _browserStorageMock .Setup(x => x.GetItemAsync(DeviceStorageObjectType.AuthenticationToken)) - .ReturnsAsync((DeviceStorageObjectType objectType) => new TokenObject(TokenType.Authentication, "foo")); + .ReturnsAsync((DeviceStorageObjectType _) => new TokenObject(TokenType.Authentication, "foo")); - var sut = new BrowserTokenRepository(_browserStorageMock.Object); + BrowserTokenRepository sut = new BrowserTokenRepository(_browserStorageMock.Object); - var fetchedToken = await sut.GetAuthenticationTokenAsync(); + Maybe fetchedToken = await sut.GetAuthenticationTokenAsync(); fetchedToken.IfNone(Assert.Fail); fetchedToken.IfSome(x => { - Assert.AreEqual(TokenType.Authentication, x.TokenType); - Assert.AreEqual("foo", x.Token); + Assert.That(x.TokenType, Is.EqualTo(TokenType.Authentication)); + Assert.That(x.Token, Is.EqualTo("foo")); }); _browserStorageMock.Verify(x => x.GetItemAsync(DeviceStorageObjectType.AuthenticationToken), @@ -115,12 +113,12 @@ public async Task Repository_Gets_None_Authentication_Token() { _browserStorageMock .Setup(x => x.GetItemAsync(DeviceStorageObjectType.AuthenticationToken)) - .ReturnsAsync((DeviceStorageObjectType objectType) => Maybe.None); + .ReturnsAsync((DeviceStorageObjectType _) => Maybe.None); - var sut = new BrowserTokenRepository(_browserStorageMock.Object); + BrowserTokenRepository sut = new BrowserTokenRepository(_browserStorageMock.Object); - var fetchedToken = await sut.GetAuthenticationTokenAsync(); - Assert.IsTrue(fetchedToken.IsNone); + Maybe fetchedToken = await sut.GetAuthenticationTokenAsync(); + Assert.That(fetchedToken.IsNone, Is.True); _browserStorageMock.Verify(x => x.GetItemAsync(DeviceStorageObjectType.AuthenticationToken), Times.Once); @@ -132,16 +130,16 @@ public async Task Repository_Gets_Some_Refresh_Token(TokenType tokenType) { _browserStorageMock .Setup(x => x.GetItemAsync(DeviceStorageObjectType.RefreshToken)) - .ReturnsAsync((DeviceStorageObjectType objectType) => new TokenObject(tokenType, "foo")); + .ReturnsAsync((DeviceStorageObjectType _) => new TokenObject(tokenType, "foo")); - var sut = new BrowserTokenRepository(_browserStorageMock.Object); + BrowserTokenRepository sut = new BrowserTokenRepository(_browserStorageMock.Object); - var fetchedToken = await sut.GetRefreshTokenAsync(); + Maybe fetchedToken = await sut.GetRefreshTokenAsync(); fetchedToken.IfNone(Assert.Fail); fetchedToken.IfSome(x => { - Assert.AreEqual(tokenType, x.TokenType); - Assert.AreEqual("foo", x.Token); + Assert.That(x.TokenType, Is.EqualTo(tokenType)); + Assert.That(x.Token, Is.EqualTo("foo")); }); _browserStorageMock.Verify(x => x.GetItemAsync(DeviceStorageObjectType.RefreshToken), Times.Once); @@ -151,12 +149,12 @@ public async Task Repository_Gets_None_Refresh_Token() { _browserStorageMock .Setup(x => x.GetItemAsync(DeviceStorageObjectType.RefreshToken)) - .ReturnsAsync((DeviceStorageObjectType objectType) => Maybe.None); + .ReturnsAsync((DeviceStorageObjectType _) => Maybe.None); - var sut = new BrowserTokenRepository(_browserStorageMock.Object); + BrowserTokenRepository sut = new BrowserTokenRepository(_browserStorageMock.Object); - var fetchedToken = await sut.GetRefreshTokenAsync(); - Assert.IsTrue(fetchedToken.IsNone); + Maybe fetchedToken = await sut.GetRefreshTokenAsync(); + Assert.That(fetchedToken.IsNone, Is.True); _browserStorageMock.Verify(x => x.GetItemAsync(DeviceStorageObjectType.RefreshToken), Times.Once); } diff --git a/Crypter.Test/Web_Tests/BrowserUserSessionRepository_Tests.cs b/Crypter.Test/Web_Tests/BrowserUserSessionRepository_Tests.cs index fea801c31..8bbabecfa 100644 --- a/Crypter.Test/Web_Tests/BrowserUserSessionRepository_Tests.cs +++ b/Crypter.Test/Web_Tests/BrowserUserSessionRepository_Tests.cs @@ -55,12 +55,11 @@ public async Task Repository_Stores_User_Session_In_Session_Storage() DeviceStorageObjectType.UserSession, It.IsAny(), BrowserStorageLocation.SessionStorage)) - .ReturnsAsync((DeviceStorageObjectType objectType, UserSession userSession, - BrowserStorageLocation browserStorageLocation) => Unit.Default); + .ReturnsAsync((DeviceStorageObjectType _, UserSession _, BrowserStorageLocation _) => Unit.Default); - var sut = new BrowserUserSessionRepository(_browserStorageMock.Object); + BrowserUserSessionRepository sut = new BrowserUserSessionRepository(_browserStorageMock.Object); - UserSession session = new(Username.From("foo"), false, UserSession.LATEST_SCHEMA); + UserSession session = new UserSession(Username.From("foo"), false, UserSession.LATEST_SCHEMA); await sut.StoreUserSessionAsync(session, false); _browserStorageMock.Verify( @@ -76,12 +75,11 @@ public async Task Repository_Stores_User_Session_In_Local_Storage() DeviceStorageObjectType.UserSession, It.IsAny(), BrowserStorageLocation.LocalStorage)) - .ReturnsAsync((DeviceStorageObjectType objectType, UserSession userSession, - BrowserStorageLocation browserStorageLocation) => Unit.Default); + .ReturnsAsync((DeviceStorageObjectType _, UserSession _, BrowserStorageLocation _) => Unit.Default); - var sut = new BrowserUserSessionRepository(_browserStorageMock.Object); + BrowserUserSessionRepository sut = new BrowserUserSessionRepository(_browserStorageMock.Object); - UserSession session = new(Username.From("foo"), true, UserSession.LATEST_SCHEMA); + UserSession session = new UserSession(Username.From("foo"), true, UserSession.LATEST_SCHEMA); await sut.StoreUserSessionAsync(session, true); _browserStorageMock.Verify( @@ -94,17 +92,17 @@ public async Task Repository_Gets_Some_User_Session() { _browserStorageMock .Setup(x => x.GetItemAsync(DeviceStorageObjectType.UserSession)) - .ReturnsAsync((DeviceStorageObjectType objectType) => + .ReturnsAsync((DeviceStorageObjectType _) => new UserSession("foo", true, UserSession.LATEST_SCHEMA)); - var sut = new BrowserUserSessionRepository(_browserStorageMock.Object); + BrowserUserSessionRepository sut = new BrowserUserSessionRepository(_browserStorageMock.Object); - var fetchedSession = await sut.GetUserSessionAsync(); + Maybe fetchedSession = await sut.GetUserSessionAsync(); fetchedSession.IfNone(Assert.Fail); fetchedSession.IfSome(x => { - Assert.AreEqual("foo", x.Username); - Assert.IsTrue(x.RememberUser); + Assert.That(x.Username, Is.EqualTo("foo")); + Assert.That(x.RememberUser, Is.True); }); _browserStorageMock.Verify(x => x.GetItemAsync(DeviceStorageObjectType.UserSession), Times.Once); @@ -115,12 +113,12 @@ public async Task Repository_Gets_None_User_Session() { _browserStorageMock .Setup(x => x.GetItemAsync(DeviceStorageObjectType.UserSession)) - .ReturnsAsync((DeviceStorageObjectType objectType) => Maybe.None); + .ReturnsAsync((DeviceStorageObjectType _) => Maybe.None); - var sut = new BrowserUserSessionRepository(_browserStorageMock.Object); + BrowserUserSessionRepository sut = new BrowserUserSessionRepository(_browserStorageMock.Object); - var fetchedSession = await sut.GetUserSessionAsync(); - Assert.IsTrue(fetchedSession.IsNone); + Maybe fetchedSession = await sut.GetUserSessionAsync(); + Assert.That(fetchedSession.IsNone, Is.True); _browserStorageMock.Verify(x => x.GetItemAsync(DeviceStorageObjectType.UserSession), Times.Once); } diff --git a/Crypter.Web/Crypter.Web.csproj b/Crypter.Web/Crypter.Web.csproj index 242dd007f..4b5b78e52 100644 --- a/Crypter.Web/Crypter.Web.csproj +++ b/Crypter.Web/Crypter.Web.csproj @@ -1,7 +1,7 @@  - net7.0 + net8.0 disable disable @@ -12,13 +12,15 @@ 134217728 + + 12 - - - + + + diff --git a/Crypter.Web/Dockerfile b/Crypter.Web/Dockerfile index 9d5d222fd..48b716cf4 100644 --- a/Crypter.Web/Dockerfile +++ b/Crypter.Web/Dockerfile @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build WORKDIR /source/ RUN dotnet tool install --global dotnet-references From ffc2f238a4cf3772e5da3dfbe9f91f9f31a56e37 Mon Sep 17 00:00:00 2001 From: Jack-Edwards Date: Mon, 8 Jan 2024 22:29:56 -0600 Subject: [PATCH 2/6] Update to Caddy 2.7 --- Crypter.Web/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Crypter.Web/Dockerfile b/Crypter.Web/Dockerfile index 48b716cf4..9b5d57017 100644 --- a/Crypter.Web/Dockerfile +++ b/Crypter.Web/Dockerfile @@ -13,7 +13,7 @@ RUN dotnet restore Crypter.Web COPY ./ ./ RUN dotnet publish Crypter.Web --no-restore --configuration release /p:TreatWarningsAsErrors=true /warnaserror --output /app/ -FROM caddy:2.6-alpine AS webhost +FROM caddy:2.7-alpine AS webhost COPY Crypter.Web/Caddyfile /etc/caddy/Caddyfile COPY --from=build /app/wwwroot/ /srv/ EXPOSE 80 From ddf5513d9916990dea2d2f8bb1ff5d5683a57527 Mon Sep 17 00:00:00 2001 From: Jack-Edwards Date: Mon, 8 Jan 2024 22:35:10 -0600 Subject: [PATCH 3/6] Update more spots to use .NET 8.0 --- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/unit-test.yml | 2 +- Crypter.API/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 38f0d5ee4..af026b301 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -40,7 +40,7 @@ jobs: - name: Setup .NET uses: actions/setup-dotnet@v3 with: - dotnet-version: 7.0.x + dotnet-version: 8.0.x - name: Install wasm-tools run: dotnet workload install wasm-tools diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml index 76b2a997a..58f3c1669 100644 --- a/.github/workflows/unit-test.yml +++ b/.github/workflows/unit-test.yml @@ -14,7 +14,7 @@ jobs: - name: Setup .NET uses: actions/setup-dotnet@v3 with: - dotnet-version: 7.0.x + dotnet-version: 8.0.x - name: Install wasm-tools run: dotnet workload install wasm-tools diff --git a/Crypter.API/Dockerfile b/Crypter.API/Dockerfile index ecae47b43..ed4bc3979 100644 --- a/Crypter.API/Dockerfile +++ b/Crypter.API/Dockerfile @@ -2,7 +2,7 @@ FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build WORKDIR /source/ RUN dotnet tool install --global dotnet-references -RUN dotnet tool install --global dotnet-ef --version 7.0.* +RUN dotnet tool install --global dotnet-ef --version 8.0.* ENV PATH="${PATH}:/root/.dotnet/tools" COPY ../*.sln ./ From 36357bb7acfb76d22cac9105fe892e3760c6b8ff Mon Sep 17 00:00:00 2001 From: Jack-Edwards Date: Sat, 13 Jan 2024 14:44:25 -0600 Subject: [PATCH 4/6] Update NuGet packages to latest --- Crypter.API/Crypter.API.csproj | 6 +++--- Crypter.Common/Crypter.Common.csproj | 2 +- Crypter.Core/Crypter.Core.csproj | 4 ++-- Crypter.DataAccess/Crypter.DataAccess.csproj | 4 ++-- Crypter.Test/Crypter.Test.csproj | 8 ++++---- Crypter.Web/Crypter.Web.csproj | 4 ++-- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Crypter.API/Crypter.API.csproj b/Crypter.API/Crypter.API.csproj index e1e257730..97c949bc8 100644 --- a/Crypter.API/Crypter.API.csproj +++ b/Crypter.API/Crypter.API.csproj @@ -18,15 +18,15 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/Crypter.Common/Crypter.Common.csproj b/Crypter.Common/Crypter.Common.csproj index 64679a1b5..ec477ddec 100644 --- a/Crypter.Common/Crypter.Common.csproj +++ b/Crypter.Common/Crypter.Common.csproj @@ -7,7 +7,7 @@ - + diff --git a/Crypter.Core/Crypter.Core.csproj b/Crypter.Core/Crypter.Core.csproj index 71afaf348..698770ea1 100644 --- a/Crypter.Core/Crypter.Core.csproj +++ b/Crypter.Core/Crypter.Core.csproj @@ -15,10 +15,10 @@ - + - + diff --git a/Crypter.DataAccess/Crypter.DataAccess.csproj b/Crypter.DataAccess/Crypter.DataAccess.csproj index 8f6e56e72..7eac1b2cd 100644 --- a/Crypter.DataAccess/Crypter.DataAccess.csproj +++ b/Crypter.DataAccess/Crypter.DataAccess.csproj @@ -8,8 +8,8 @@ - - + + diff --git a/Crypter.Test/Crypter.Test.csproj b/Crypter.Test/Crypter.Test.csproj index 463ae11ae..6167fa6ed 100644 --- a/Crypter.Test/Crypter.Test.csproj +++ b/Crypter.Test/Crypter.Test.csproj @@ -8,15 +8,15 @@ - + - - + + - + diff --git a/Crypter.Web/Crypter.Web.csproj b/Crypter.Web/Crypter.Web.csproj index 4b5b78e52..4cf2eacdd 100644 --- a/Crypter.Web/Crypter.Web.csproj +++ b/Crypter.Web/Crypter.Web.csproj @@ -18,8 +18,8 @@ - - + + From 4d2e3c9d42b2773123059f1de53b1788b8a83662 Mon Sep 17 00:00:00 2001 From: Jack-Edwards Date: Sat, 13 Jan 2024 14:44:39 -0600 Subject: [PATCH 5/6] Ditch "dotnet-references" in Dockerfiles --- Crypter.API/Dockerfile | 17 +++++++++++++---- Crypter.Web/Dockerfile | 19 ++++++++++++------- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/Crypter.API/Dockerfile b/Crypter.API/Dockerfile index ed4bc3979..2ecb09e67 100644 --- a/Crypter.API/Dockerfile +++ b/Crypter.API/Dockerfile @@ -1,17 +1,26 @@ FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build WORKDIR /source/ -RUN dotnet tool install --global dotnet-references RUN dotnet tool install --global dotnet-ef --version 8.0.* ENV PATH="${PATH}:/root/.dotnet/tools" COPY ../*.sln ./ -COPY ../*/*.csproj ./ +COPY ../Crypter.API/*.csproj ./Crypter.API/ +COPY ../Crypter.Common/*.csproj ./Crypter.Common/ +COPY ../Crypter.Core/*.csproj ./Crypter.Core/ +COPY ../Crypter.Crypto.Common/*.csproj ./Crypter.Crypto.Common/ +COPY ../Crypter.Crypto.Providers.Default/*.csproj ./Crypter.Crypto.Providers.Default/ +COPY ../Crypter.DataAccess/*.csproj ./Crypter.DataAccess/ -RUN dotnet-references fix --entry-point ./Crypter.sln --working-directory ./ --remove-unreferenced-project-files RUN dotnet restore Crypter.API --runtime linux-x64 -COPY ./ ./ +COPY Crypter.API/. ./Crypter.API/ +COPY Crypter.Common/. ./Crypter.Common/ +COPY Crypter.Core/. ./Crypter.Core/ +COPY Crypter.Crypto.Common/. ./Crypter.Crypto.Common/ +COPY Crypter.Crypto.Providers.Default/. ./Crypter.Crypto.Providers.Default/ +COPY Crypter.DataAccess/. ./Crypter.DataAccess/ + RUN dotnet publish Crypter.API --configuration release --no-self-contained /p:TreatWarningsAsErrors=true /warnaserror --output /app/ RUN dotnet-ef migrations bundle --project Crypter.DataAccess --startup-project Crypter.API --configuration release --no-build --target-runtime linux-x64 --output /app/efbundle --verbose diff --git a/Crypter.Web/Dockerfile b/Crypter.Web/Dockerfile index 9b5d57017..b54a02845 100644 --- a/Crypter.Web/Dockerfile +++ b/Crypter.Web/Dockerfile @@ -1,16 +1,21 @@ FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build WORKDIR /source/ -RUN dotnet tool install --global dotnet-references -ENV PATH="${PATH}:/root/.dotnet/tools" +COPY ../*.sln . +COPY ../Crypter.Common/*.csproj ./Crypter.Common/ +COPY ../Crypter.Common.Client/*.csproj ./Crypter.Common.Client/ +COPY ../Crypter.Crypto.Common/*.csproj ./Crypter.Crypto.Common/ +COPY ../Crypter.Crypto.Providers.Browser/*.csproj ./Crypter.Crypto.Providers.Browser/ +COPY ../Crypter.Web/*.csproj ./Crypter.Web/ -COPY ../*.sln ./ -COPY ../*/*.csproj ./ - -RUN dotnet-references fix --entry-point ./Crypter.sln --working-directory ./ --remove-unreferenced-project-files RUN dotnet restore Crypter.Web -COPY ./ ./ +COPY Crypter.Common/. ./Crypter.Common/ +COPY Crypter.Common.Client/. ./Crypter.Common.Client/ +COPY Crypter.Crypto.Common/. ./Crypter.Crypto.Common/ +COPY Crypter.Crypto.Providers.Browser/. ./Crypter.Crypto.Providers.Browser/ +COPY Crypter.Web/. ./Crypter.Web/ + RUN dotnet publish Crypter.Web --no-restore --configuration release /p:TreatWarningsAsErrors=true /warnaserror --output /app/ FROM caddy:2.7-alpine AS webhost From c369ef8c9c1321c596e2aacc3c74e28033bcf31b Mon Sep 17 00:00:00 2001 From: Jack-Edwards Date: Sat, 13 Jan 2024 15:02:31 -0600 Subject: [PATCH 6/6] Use correct assertion in updated unit test --- .../Services_Tests/PasswordHashService_Tests.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Crypter.Test/Core_Tests/Services_Tests/PasswordHashService_Tests.cs b/Crypter.Test/Core_Tests/Services_Tests/PasswordHashService_Tests.cs index 2b0b515c9..4c288ee66 100644 --- a/Crypter.Test/Core_Tests/Services_Tests/PasswordHashService_Tests.cs +++ b/Crypter.Test/Core_Tests/Services_Tests/PasswordHashService_Tests.cs @@ -149,14 +149,14 @@ public void Hash_Verification_Fails_With_Different_Iterations() public void Hash_Verification_Is_Stable() { byte[] password = "foo"u8.ToArray(); - byte[] salt = new byte[] - { + byte[] salt = + [ 0xa1, 0xb8, 0x4d, 0x9b, 0x83, 0xf6, 0xb3, 0x46, 0xa1, 0x85, 0x2a, 0xc6, 0xee, 0x28, 0x77, 0xe8 - }; + ]; - byte[] hash = new byte[] - { + byte[] hash = + [ 0x6b, 0x8a, 0x8f, 0x2e, 0x8d, 0xa5, 0x50, 0x4e, 0x86, 0xca, 0x8e, 0x62, 0x23, 0x47, 0x15, 0xb0, 0x36, 0xdb, 0x34, 0xc1, 0xa7, 0x93, 0x1d, 0x47, @@ -165,9 +165,9 @@ public void Hash_Verification_Is_Stable() 0xf7, 0x52, 0xc5, 0xf4, 0x37, 0x5d, 0x34, 0x19, 0x52, 0x7a, 0xf3, 0x2c, 0xe2, 0x52, 0x47, 0x06, 0x90, 0xe8, 0x6b, 0x19, 0x70, 0x27, 0xa5, 0xc6 - }; + ]; bool hashesMatch = _sut.VerifySecurePasswordHash(password, hash, salt, 2); - Assert.That(hashesMatch, Is.False); + Assert.That(hashesMatch, Is.True); } }