From d68e15d3f753a407f0cd1ed169b1180f674358b6 Mon Sep 17 00:00:00 2001
From: Bart Koelman <10324372+bkoelman@users.noreply.github.com>
Date: Thu, 23 Nov 2023 04:52:02 +0100
Subject: [PATCH 01/45] Increment version to 5.5.1 (used for pre-release builds
from ci)
---
Directory.Build.props | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Directory.Build.props b/Directory.Build.props
index dbaf920..d13bf29 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -27,6 +27,6 @@
false
$(MSBuildThisFileDirectory)CodingGuidelines.ruleset
$(MSBuildThisFileDirectory)tests.runsettings
- 5.5.0
+ 5.5.1
From 605c2e810f1732806e63ae5e2afca1608e539d1d Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 30 Nov 2023 02:01:22 +0000
Subject: [PATCH 02/45] Bump jetbrains.resharper.globaltools (#37)
---
.config/dotnet-tools.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index ad52741..4df279c 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"jetbrains.resharper.globaltools": {
- "version": "2023.3.0-eap08",
+ "version": "2023.3.0-rc01",
"commands": [
"jb"
]
@@ -21,4 +21,4 @@
]
}
}
-}
+}
\ No newline at end of file
From ed2e5df045b65c1e668ebce68b355b33089f8e13 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 7 Dec 2023 02:51:35 +0000
Subject: [PATCH 03/45] Bump jetbrains.resharper.globaltools from 2023.3.0-rc01
to 2023.3.0 (#39)
---
.config/dotnet-tools.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index 4df279c..81fbd25 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"jetbrains.resharper.globaltools": {
- "version": "2023.3.0-rc01",
+ "version": "2023.3.0",
"commands": [
"jb"
]
@@ -21,4 +21,4 @@
]
}
}
-}
\ No newline at end of file
+}
From 4ec3b3b38d56331f6c3dac3e86adbbd9012c2159 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 8 Dec 2023 13:22:43 +0000
Subject: [PATCH 04/45] Bump actions/setup-dotnet from 3 to 4 (#38)
---
.github/workflows/build.yml | 6 +++---
.github/workflows/codeql.yml | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 881e2ed..58d1e5d 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -36,7 +36,7 @@ jobs:
contents: read
steps:
- name: Setup .NET
- uses: actions/setup-dotnet@v3
+ uses: actions/setup-dotnet@v4
with:
dotnet-version: |
6.0.x
@@ -149,7 +149,7 @@ jobs:
contents: read
steps:
- name: Setup .NET
- uses: actions/setup-dotnet@v3
+ uses: actions/setup-dotnet@v4
with:
dotnet-version: |
6.0.x
@@ -202,7 +202,7 @@ jobs:
contents: read
steps:
- name: Setup .NET
- uses: actions/setup-dotnet@v3
+ uses: actions/setup-dotnet@v4
with:
dotnet-version: |
6.0.x
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index 5b1868e..9a58eeb 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -24,7 +24,7 @@ jobs:
language: [ 'csharp' ]
steps:
- name: Setup .NET
- uses: actions/setup-dotnet@v3
+ uses: actions/setup-dotnet@v4
with:
dotnet-version: |
6.0.x
From 0b0b95b5e75e5346ebfb2220b1ef25cd92bbe02f Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 14 Dec 2023 09:25:01 +0000
Subject: [PATCH 05/45] Bump jetbrains.resharper.globaltools from 2023.3.0 to
2023.3.1 (#40)
---
.config/dotnet-tools.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index 81fbd25..e805276 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"jetbrains.resharper.globaltools": {
- "version": "2023.3.0",
+ "version": "2023.3.1",
"commands": [
"jb"
]
@@ -21,4 +21,4 @@
]
}
}
-}
+}
\ No newline at end of file
From 05f097bb4c0d6720354b2a7158b9f31cdb6ac162 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 21 Dec 2023 21:24:21 +0100
Subject: [PATCH 06/45] Bump github/codeql-action from 2 to 3 (#43)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/codeql.yml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index 9a58eeb..eb03757 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -32,12 +32,12 @@ jobs:
- name: Git checkout
uses: actions/checkout@v4
- name: Initialize CodeQL
- uses: github/codeql-action/init@v2
+ uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
- name: Autobuild
- uses: github/codeql-action/autobuild@v2
+ uses: github/codeql-action/autobuild@v3
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@v2
+ uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"
From a15dd01d55860bb4be4ad8918aa970d0851fef45 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 22 Dec 2023 02:12:27 +0100
Subject: [PATCH 07/45] Bump actions/download-artifact from 3 to 4 (#41)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v3...v4)
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/build.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 58d1e5d..28a547b 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -245,7 +245,7 @@ jobs:
contents: write
steps:
- name: Download artifacts
- uses: actions/download-artifact@v3
+ uses: actions/download-artifact@v4
- name: Publish to GitHub Packages
if: github.event_name == 'push' || github.event_name == 'release'
env:
From 69485e422defcc4409b995c392ad2f727515e298 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 22 Dec 2023 02:12:58 +0100
Subject: [PATCH 08/45] Bump actions/upload-artifact from 3 to 4 (#42)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
.github/workflows/build.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 28a547b..87979b1 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -133,7 +133,7 @@ jobs:
dotnet pack --no-build --configuration Release --output $env:GITHUB_WORKSPACE/artifacts/packages /p:VersionSuffix=$env:PACKAGE_VERSION_SUFFIX
- name: Upload packages to artifacts
if: matrix.os == 'ubuntu-latest'
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: packages
path: artifacts/packages
From b0fff30fe874001845a57af206d2a8aa1f4118e1 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 20 Dec 2023 16:44:16 +0000
Subject: [PATCH 09/45] Bump jetbrains.resharper.globaltools from 2023.3.1 to
2023.3.2
Bumps jetbrains.resharper.globaltools from 2023.3.1 to 2023.3.2.
---
updated-dependencies:
- dependency-name: jetbrains.resharper.globaltools
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
---
.config/dotnet-tools.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index e805276..e1a5fb8 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"jetbrains.resharper.globaltools": {
- "version": "2023.3.1",
+ "version": "2023.3.2",
"commands": [
"jb"
]
From b6d98667879579b09e8c879946879418b9056c8a Mon Sep 17 00:00:00 2001
From: Bart Koelman <10324372+bkoelman@users.noreply.github.com>
Date: Thu, 21 Dec 2023 21:27:17 +0100
Subject: [PATCH 10/45] Resharper: Fix new warning about usage of collection
expressions
---
.../BaseForAtomicOperationsTestsThatChangeOptions.cs | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/BaseForAtomicOperationsTestsThatChangeOptions.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/BaseForAtomicOperationsTestsThatChangeOptions.cs
index 44397df..6f60018 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/BaseForAtomicOperationsTestsThatChangeOptions.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/BaseForAtomicOperationsTestsThatChangeOptions.cs
@@ -48,10 +48,7 @@ private static void CopyPropertyValues(JsonApiOptions source, JsonApiOptions des
{
foreach (PropertyInfo property in PropertyCache)
{
- property.SetMethod!.Invoke(destination, new[]
- {
- property.GetMethod!.Invoke(source, null)
- });
+ property.SetMethod!.Invoke(destination, [property.GetMethod!.Invoke(source, null)]);
}
}
}
From 9eb8929308b0765b95fa40eaf4fca6d8d857f401 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 23 Jan 2024 23:37:45 +0000
Subject: [PATCH 11/45] Bump actions/dependency-review-action from 3 to 4 (#45)
---
.github/workflows/deps-review.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/deps-review.yml b/.github/workflows/deps-review.yml
index b994508..b9d6d20 100644
--- a/.github/workflows/deps-review.yml
+++ b/.github/workflows/deps-review.yml
@@ -11,4 +11,4 @@ jobs:
- name: 'Checkout Repository'
uses: actions/checkout@v4
- name: 'Dependency Review'
- uses: actions/dependency-review-action@v3
+ uses: actions/dependency-review-action@v4
From 5d16e49d44cc05c86221565a6229c66b45e92439 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 24 Jan 2024 00:21:00 +0000
Subject: [PATCH 12/45] Bump jetbrains.resharper.globaltools from 2023.3.2 to
2023.3.3 (#46)
---
.config/dotnet-tools.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index e1a5fb8..4dbc193 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"jetbrains.resharper.globaltools": {
- "version": "2023.3.2",
+ "version": "2023.3.3",
"commands": [
"jb"
]
From 2397e8f6900f231a0ab7c1d859a5ffebda356463 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 6 Feb 2024 23:55:03 +0000
Subject: [PATCH 13/45] Bump dotnet-reportgenerator-globaltool from 5.2.0 to
5.2.1 (#48)
---
.config/dotnet-tools.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index 4dbc193..fe0a0d8 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -15,7 +15,7 @@
]
},
"dotnet-reportgenerator-globaltool": {
- "version": "5.2.0",
+ "version": "5.2.1",
"commands": [
"reportgenerator"
]
From 9027ffa6bfcbd6d1cadcc1374e0308e309189ca9 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 7 Feb 2024 00:23:10 +0000
Subject: [PATCH 14/45] Bump codecov/codecov-action from 3 to 4 (#47)
---
.github/workflows/build.yml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 87979b1..c12ff81 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -123,7 +123,9 @@ jobs:
dotnet test --no-build --configuration Release --collect:"XPlat Code Coverage" --logger "GitHubActions;summary.includeSkippedTests=true"
- name: Upload coverage to codecov.io
if: matrix.os == 'ubuntu-latest'
- uses: codecov/codecov-action@v3
+ env:
+ CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
+ uses: codecov/codecov-action@v4
with:
fail_ci_if_error: true
verbose: true
From 220a2801a23acae226614326ebb0a0bc9ddeb181 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 28 Feb 2024 02:55:34 +0000
Subject: [PATCH 15/45] Bump dotnet-reportgenerator-globaltool from 5.2.1 to
5.2.2 (#49)
---
.config/dotnet-tools.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index fe0a0d8..a711e98 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -15,7 +15,7 @@
]
},
"dotnet-reportgenerator-globaltool": {
- "version": "5.2.1",
+ "version": "5.2.2",
"commands": [
"reportgenerator"
]
From 57ac32a5c3d26e0e53e4c57a9828f37fba7ab3a7 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 14 Mar 2024 02:28:27 +0000
Subject: [PATCH 16/45] Bump jetbrains.resharper.globaltools from 2023.3.3 to
2023.3.4 (#50)
---
.config/dotnet-tools.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index a711e98..8988987 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"jetbrains.resharper.globaltools": {
- "version": "2023.3.3",
+ "version": "2023.3.4",
"commands": [
"jb"
]
From bba7ae94b812ca001e3d2c7d405e995d6557d6a5 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 15 Mar 2024 16:31:08 +0000
Subject: [PATCH 17/45] Bump dotnet-reportgenerator-globaltool from 5.2.2 to
5.2.3 (#51)
---
.config/dotnet-tools.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index 8988987..c156243 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -15,7 +15,7 @@
]
},
"dotnet-reportgenerator-globaltool": {
- "version": "5.2.2",
+ "version": "5.2.3",
"commands": [
"reportgenerator"
]
From 0cc27d48d5f8c6b4623694180b03ea9e073e781d Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sat, 23 Mar 2024 15:50:01 +0000
Subject: [PATCH 18/45] Bump dotnet-reportgenerator-globaltool from 5.2.3 to
5.2.4 (#52)
---
.config/dotnet-tools.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index c156243..01c1359 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -15,7 +15,7 @@
]
},
"dotnet-reportgenerator-globaltool": {
- "version": "5.2.3",
+ "version": "5.2.4",
"commands": [
"reportgenerator"
]
From 25a998fcf86f714fced50a275822529e3a8f75a5 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sat, 13 Apr 2024 13:31:46 +0000
Subject: [PATCH 19/45] Bump jetbrains.resharper.globaltools from 2023.3.4 to
2024.1.0 (#53)
---
.config/dotnet-tools.json | 2 +-
.github/workflows/build.yml | 10 +++++++-
JsonApiDotNetCore.MongoDb.sln.DotSettings | 7 ++++++
inspectcode.ps1 | 2 +-
.../Controllers/OperationsController.cs | 11 +++------
.../Definitions/TodoItemDefinition.cs | 23 ++++++++-----------
...ComparisonInFilterNotSupportedException.cs | 12 +++-------
.../UnsupportedRelationshipException.cs | 12 +++-------
.../Creating/AtomicCreateResourceTests.cs | 9 ++------
...eateResourceWithToManyRelationshipTests.cs | 9 ++------
...reateResourceWithToOneRelationshipTests.cs | 9 ++------
.../Deleting/AtomicDeleteResourceTests.cs | 9 ++------
...mplicitlyChangingTextLanguageDefinition.cs | 12 ++++------
.../LocalIds/AtomicLocalIdTests.cs | 9 ++------
.../Meta/MusicTrackMetaDefinition.cs | 8 ++-----
.../Meta/TextLanguageMetaDefinition.cs | 8 ++-----
.../Mixed/MaximumOperationsPerRequestTests.cs | 10 ++------
.../AtomicOperations/OperationsController.cs | 11 +++------
.../AtomicOperations/OperationsDbContext.cs | 7 +-----
.../Transactions/MusicTrackRepository.cs | 13 ++++-------
.../AtomicAddToToManyRelationshipTests.cs | 9 ++------
...AtomicRemoveFromToManyRelationshipTests.cs | 9 ++------
.../AtomicReplaceToManyRelationshipTests.cs | 9 ++------
.../AtomicUpdateToOneRelationshipTests.cs | 9 ++------
.../AtomicReplaceToManyRelationshipTests.cs | 9 ++------
.../Resources/AtomicUpdateResourceTests.cs | 9 ++------
.../AtomicUpdateToOneRelationshipTests.cs | 9 ++------
.../HitCountingResourceDefinition.cs | 11 +++------
.../IntegrationTests/Meta/MetaDbContext.cs | 7 +-----
.../Meta/SupportTicketDefinition.cs | 8 ++-----
.../QueryStrings/Filtering/FilterDbContext.cs | 7 +-----
.../QueryStrings/QueryStringDbContext.cs | 7 +-----
.../ResultCapturingRepository.cs | 16 +++++--------
.../ImplicitlyChangingWorkItemDefinition.cs | 11 +++------
...plicitlyChangingWorkItemGroupDefinition.cs | 11 +++------
.../ReadWrite/ReadWriteDbContext.cs | 7 +-----
.../Reading/MoonDefinition.cs | 10 ++------
.../Reading/PlanetDefinition.cs | 14 +++--------
.../Reading/StarDefinition.cs | 10 ++------
.../Reading/UniverseDbContext.cs | 7 +-----
test/TestBuildingBlocks/MongoDbContextShim.cs | 9 ++------
.../TestBuildingBlocks/MongoRunnerProvider.cs | 12 +++-------
42 files changed, 114 insertions(+), 289 deletions(-)
diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index 01c1359..caa9982 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"jetbrains.resharper.globaltools": {
- "version": "2023.3.4",
+ "version": "2024.1.0",
"commands": [
"jb"
]
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index c12ff81..e10312d 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -35,6 +35,8 @@ jobs:
permissions:
contents: read
steps:
+ - name: Tune GitHub-hosted runner network
+ uses: smorimoto/tune-github-hosted-runner-network@v1
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
@@ -150,6 +152,8 @@ jobs:
permissions:
contents: read
steps:
+ - name: Tune GitHub-hosted runner network
+ uses: smorimoto/tune-github-hosted-runner-network@v1
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
@@ -166,7 +170,7 @@ jobs:
run: |
$inspectCodeOutputPath = Join-Path $env:RUNNER_TEMP 'jetbrains-inspectcode-results.xml'
Write-Output "INSPECT_CODE_OUTPUT_PATH=$inspectCodeOutputPath" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- dotnet jb inspectcode JsonApiDotNetCore.MongoDb.sln --build --dotnetcoresdk=$(dotnet --version) --output="$inspectCodeOutputPath" --profile=WarningSeverities.DotSettings --properties:Configuration=Release --properties:ContinuousIntegrationBuild=false --severity=WARNING --verbosity=WARN -dsl=GlobalAll -dsl=GlobalPerProduct -dsl=SolutionPersonal -dsl=ProjectPersonal
+ dotnet jb inspectcode JsonApiDotNetCore.MongoDb.sln --build --dotnetcoresdk=$(dotnet --version) --output="$inspectCodeOutputPath" --format="xml" --profile=WarningSeverities.DotSettings --properties:Configuration=Release --properties:ContinuousIntegrationBuild=false --properties:RunAnalyzers=false --severity=WARNING --verbosity=WARN -dsl=GlobalAll -dsl=GlobalPerProduct -dsl=SolutionPersonal -dsl=ProjectPersonal
- name: Verify outcome
shell: pwsh
run: |
@@ -203,6 +207,8 @@ jobs:
permissions:
contents: read
steps:
+ - name: Tune GitHub-hosted runner network
+ uses: smorimoto/tune-github-hosted-runner-network@v1
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
@@ -246,6 +252,8 @@ jobs:
packages: write
contents: write
steps:
+ - name: Tune GitHub-hosted runner network
+ uses: smorimoto/tune-github-hosted-runner-network@v1
- name: Download artifacts
uses: actions/download-artifact@v4
- name: Publish to GitHub Packages
diff --git a/JsonApiDotNetCore.MongoDb.sln.DotSettings b/JsonApiDotNetCore.MongoDb.sln.DotSettings
index d7699ea..2cd13da 100644
--- a/JsonApiDotNetCore.MongoDb.sln.DotSettings
+++ b/JsonApiDotNetCore.MongoDb.sln.DotSettings
@@ -54,10 +54,12 @@ JsonApiDotNetCore.MongoDb.ArgumentGuard.NotNull($EXPR$);
WARNING
WARNING
WARNING
+ DO_NOT_SHOW
WARNING
SUGGESTION
HINT
WARNING
+ SUGGESTION
DO_NOT_SHOW
HINT
SUGGESTION
@@ -95,6 +97,7 @@ JsonApiDotNetCore.MongoDb.ArgumentGuard.NotNull($EXPR$);
SUGGESTION
SUGGESTION
WARNING
+ True
SUGGESTION
<?xml version="1.0" encoding="utf-16"?><Profile name="JADNC Full Cleanup"><XMLReformatCode>True</XMLReformatCode><CSCodeStyleAttributes ArrangeTypeAccessModifier="True" ArrangeTypeMemberAccessModifier="True" SortModifiers="True" RemoveRedundantParentheses="True" AddMissingParentheses="True" ArrangeBraces="True" ArrangeAttributes="True" ArrangeArgumentsStyle="True" ArrangeCodeBodyStyle="True" ArrangeVarStyle="True" ArrangeTrailingCommas="True" ArrangeObjectCreation="True" ArrangeDefaultValue="True" ArrangeNamespaces="True" ArrangeNullCheckingPattern="True" /><CssAlphabetizeProperties>True</CssAlphabetizeProperties><JsInsertSemicolon>True</JsInsertSemicolon><FormatAttributeQuoteDescriptor>True</FormatAttributeQuoteDescriptor><CorrectVariableKindsDescriptor>True</CorrectVariableKindsDescriptor><VariablesToInnerScopesDescriptor>True</VariablesToInnerScopesDescriptor><StringToTemplatesDescriptor>True</StringToTemplatesDescriptor><JsReformatCode>True</JsReformatCode><JsFormatDocComments>True</JsFormatDocComments><RemoveRedundantQualifiersTs>True</RemoveRedundantQualifiersTs><OptimizeImportsTs>True</OptimizeImportsTs><OptimizeReferenceCommentsTs>True</OptimizeReferenceCommentsTs><PublicModifierStyleTs>True</PublicModifierStyleTs><ExplicitAnyTs>True</ExplicitAnyTs><TypeAnnotationStyleTs>True</TypeAnnotationStyleTs><RelativePathStyleTs>True</RelativePathStyleTs><AsInsteadOfCastTs>True</AsInsteadOfCastTs><HtmlReformatCode>True</HtmlReformatCode><AspOptimizeRegisterDirectives>True</AspOptimizeRegisterDirectives><RemoveCodeRedundancies>True</RemoveCodeRedundancies><CSUseAutoProperty>True</CSUseAutoProperty><CSMakeFieldReadonly>True</CSMakeFieldReadonly><CSMakeAutoPropertyGetOnly>True</CSMakeAutoPropertyGetOnly><CSArrangeQualifiers>True</CSArrangeQualifiers><CSFixBuiltinTypeReferences>True</CSFixBuiltinTypeReferences><CssReformatCode>True</CssReformatCode><CSOptimizeUsings><OptimizeUsings>True</OptimizeUsings></CSOptimizeUsings><CSShortenReferences>True</CSShortenReferences><CSReformatCode>True</CSReformatCode><CSharpFormatDocComments>True</CSharpFormatDocComments><CSReorderTypeMembers>True</CSReorderTypeMembers><XAMLCollapseEmptyTags>False</XAMLCollapseEmptyTags><CSReformatInactiveBranches>True</CSReformatInactiveBranches></Profile>
JADNC Full Cleanup
@@ -154,6 +157,7 @@ JsonApiDotNetCore.MongoDb.ArgumentGuard.NotNull($EXPR$);
WRAP_IF_LONG
CHOP_ALWAYS
CHOP_ALWAYS
+ WRAP_IF_LONG
True
True
2
@@ -586,11 +590,14 @@ JsonApiDotNetCore.MongoDb.ArgumentGuard.NotNull($EXPR$);
False
<Policy Inspect="True" Prefix="_" Suffix="" Style="aaBb" />
<Policy Inspect="True" Prefix="_" Suffix="" Style="aaBb" />
+ <Policy><Descriptor Staticness="Instance" AccessRightKinds="Private" Description="Instance fields (private)"><ElementKinds><Kind Name="FIELD" /><Kind Name="READONLY_FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="_" Suffix="" Style="aaBb" /></Policy>
+ <Policy><Descriptor Staticness="Static" AccessRightKinds="Private" Description="Static fields (private)"><ElementKinds><Kind Name="FIELD" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="_" Suffix="" Style="aaBb" /></Policy>
True
True
True
True
True
+ True
True
Replace argument null check using throw expression with Guard clause
True
diff --git a/inspectcode.ps1 b/inspectcode.ps1
index 13f0abb..25195fe 100644
--- a/inspectcode.ps1
+++ b/inspectcode.ps1
@@ -10,7 +10,7 @@ if ($LastExitCode -ne 0) {
$outputPath = [System.IO.Path]::Combine([System.IO.Path]::GetTempPath(), 'jetbrains-inspectcode-results.xml')
$resultPath = [System.IO.Path]::Combine([System.IO.Path]::GetTempPath(), 'jetbrains-inspectcode-results.html')
-dotnet jb inspectcode JsonApiDotNetCore.MongoDb.sln --dotnetcoresdk=$(dotnet --version) --build --output="$outputPath" --profile=WarningSeverities.DotSettings --properties:Configuration=Release --severity=WARNING --verbosity=WARN -dsl=GlobalAll -dsl=GlobalPerProduct -dsl=SolutionPersonal -dsl=ProjectPersonal
+dotnet jb inspectcode JsonApiDotNetCore.MongoDb.sln --dotnetcoresdk=$(dotnet --version) --build --output="$outputPath" --format="xml" --profile=WarningSeverities.DotSettings --properties:Configuration=Release --properties:RunAnalyzers=false --severity=WARNING --verbosity=WARN -dsl=GlobalAll -dsl=GlobalPerProduct -dsl=SolutionPersonal -dsl=ProjectPersonal
if ($LastExitCode -ne 0) {
throw "Code inspection failed with exit code $LastExitCode"
diff --git a/src/Examples/JsonApiDotNetCoreMongoDbExample/Controllers/OperationsController.cs b/src/Examples/JsonApiDotNetCoreMongoDbExample/Controllers/OperationsController.cs
index 8172459..82f602d 100644
--- a/src/Examples/JsonApiDotNetCoreMongoDbExample/Controllers/OperationsController.cs
+++ b/src/Examples/JsonApiDotNetCoreMongoDbExample/Controllers/OperationsController.cs
@@ -6,11 +6,6 @@
namespace JsonApiDotNetCoreMongoDbExample.Controllers;
-public sealed class OperationsController : JsonApiOperationsController
-{
- public OperationsController(IJsonApiOptions options, IResourceGraph resourceGraph, ILoggerFactory loggerFactory, IOperationsProcessor processor,
- IJsonApiRequest request, ITargetedFields targetedFields)
- : base(options, resourceGraph, loggerFactory, processor, request, targetedFields)
- {
- }
-}
+public sealed class OperationsController(
+ IJsonApiOptions options, IResourceGraph resourceGraph, ILoggerFactory loggerFactory, IOperationsProcessor processor, IJsonApiRequest request,
+ ITargetedFields targetedFields) : JsonApiOperationsController(options, resourceGraph, loggerFactory, processor, request, targetedFields);
diff --git a/src/Examples/JsonApiDotNetCoreMongoDbExample/Definitions/TodoItemDefinition.cs b/src/Examples/JsonApiDotNetCoreMongoDbExample/Definitions/TodoItemDefinition.cs
index 970a061..7910a8e 100644
--- a/src/Examples/JsonApiDotNetCoreMongoDbExample/Definitions/TodoItemDefinition.cs
+++ b/src/Examples/JsonApiDotNetCoreMongoDbExample/Definitions/TodoItemDefinition.cs
@@ -12,22 +12,19 @@
namespace JsonApiDotNetCoreMongoDbExample.Definitions;
[UsedImplicitly(ImplicitUseKindFlags.InstantiatedNoFixedConstructorSignature)]
-public sealed class TodoItemDefinition : JsonApiResourceDefinition
+public sealed class TodoItemDefinition(
+ IResourceGraph resourceGraph,
+#if NET6_0
+ ISystemClock systemClock
+#else
+ TimeProvider timeProvider
+#endif
+) : JsonApiResourceDefinition(resourceGraph)
{
- private readonly Func _getUtcNow;
-
#if NET6_0
- public TodoItemDefinition(IResourceGraph resourceGraph, ISystemClock systemClock)
- : base(resourceGraph)
- {
- _getUtcNow = () => systemClock.UtcNow;
- }
+ private readonly Func _getUtcNow = () => systemClock.UtcNow;
#else
- public TodoItemDefinition(IResourceGraph resourceGraph, TimeProvider timeProvider)
- : base(resourceGraph)
- {
- _getUtcNow = timeProvider.GetUtcNow;
- }
+ private readonly Func _getUtcNow = timeProvider.GetUtcNow;
#endif
public override SortExpression OnApplySort(SortExpression? existingSort)
diff --git a/src/JsonApiDotNetCore.MongoDb/Errors/AttributeComparisonInFilterNotSupportedException.cs b/src/JsonApiDotNetCore.MongoDb/Errors/AttributeComparisonInFilterNotSupportedException.cs
index 4b7508b..55c865a 100644
--- a/src/JsonApiDotNetCore.MongoDb/Errors/AttributeComparisonInFilterNotSupportedException.cs
+++ b/src/JsonApiDotNetCore.MongoDb/Errors/AttributeComparisonInFilterNotSupportedException.cs
@@ -10,13 +10,7 @@ namespace JsonApiDotNetCore.MongoDb.Errors;
/// https://jira.mongodb.org/browse/CSHARP-1592.
///
[PublicAPI]
-public sealed class AttributeComparisonInFilterNotSupportedException : JsonApiException
+public sealed class AttributeComparisonInFilterNotSupportedException() : JsonApiException(new ErrorObject(HttpStatusCode.BadRequest)
{
- public AttributeComparisonInFilterNotSupportedException()
- : base(new ErrorObject(HttpStatusCode.BadRequest)
- {
- Title = "Comparing attributes against each other is not supported when using MongoDB."
- })
- {
- }
-}
+ Title = "Comparing attributes against each other is not supported when using MongoDB."
+});
diff --git a/src/JsonApiDotNetCore.MongoDb/Errors/UnsupportedRelationshipException.cs b/src/JsonApiDotNetCore.MongoDb/Errors/UnsupportedRelationshipException.cs
index 2526e59..01852e5 100644
--- a/src/JsonApiDotNetCore.MongoDb/Errors/UnsupportedRelationshipException.cs
+++ b/src/JsonApiDotNetCore.MongoDb/Errors/UnsupportedRelationshipException.cs
@@ -9,13 +9,7 @@ namespace JsonApiDotNetCore.MongoDb.Errors;
/// The error that is thrown when the user attempts to fetch, create or update a relationship.
///
[PublicAPI]
-public sealed class UnsupportedRelationshipException : JsonApiException
+public sealed class UnsupportedRelationshipException() : JsonApiException(new ErrorObject(HttpStatusCode.BadRequest)
{
- public UnsupportedRelationshipException()
- : base(new ErrorObject(HttpStatusCode.BadRequest)
- {
- Title = "Relationships are not supported when using MongoDB."
- })
- {
- }
-}
+ Title = "Relationships are not supported when using MongoDB."
+});
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceTests.cs
index 4a7e660..0172c7a 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceTests.cs
@@ -8,16 +8,11 @@
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations.Creating;
[Collection("AtomicOperationsFixture")]
-public sealed class AtomicCreateResourceTests
+public sealed class AtomicCreateResourceTests(AtomicOperationsFixture fixture)
{
- private readonly IntegrationTestContext _testContext;
+ private readonly IntegrationTestContext _testContext = fixture.TestContext;
private readonly OperationsFakers _fakers = new();
- public AtomicCreateResourceTests(AtomicOperationsFixture fixture)
- {
- _testContext = fixture.TestContext;
- }
-
[Fact]
public async Task Can_create_resource()
{
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceWithToManyRelationshipTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceWithToManyRelationshipTests.cs
index ad022d4..7fa0e1c 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceWithToManyRelationshipTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceWithToManyRelationshipTests.cs
@@ -7,16 +7,11 @@
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations.Creating;
[Collection("AtomicOperationsFixture")]
-public sealed class AtomicCreateResourceWithToManyRelationshipTests
+public sealed class AtomicCreateResourceWithToManyRelationshipTests(AtomicOperationsFixture fixture)
{
- private readonly IntegrationTestContext _testContext;
+ private readonly IntegrationTestContext _testContext = fixture.TestContext;
private readonly OperationsFakers _fakers = new();
- public AtomicCreateResourceWithToManyRelationshipTests(AtomicOperationsFixture fixture)
- {
- _testContext = fixture.TestContext;
- }
-
[Fact]
public async Task Cannot_create_ToMany_relationship()
{
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceWithToOneRelationshipTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceWithToOneRelationshipTests.cs
index 209cdea..f33a634 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceWithToOneRelationshipTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceWithToOneRelationshipTests.cs
@@ -7,16 +7,11 @@
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations.Creating;
[Collection("AtomicOperationsFixture")]
-public sealed class AtomicCreateResourceWithToOneRelationshipTests
+public sealed class AtomicCreateResourceWithToOneRelationshipTests(AtomicOperationsFixture fixture)
{
- private readonly IntegrationTestContext _testContext;
+ private readonly IntegrationTestContext _testContext = fixture.TestContext;
private readonly OperationsFakers _fakers = new();
- public AtomicCreateResourceWithToOneRelationshipTests(AtomicOperationsFixture fixture)
- {
- _testContext = fixture.TestContext;
- }
-
[Fact]
public async Task Cannot_create_ToOne_relationship()
{
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Deleting/AtomicDeleteResourceTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Deleting/AtomicDeleteResourceTests.cs
index 14f62fb..9e401bd 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Deleting/AtomicDeleteResourceTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Deleting/AtomicDeleteResourceTests.cs
@@ -7,16 +7,11 @@
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations.Deleting;
[Collection("AtomicOperationsFixture")]
-public sealed class AtomicDeleteResourceTests
+public sealed class AtomicDeleteResourceTests(AtomicOperationsFixture fixture)
{
- private readonly IntegrationTestContext _testContext;
+ private readonly IntegrationTestContext _testContext = fixture.TestContext;
private readonly OperationsFakers _fakers = new();
- public AtomicDeleteResourceTests(AtomicOperationsFixture fixture)
- {
- _testContext = fixture.TestContext;
- }
-
[Fact]
public async Task Can_delete_existing_resource()
{
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/ImplicitlyChangingTextLanguageDefinition.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/ImplicitlyChangingTextLanguageDefinition.cs
index 946bc14..822cfd4 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/ImplicitlyChangingTextLanguageDefinition.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/ImplicitlyChangingTextLanguageDefinition.cs
@@ -10,17 +10,13 @@ namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations;
/// Used to simulate side effects that occur in the database while saving, typically caused by database triggers.
///
[UsedImplicitly(ImplicitUseKindFlags.InstantiatedNoFixedConstructorSignature)]
-public abstract class ImplicitlyChangingTextLanguageDefinition : HitCountingResourceDefinition
+public abstract class ImplicitlyChangingTextLanguageDefinition(
+ IResourceGraph resourceGraph, ResourceDefinitionHitCounter hitCounter, IMongoDataAccess mongoDataAccess)
+ : HitCountingResourceDefinition(resourceGraph, hitCounter)
{
internal const string Suffix = " (changed)";
- private readonly IMongoDataAccess _mongoDataAccess;
-
- protected ImplicitlyChangingTextLanguageDefinition(IResourceGraph resourceGraph, ResourceDefinitionHitCounter hitCounter, IMongoDataAccess mongoDataAccess)
- : base(resourceGraph, hitCounter)
- {
- _mongoDataAccess = mongoDataAccess;
- }
+ private readonly IMongoDataAccess _mongoDataAccess = mongoDataAccess;
public override async Task OnWriteSucceededAsync(TextLanguage resource, WriteOperationKind writeOperation, CancellationToken cancellationToken)
{
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/LocalIds/AtomicLocalIdTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/LocalIds/AtomicLocalIdTests.cs
index b9a2080..54680ba 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/LocalIds/AtomicLocalIdTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/LocalIds/AtomicLocalIdTests.cs
@@ -7,16 +7,11 @@
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations.LocalIds;
[Collection("AtomicOperationsFixture")]
-public sealed class AtomicLocalIdTests
+public sealed class AtomicLocalIdTests(AtomicOperationsFixture fixture)
{
- private readonly IntegrationTestContext _testContext;
+ private readonly IntegrationTestContext _testContext = fixture.TestContext;
private readonly OperationsFakers _fakers = new();
- public AtomicLocalIdTests(AtomicOperationsFixture fixture)
- {
- _testContext = fixture.TestContext;
- }
-
[Fact]
public async Task Can_update_resource_using_local_ID()
{
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Meta/MusicTrackMetaDefinition.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Meta/MusicTrackMetaDefinition.cs
index 479898d..93cf7d2 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Meta/MusicTrackMetaDefinition.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Meta/MusicTrackMetaDefinition.cs
@@ -4,15 +4,11 @@
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations.Meta;
[UsedImplicitly(ImplicitUseKindFlags.InstantiatedNoFixedConstructorSignature)]
-public sealed class MusicTrackMetaDefinition : HitCountingResourceDefinition
+public sealed class MusicTrackMetaDefinition(IResourceGraph resourceGraph, ResourceDefinitionHitCounter hitCounter)
+ : HitCountingResourceDefinition(resourceGraph, hitCounter)
{
protected override ResourceDefinitionExtensibilityPoints ExtensibilityPointsToTrack => ResourceDefinitionExtensibilityPoints.GetMeta;
- public MusicTrackMetaDefinition(IResourceGraph resourceGraph, ResourceDefinitionHitCounter hitCounter)
- : base(resourceGraph, hitCounter)
- {
- }
-
public override IDictionary GetMeta(MusicTrack resource)
{
base.GetMeta(resource);
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Meta/TextLanguageMetaDefinition.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Meta/TextLanguageMetaDefinition.cs
index bf1bd66..2d440be 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Meta/TextLanguageMetaDefinition.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Meta/TextLanguageMetaDefinition.cs
@@ -5,17 +5,13 @@
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations.Meta;
[UsedImplicitly(ImplicitUseKindFlags.InstantiatedNoFixedConstructorSignature)]
-public sealed class TextLanguageMetaDefinition : ImplicitlyChangingTextLanguageDefinition
+public sealed class TextLanguageMetaDefinition(IResourceGraph resourceGraph, ResourceDefinitionHitCounter hitCounter, IMongoDataAccess mongoDataAccess)
+ : ImplicitlyChangingTextLanguageDefinition(resourceGraph, hitCounter, mongoDataAccess)
{
internal const string NoticeText = "See https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes for ISO 639-1 language codes.";
protected override ResourceDefinitionExtensibilityPoints ExtensibilityPointsToTrack => ResourceDefinitionExtensibilityPoints.GetMeta;
- public TextLanguageMetaDefinition(IResourceGraph resourceGraph, ResourceDefinitionHitCounter hitCounter, IMongoDataAccess mongoDataAccess)
- : base(resourceGraph, hitCounter, mongoDataAccess)
- {
- }
-
public override IDictionary GetMeta(TextLanguage resource)
{
base.GetMeta(resource);
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Mixed/MaximumOperationsPerRequestTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Mixed/MaximumOperationsPerRequestTests.cs
index b3f8d35..ba4bf6a 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Mixed/MaximumOperationsPerRequestTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Mixed/MaximumOperationsPerRequestTests.cs
@@ -8,15 +8,9 @@
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations.Mixed;
[Collection("AtomicOperationsFixture")]
-public sealed class MaximumOperationsPerRequestTests : BaseForAtomicOperationsTestsThatChangeOptions
+public sealed class MaximumOperationsPerRequestTests(AtomicOperationsFixture fixture) : BaseForAtomicOperationsTestsThatChangeOptions(fixture)
{
- private readonly IntegrationTestContext _testContext;
-
- public MaximumOperationsPerRequestTests(AtomicOperationsFixture fixture)
- : base(fixture)
- {
- _testContext = fixture.TestContext;
- }
+ private readonly IntegrationTestContext _testContext = fixture.TestContext;
[Fact]
public async Task Can_process_high_number_of_operations_when_unconstrained()
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/OperationsController.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/OperationsController.cs
index f82e32d..c7ce7f9 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/OperationsController.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/OperationsController.cs
@@ -7,11 +7,6 @@
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations;
-public sealed class OperationsController : JsonApiOperationsController
-{
- public OperationsController(IJsonApiOptions options, IResourceGraph resourceGraph, ILoggerFactory loggerFactory, IOperationsProcessor processor,
- IJsonApiRequest request, ITargetedFields targetedFields)
- : base(options, resourceGraph, loggerFactory, processor, request, targetedFields)
- {
- }
-}
+public sealed class OperationsController(
+ IJsonApiOptions options, IResourceGraph resourceGraph, ILoggerFactory loggerFactory, IOperationsProcessor processor, IJsonApiRequest request,
+ ITargetedFields targetedFields) : JsonApiOperationsController(options, resourceGraph, loggerFactory, processor, request, targetedFields);
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/OperationsDbContext.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/OperationsDbContext.cs
index 6b6f6f0..aa75333 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/OperationsDbContext.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/OperationsDbContext.cs
@@ -5,7 +5,7 @@
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations;
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
-public sealed class OperationsDbContext : MongoDbContextShim
+public sealed class OperationsDbContext(IMongoDatabase database) : MongoDbContextShim(database)
{
public MongoDbSetShim Playlists => Set();
public MongoDbSetShim MusicTracks => Set();
@@ -13,9 +13,4 @@ public sealed class OperationsDbContext : MongoDbContextShim
public MongoDbSetShim TextLanguages => Set();
public MongoDbSetShim Performers => Set();
public MongoDbSetShim RecordCompanies => Set();
-
- public OperationsDbContext(IMongoDatabase database)
- : base(database)
- {
- }
}
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Transactions/MusicTrackRepository.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Transactions/MusicTrackRepository.cs
index 9595112..bd73d6c 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Transactions/MusicTrackRepository.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Transactions/MusicTrackRepository.cs
@@ -8,14 +8,11 @@
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations.Transactions;
[UsedImplicitly(ImplicitUseKindFlags.InstantiatedNoFixedConstructorSignature)]
-public sealed class MusicTrackRepository : MongoRepository
+public sealed class MusicTrackRepository(
+ IMongoDataAccess mongoDataAccess, ITargetedFields targetedFields, IResourceGraph resourceGraph, IResourceFactory resourceFactory,
+ IEnumerable constraintProviders, IResourceDefinitionAccessor resourceDefinitionAccessor, IQueryableBuilder queryableBuilder)
+ : MongoRepository(mongoDataAccess, targetedFields, resourceGraph, resourceFactory, constraintProviders, resourceDefinitionAccessor,
+ queryableBuilder)
{
public override string? TransactionId => null;
-
- public MusicTrackRepository(IMongoDataAccess mongoDataAccess, ITargetedFields targetedFields, IResourceGraph resourceGraph,
- IResourceFactory resourceFactory, IEnumerable constraintProviders, IResourceDefinitionAccessor resourceDefinitionAccessor,
- IQueryableBuilder queryableBuilder)
- : base(mongoDataAccess, targetedFields, resourceGraph, resourceFactory, constraintProviders, resourceDefinitionAccessor, queryableBuilder)
- {
- }
}
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicAddToToManyRelationshipTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicAddToToManyRelationshipTests.cs
index d15f9d0..b81b3f4 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicAddToToManyRelationshipTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicAddToToManyRelationshipTests.cs
@@ -7,16 +7,11 @@
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations.Updating.Relationships;
[Collection("AtomicOperationsFixture")]
-public sealed class AtomicAddToToManyRelationshipTests
+public sealed class AtomicAddToToManyRelationshipTests(AtomicOperationsFixture fixture)
{
- private readonly IntegrationTestContext _testContext;
+ private readonly IntegrationTestContext _testContext = fixture.TestContext;
private readonly OperationsFakers _fakers = new();
- public AtomicAddToToManyRelationshipTests(AtomicOperationsFixture fixture)
- {
- _testContext = fixture.TestContext;
- }
-
[Fact]
public async Task Cannot_add_to_OneToMany_relationship()
{
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicRemoveFromToManyRelationshipTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicRemoveFromToManyRelationshipTests.cs
index 857f7c5..71bfc3d 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicRemoveFromToManyRelationshipTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicRemoveFromToManyRelationshipTests.cs
@@ -7,16 +7,11 @@
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations.Updating.Relationships;
[Collection("AtomicOperationsFixture")]
-public sealed class AtomicRemoveFromToManyRelationshipTests
+public sealed class AtomicRemoveFromToManyRelationshipTests(AtomicOperationsFixture fixture)
{
- private readonly IntegrationTestContext _testContext;
+ private readonly IntegrationTestContext _testContext = fixture.TestContext;
private readonly OperationsFakers _fakers = new();
- public AtomicRemoveFromToManyRelationshipTests(AtomicOperationsFixture fixture)
- {
- _testContext = fixture.TestContext;
- }
-
[Fact]
public async Task Cannot_remove_from_OneToMany_relationship()
{
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicReplaceToManyRelationshipTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicReplaceToManyRelationshipTests.cs
index b716339..04c3bc3 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicReplaceToManyRelationshipTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicReplaceToManyRelationshipTests.cs
@@ -7,16 +7,11 @@
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations.Updating.Relationships;
[Collection("AtomicOperationsFixture")]
-public sealed class AtomicReplaceToManyRelationshipTests
+public sealed class AtomicReplaceToManyRelationshipTests(AtomicOperationsFixture fixture)
{
- private readonly IntegrationTestContext _testContext;
+ private readonly IntegrationTestContext _testContext = fixture.TestContext;
private readonly OperationsFakers _fakers = new();
- public AtomicReplaceToManyRelationshipTests(AtomicOperationsFixture fixture)
- {
- _testContext = fixture.TestContext;
- }
-
[Fact]
public async Task Cannot_replace_OneToMany_relationship()
{
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicUpdateToOneRelationshipTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicUpdateToOneRelationshipTests.cs
index dccab27..bcbdcca 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicUpdateToOneRelationshipTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicUpdateToOneRelationshipTests.cs
@@ -7,16 +7,11 @@
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations.Updating.Relationships;
[Collection("AtomicOperationsFixture")]
-public sealed class AtomicUpdateToOneRelationshipTests
+public sealed class AtomicUpdateToOneRelationshipTests(AtomicOperationsFixture fixture)
{
- private readonly IntegrationTestContext _testContext;
+ private readonly IntegrationTestContext _testContext = fixture.TestContext;
private readonly OperationsFakers _fakers = new();
- public AtomicUpdateToOneRelationshipTests(AtomicOperationsFixture fixture)
- {
- _testContext = fixture.TestContext;
- }
-
[Fact]
public async Task Cannot_create_ManyToOne_relationship()
{
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Resources/AtomicReplaceToManyRelationshipTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Resources/AtomicReplaceToManyRelationshipTests.cs
index 833bdd3..c65167b 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Resources/AtomicReplaceToManyRelationshipTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Resources/AtomicReplaceToManyRelationshipTests.cs
@@ -7,16 +7,11 @@
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations.Updating.Resources;
[Collection("AtomicOperationsFixture")]
-public sealed class AtomicReplaceToManyRelationshipTests
+public sealed class AtomicReplaceToManyRelationshipTests(AtomicOperationsFixture fixture)
{
- private readonly IntegrationTestContext _testContext;
+ private readonly IntegrationTestContext _testContext = fixture.TestContext;
private readonly OperationsFakers _fakers = new();
- public AtomicReplaceToManyRelationshipTests(AtomicOperationsFixture fixture)
- {
- _testContext = fixture.TestContext;
- }
-
[Fact]
public async Task Cannot_replace_ToMany_relationship()
{
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Resources/AtomicUpdateResourceTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Resources/AtomicUpdateResourceTests.cs
index 7ae1426..a123409 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Resources/AtomicUpdateResourceTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Resources/AtomicUpdateResourceTests.cs
@@ -7,16 +7,11 @@
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations.Updating.Resources;
[Collection("AtomicOperationsFixture")]
-public sealed class AtomicUpdateResourceTests
+public sealed class AtomicUpdateResourceTests(AtomicOperationsFixture fixture)
{
- private readonly IntegrationTestContext _testContext;
+ private readonly IntegrationTestContext _testContext = fixture.TestContext;
private readonly OperationsFakers _fakers = new();
- public AtomicUpdateResourceTests(AtomicOperationsFixture fixture)
- {
- _testContext = fixture.TestContext;
- }
-
[Fact]
public async Task Can_update_resources()
{
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Resources/AtomicUpdateToOneRelationshipTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Resources/AtomicUpdateToOneRelationshipTests.cs
index df60664..014b396 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Resources/AtomicUpdateToOneRelationshipTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Resources/AtomicUpdateToOneRelationshipTests.cs
@@ -7,16 +7,11 @@
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations.Updating.Resources;
[Collection("AtomicOperationsFixture")]
-public sealed class AtomicUpdateToOneRelationshipTests
+public sealed class AtomicUpdateToOneRelationshipTests(AtomicOperationsFixture fixture)
{
- private readonly IntegrationTestContext _testContext;
+ private readonly IntegrationTestContext _testContext = fixture.TestContext;
private readonly OperationsFakers _fakers = new();
- public AtomicUpdateToOneRelationshipTests(AtomicOperationsFixture fixture)
- {
- _testContext = fixture.TestContext;
- }
-
[Fact]
public async Task Cannot_create_ToOne_relationship()
{
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/HitCountingResourceDefinition.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/HitCountingResourceDefinition.cs
index fd93e5e..3ee880d 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/HitCountingResourceDefinition.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/HitCountingResourceDefinition.cs
@@ -11,19 +11,14 @@ namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests;
/// Tracks invocations on callback methods. This is used solely in our tests, so we can assert which
/// calls were made, and in which order.
///
-public abstract class HitCountingResourceDefinition : JsonApiResourceDefinition
+public abstract class HitCountingResourceDefinition(IResourceGraph resourceGraph, ResourceDefinitionHitCounter hitCounter)
+ : JsonApiResourceDefinition(resourceGraph)
where TResource : class, IIdentifiable
{
- private readonly ResourceDefinitionHitCounter _hitCounter;
+ private readonly ResourceDefinitionHitCounter _hitCounter = hitCounter;
protected virtual ResourceDefinitionExtensibilityPoints ExtensibilityPointsToTrack => ResourceDefinitionExtensibilityPoints.All;
- protected HitCountingResourceDefinition(IResourceGraph resourceGraph, ResourceDefinitionHitCounter hitCounter)
- : base(resourceGraph)
- {
- _hitCounter = hitCounter;
- }
-
public override IImmutableSet OnApplyIncludes(IImmutableSet existingIncludes)
{
if (ExtensibilityPointsToTrack.HasFlag(ResourceDefinitionExtensibilityPoints.OnApplyIncludes))
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/Meta/MetaDbContext.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/Meta/MetaDbContext.cs
index fbd2ff5..8aa82f8 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/Meta/MetaDbContext.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/Meta/MetaDbContext.cs
@@ -5,12 +5,7 @@
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.Meta;
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
-public sealed class MetaDbContext : MongoDbContextShim
+public sealed class MetaDbContext(IMongoDatabase database) : MongoDbContextShim(database)
{
public MongoDbSetShim SupportTickets => Set();
-
- public MetaDbContext(IMongoDatabase database)
- : base(database)
- {
- }
}
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/Meta/SupportTicketDefinition.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/Meta/SupportTicketDefinition.cs
index 2cbff91..704c6c8 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/Meta/SupportTicketDefinition.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/Meta/SupportTicketDefinition.cs
@@ -4,15 +4,11 @@
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.Meta;
[UsedImplicitly(ImplicitUseKindFlags.InstantiatedNoFixedConstructorSignature)]
-public sealed class SupportTicketDefinition : HitCountingResourceDefinition
+public sealed class SupportTicketDefinition(IResourceGraph resourceGraph, ResourceDefinitionHitCounter hitCounter)
+ : HitCountingResourceDefinition(resourceGraph, hitCounter)
{
protected override ResourceDefinitionExtensibilityPoints ExtensibilityPointsToTrack => ResourceDefinitionExtensibilityPoints.GetMeta;
- public SupportTicketDefinition(IResourceGraph resourceGraph, ResourceDefinitionHitCounter hitCounter)
- : base(resourceGraph, hitCounter)
- {
- }
-
public override IDictionary? GetMeta(SupportTicket resource)
{
base.GetMeta(resource);
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/QueryStrings/Filtering/FilterDbContext.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/QueryStrings/Filtering/FilterDbContext.cs
index 356e537..58277b3 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/QueryStrings/Filtering/FilterDbContext.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/QueryStrings/Filtering/FilterDbContext.cs
@@ -5,12 +5,7 @@
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.QueryStrings.Filtering;
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
-public sealed class FilterDbContext : MongoDbContextShim
+public sealed class FilterDbContext(IMongoDatabase database) : MongoDbContextShim(database)
{
public MongoDbSetShim FilterableResources => Set();
-
- public FilterDbContext(IMongoDatabase database)
- : base(database)
- {
- }
}
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/QueryStrings/QueryStringDbContext.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/QueryStrings/QueryStringDbContext.cs
index 1a3489e..a1e48b6 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/QueryStrings/QueryStringDbContext.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/QueryStrings/QueryStringDbContext.cs
@@ -5,14 +5,9 @@
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.QueryStrings;
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
-public sealed class QueryStringDbContext : MongoDbContextShim
+public sealed class QueryStringDbContext(IMongoDatabase database) : MongoDbContextShim(database)
{
public MongoDbSetShim Blogs => Set();
public MongoDbSetShim Posts => Set();
public MongoDbSetShim Accounts => Set();
-
- public QueryStringDbContext(IMongoDatabase database)
- : base(database)
- {
- }
}
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/QueryStrings/SparseFieldSets/ResultCapturingRepository.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/QueryStrings/SparseFieldSets/ResultCapturingRepository.cs
index b88cd2e..f00897c 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/QueryStrings/SparseFieldSets/ResultCapturingRepository.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/QueryStrings/SparseFieldSets/ResultCapturingRepository.cs
@@ -11,18 +11,14 @@ namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.QueryStrings.SparseFiel
/// Enables sparse fieldset tests to verify which fields were (not) retrieved from the database.
///
[UsedImplicitly(ImplicitUseKindFlags.InstantiatedNoFixedConstructorSignature)]
-public sealed class ResultCapturingRepository : MongoRepository
+public sealed class ResultCapturingRepository(
+ IMongoDataAccess mongoDataAccess, ITargetedFields targetedFields, IResourceGraph resourceGraph, IResourceFactory resourceFactory,
+ IEnumerable constraintProviders, IResourceDefinitionAccessor resourceDefinitionAccessor, IQueryableBuilder queryableBuilder,
+ ResourceCaptureStore captureStore) : MongoRepository(mongoDataAccess, targetedFields, resourceGraph, resourceFactory, constraintProviders,
+ resourceDefinitionAccessor, queryableBuilder)
where TResource : class, IIdentifiable
{
- private readonly ResourceCaptureStore _captureStore;
-
- public ResultCapturingRepository(IMongoDataAccess mongoDataAccess, ITargetedFields targetedFields, IResourceGraph resourceGraph,
- IResourceFactory resourceFactory, IEnumerable constraintProviders, IResourceDefinitionAccessor resourceDefinitionAccessor,
- IQueryableBuilder queryableBuilder, ResourceCaptureStore captureStore)
- : base(mongoDataAccess, targetedFields, resourceGraph, resourceFactory, constraintProviders, resourceDefinitionAccessor, queryableBuilder)
- {
- _captureStore = captureStore;
- }
+ private readonly ResourceCaptureStore _captureStore = captureStore;
public override async Task> GetAsync(QueryLayer queryLayer, CancellationToken cancellationToken)
{
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/ImplicitlyChangingWorkItemDefinition.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/ImplicitlyChangingWorkItemDefinition.cs
index 61f68e1..38b54cf 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/ImplicitlyChangingWorkItemDefinition.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/ImplicitlyChangingWorkItemDefinition.cs
@@ -10,17 +10,12 @@ namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.ReadWrite;
/// Used to simulate side effects that occur in the database while saving, typically caused by database triggers.
///
[UsedImplicitly(ImplicitUseKindFlags.InstantiatedNoFixedConstructorSignature)]
-public sealed class ImplicitlyChangingWorkItemDefinition : JsonApiResourceDefinition
+public sealed class ImplicitlyChangingWorkItemDefinition(IResourceGraph resourceGraph, ReadWriteDbContext dbContext)
+ : JsonApiResourceDefinition(resourceGraph)
{
internal const string Suffix = " (changed)";
- private readonly ReadWriteDbContext _dbContext;
-
- public ImplicitlyChangingWorkItemDefinition(IResourceGraph resourceGraph, ReadWriteDbContext dbContext)
- : base(resourceGraph)
- {
- _dbContext = dbContext;
- }
+ private readonly ReadWriteDbContext _dbContext = dbContext;
public override Task OnWriteSucceededAsync(WorkItem resource, WriteOperationKind writeOperation, CancellationToken cancellationToken)
{
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/ImplicitlyChangingWorkItemGroupDefinition.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/ImplicitlyChangingWorkItemGroupDefinition.cs
index 3d4e846..ef8c375 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/ImplicitlyChangingWorkItemGroupDefinition.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/ImplicitlyChangingWorkItemGroupDefinition.cs
@@ -10,17 +10,12 @@ namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.ReadWrite;
/// Used to simulate side effects that occur in the database while saving, typically caused by database triggers.
///
[UsedImplicitly(ImplicitUseKindFlags.InstantiatedNoFixedConstructorSignature)]
-public sealed class ImplicitlyChangingWorkItemGroupDefinition : JsonApiResourceDefinition
+public sealed class ImplicitlyChangingWorkItemGroupDefinition(IResourceGraph resourceGraph, ReadWriteDbContext dbContext)
+ : JsonApiResourceDefinition(resourceGraph)
{
internal const string Suffix = " (changed)";
- private readonly ReadWriteDbContext _dbContext;
-
- public ImplicitlyChangingWorkItemGroupDefinition(IResourceGraph resourceGraph, ReadWriteDbContext dbContext)
- : base(resourceGraph)
- {
- _dbContext = dbContext;
- }
+ private readonly ReadWriteDbContext _dbContext = dbContext;
public override Task OnWriteSucceededAsync(WorkItemGroup resource, WriteOperationKind writeOperation, CancellationToken cancellationToken)
{
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/ReadWriteDbContext.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/ReadWriteDbContext.cs
index f3cfd72..32a0dd9 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/ReadWriteDbContext.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/ReadWriteDbContext.cs
@@ -5,16 +5,11 @@
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.ReadWrite;
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
-public sealed class ReadWriteDbContext : MongoDbContextShim
+public sealed class ReadWriteDbContext(IMongoDatabase database) : MongoDbContextShim(database)
{
public MongoDbSetShim WorkItems => Set();
public MongoDbSetShim WorkTags => Set();
public MongoDbSetShim Groups => Set();
public MongoDbSetShim RgbColors => Set();
public MongoDbSetShim UserAccounts => Set();
-
- public ReadWriteDbContext(IMongoDatabase database)
- : base(database)
- {
- }
}
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ResourceDefinitions/Reading/MoonDefinition.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ResourceDefinitions/Reading/MoonDefinition.cs
index 55340ea..e4e8f7a 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ResourceDefinitions/Reading/MoonDefinition.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ResourceDefinitions/Reading/MoonDefinition.cs
@@ -6,17 +6,11 @@
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.ResourceDefinitions.Reading;
[UsedImplicitly(ImplicitUseKindFlags.InstantiatedNoFixedConstructorSignature)]
-public sealed class MoonDefinition : HitCountingResourceDefinition
+public sealed class MoonDefinition(IResourceGraph resourceGraph, ResourceDefinitionHitCounter hitCounter)
+ : HitCountingResourceDefinition(resourceGraph, hitCounter)
{
protected override ResourceDefinitionExtensibilityPoints ExtensibilityPointsToTrack => ResourceDefinitionExtensibilityPoints.Reading;
- public MoonDefinition(IResourceGraph resourceGraph, ResourceDefinitionHitCounter hitCounter)
- : base(resourceGraph, hitCounter)
- {
- // This constructor will be resolved from the container, which means
- // you can take on any dependency that is also defined in the container.
- }
-
public override QueryStringParameterHandlers OnRegisterQueryableHandlersForQueryStringParameters()
{
base.OnRegisterQueryableHandlersForQueryStringParameters();
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ResourceDefinitions/Reading/PlanetDefinition.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ResourceDefinitions/Reading/PlanetDefinition.cs
index 567fa04..c2122d6 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ResourceDefinitions/Reading/PlanetDefinition.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ResourceDefinitions/Reading/PlanetDefinition.cs
@@ -6,21 +6,13 @@
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.ResourceDefinitions.Reading;
[UsedImplicitly(ImplicitUseKindFlags.InstantiatedNoFixedConstructorSignature)]
-public sealed class PlanetDefinition : HitCountingResourceDefinition
+public sealed class PlanetDefinition(IResourceGraph resourceGraph, IClientSettingsProvider clientSettingsProvider, ResourceDefinitionHitCounter hitCounter)
+ : HitCountingResourceDefinition(resourceGraph, hitCounter)
{
- private readonly IClientSettingsProvider _clientSettingsProvider;
+ private readonly IClientSettingsProvider _clientSettingsProvider = clientSettingsProvider;
protected override ResourceDefinitionExtensibilityPoints ExtensibilityPointsToTrack => ResourceDefinitionExtensibilityPoints.Reading;
- public PlanetDefinition(IResourceGraph resourceGraph, IClientSettingsProvider clientSettingsProvider, ResourceDefinitionHitCounter hitCounter)
- : base(resourceGraph, hitCounter)
- {
- // This constructor will be resolved from the container, which means
- // you can take on any dependency that is also defined in the container.
-
- _clientSettingsProvider = clientSettingsProvider;
- }
-
public override FilterExpression? OnApplyFilter(FilterExpression? existingFilter)
{
base.OnApplyFilter(existingFilter);
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ResourceDefinitions/Reading/StarDefinition.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ResourceDefinitions/Reading/StarDefinition.cs
index 46632bd..5a55410 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ResourceDefinitions/Reading/StarDefinition.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ResourceDefinitions/Reading/StarDefinition.cs
@@ -6,17 +6,11 @@
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.ResourceDefinitions.Reading;
[UsedImplicitly(ImplicitUseKindFlags.InstantiatedNoFixedConstructorSignature)]
-public sealed class StarDefinition : HitCountingResourceDefinition
+public sealed class StarDefinition(IResourceGraph resourceGraph, ResourceDefinitionHitCounter hitCounter)
+ : HitCountingResourceDefinition(resourceGraph, hitCounter)
{
protected override ResourceDefinitionExtensibilityPoints ExtensibilityPointsToTrack => ResourceDefinitionExtensibilityPoints.Reading;
- public StarDefinition(IResourceGraph resourceGraph, ResourceDefinitionHitCounter hitCounter)
- : base(resourceGraph, hitCounter)
- {
- // This constructor will be resolved from the container, which means
- // you can take on any dependency that is also defined in the container.
- }
-
public override SortExpression OnApplySort(SortExpression? existingSort)
{
base.OnApplySort(existingSort);
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ResourceDefinitions/Reading/UniverseDbContext.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ResourceDefinitions/Reading/UniverseDbContext.cs
index f8bd720..901ce69 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ResourceDefinitions/Reading/UniverseDbContext.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ResourceDefinitions/Reading/UniverseDbContext.cs
@@ -5,14 +5,9 @@
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.ResourceDefinitions.Reading;
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
-public sealed class UniverseDbContext : MongoDbContextShim
+public sealed class UniverseDbContext(IMongoDatabase database) : MongoDbContextShim(database)
{
public MongoDbSetShim Stars => Set();
public MongoDbSetShim Planets => Set();
public MongoDbSetShim Moons => Set();
-
- public UniverseDbContext(IMongoDatabase database)
- : base(database)
- {
- }
}
diff --git a/test/TestBuildingBlocks/MongoDbContextShim.cs b/test/TestBuildingBlocks/MongoDbContextShim.cs
index 0521914..abc8942 100644
--- a/test/TestBuildingBlocks/MongoDbContextShim.cs
+++ b/test/TestBuildingBlocks/MongoDbContextShim.cs
@@ -7,16 +7,11 @@ namespace TestBuildingBlocks;
/// Provides an Entity Framework Core DbContext-like abstraction that translates to MongoDB calls. This makes it easier to keep tests in sync with the
/// main repository.
///
-public abstract class MongoDbContextShim
+public abstract class MongoDbContextShim(IMongoDatabase database)
{
- private readonly IMongoDatabase _database;
+ private readonly IMongoDatabase _database = database;
private readonly List _dbSetShims = [];
- protected MongoDbContextShim(IMongoDatabase database)
- {
- _database = database;
- }
-
protected MongoDbSetShim Set()
where TEntity : IMongoIdentifiable
{
diff --git a/test/TestBuildingBlocks/MongoRunnerProvider.cs b/test/TestBuildingBlocks/MongoRunnerProvider.cs
index c22b8d5..f2dc54a 100644
--- a/test/TestBuildingBlocks/MongoRunnerProvider.cs
+++ b/test/TestBuildingBlocks/MongoRunnerProvider.cs
@@ -54,19 +54,13 @@ private void Detach()
}
}
- private sealed class MongoRunnerWrapper : IMongoRunner
+ private sealed class MongoRunnerWrapper(MongoRunnerProvider owner, IMongoRunner underlyingMongoRunner) : IMongoRunner
{
- private readonly MongoRunnerProvider _owner;
- private IMongoRunner? _underlyingMongoRunner;
+ private readonly MongoRunnerProvider _owner = owner;
+ private IMongoRunner? _underlyingMongoRunner = underlyingMongoRunner;
public string ConnectionString => _underlyingMongoRunner?.ConnectionString ?? throw new ObjectDisposedException(nameof(IMongoRunner));
- public MongoRunnerWrapper(MongoRunnerProvider owner, IMongoRunner underlyingMongoRunner)
- {
- _owner = owner;
- _underlyingMongoRunner = underlyingMongoRunner;
- }
-
public void Import(string database, string collection, string inputFilePath, string? additionalArguments = null, bool drop = false)
{
if (_underlyingMongoRunner == null)
From b1d05a8d2efaa9432dd96ac468780276544e0dcc Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sat, 11 May 2024 07:32:27 +0000
Subject: [PATCH 20/45] Bump jetbrains.resharper.globaltools from 2024.1.0 to
2024.1.2 (#56)
---
.config/dotnet-tools.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index caa9982..a53702e 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"jetbrains.resharper.globaltools": {
- "version": "2024.1.0",
+ "version": "2024.1.2",
"commands": [
"jb"
]
From 25ae4c0203f9bd3fafa04fbac1a861b5b7bcb375 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sat, 11 May 2024 08:33:58 +0000
Subject: [PATCH 21/45] Bump dotnet-reportgenerator-globaltool from 5.2.4 to
5.2.5 (#55)
---
.config/dotnet-tools.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index a53702e..9261671 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -15,7 +15,7 @@
]
},
"dotnet-reportgenerator-globaltool": {
- "version": "5.2.4",
+ "version": "5.2.5",
"commands": [
"reportgenerator"
]
From 899a5677f77450ae373624965bea28ed693feaa2 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 16 May 2024 04:25:30 +0000
Subject: [PATCH 22/45] Bump dotnet-reportgenerator-globaltool from 5.2.5 to
5.3.0 (#57)
---
.config/dotnet-tools.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index 9261671..2dc94b1 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -15,7 +15,7 @@
]
},
"dotnet-reportgenerator-globaltool": {
- "version": "5.2.5",
+ "version": "5.3.0",
"commands": [
"reportgenerator"
]
From bd220779ddb9765651da0e35bcd433d6e8008850 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 29 May 2024 05:08:14 +0000
Subject: [PATCH 23/45] Bump dotnet-reportgenerator-globaltool from 5.3.0 to
5.3.4 (#58)
---
.config/dotnet-tools.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index 2dc94b1..d630912 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -15,7 +15,7 @@
]
},
"dotnet-reportgenerator-globaltool": {
- "version": "5.3.0",
+ "version": "5.3.4",
"commands": [
"reportgenerator"
]
From ed4f58a18df56cfc6fb11e4ec210c761645d2fc4 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 19 Jun 2024 11:22:03 +0000
Subject: [PATCH 24/45] Bump jetbrains.resharper.globaltools from 2024.1.2 to
2024.1.3 (#60)
---
.config/dotnet-tools.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index d630912..2596063 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"jetbrains.resharper.globaltools": {
- "version": "2024.1.2",
+ "version": "2024.1.3",
"commands": [
"jb"
]
From 1dc0da37ed102ba57dbdf4863d26f0571859cc8a Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 19 Jun 2024 21:47:19 +0000
Subject: [PATCH 25/45] Bump dotnet-reportgenerator-globaltool from 5.3.4 to
5.3.6 (#59)
---
.config/dotnet-tools.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index 2596063..f2653f6 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -15,7 +15,7 @@
]
},
"dotnet-reportgenerator-globaltool": {
- "version": "5.3.4",
+ "version": "5.3.6",
"commands": [
"reportgenerator"
]
From 961ecefe62ae760f20befa1e0bfc74a172d77c37 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 26 Jun 2024 03:54:30 +0000
Subject: [PATCH 26/45] Bump jetbrains.resharper.globaltools from 2024.1.3 to
2024.1.4 (#61)
---
.config/dotnet-tools.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index f2653f6..869b61a 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"jetbrains.resharper.globaltools": {
- "version": "2024.1.3",
+ "version": "2024.1.4",
"commands": [
"jb"
]
From 3f6f926019dd948dae82e16b1cba72d525a68bd9 Mon Sep 17 00:00:00 2001
From: Bart Koelman <10324372+bkoelman@users.noreply.github.com>
Date: Sun, 30 Jun 2024 23:02:09 +0200
Subject: [PATCH 27/45] Revert "Resharper: Replace async method with Task
return"
This reverts commit b95817446d6b59d5fd92269a56420a1a37489d04.
---
.../AtomicOperations/MongoTransaction.cs | 12 ++++------
.../Repositories/MongoRepository.cs | 4 ++--
.../AtomicOperationsFixture.cs | 4 ++--
...reateResourceWithClientGeneratedIdTests.cs | 4 ++--
...eateResourceWithToManyRelationshipTests.cs | 4 ++--
...reateResourceWithToOneRelationshipTests.cs | 4 ++--
.../Deleting/AtomicDeleteResourceTests.cs | 4 ++--
.../Meta/AtomicResourceMetaTests.cs | 4 ++--
.../Transactions/AtomicRollbackTests.cs | 6 ++---
.../Transactions/LyricRepository.cs | 4 ++--
.../AtomicAddToToManyRelationshipTests.cs | 8 +++----
...AtomicRemoveFromToManyRelationshipTests.cs | 8 +++----
.../AtomicReplaceToManyRelationshipTests.cs | 8 +++----
.../AtomicUpdateToOneRelationshipTests.cs | 4 ++--
.../AtomicReplaceToManyRelationshipTests.cs | 4 ++--
.../Resources/AtomicUpdateResourceTests.cs | 16 ++++++-------
.../AtomicUpdateToOneRelationshipTests.cs | 4 ++--
.../Meta/TopLevelCountTests.cs | 6 ++---
.../SparseFieldSets/SparseFieldSetTests.cs | 20 ++++++++--------
...reateResourceWithClientGeneratedIdTests.cs | 4 ++--
...eateResourceWithToManyRelationshipTests.cs | 4 ++--
...reateResourceWithToOneRelationshipTests.cs | 4 ++--
.../ReadWrite/Deleting/DeleteResourceTests.cs | 4 ++--
.../Fetching/FetchRelationshipTests.cs | 12 +++++-----
.../ReadWrite/Fetching/FetchResourceTests.cs | 16 ++++++-------
.../ImplicitlyChangingWorkItemDefinition.cs | 6 ++---
...plicitlyChangingWorkItemGroupDefinition.cs | 6 ++---
.../AddToToManyRelationshipTests.cs | 8 +++----
.../RemoveFromToManyRelationshipTests.cs | 8 +++----
.../ReplaceToManyRelationshipTests.cs | 8 +++----
.../UpdateToOneRelationshipTests.cs | 4 ++--
.../ReplaceToManyRelationshipTests.cs | 8 +++----
.../Updating/Resources/UpdateResourceTests.cs | 24 +++++++++----------
.../Resources/UpdateToOneRelationshipTests.cs | 4 ++--
.../Reading/ResourceDefinitionReadTests.cs | 20 ++++++++--------
test/TestBuildingBlocks/IntegrationTest.cs | 24 +++++++++----------
test/TestBuildingBlocks/MongoDbContextShim.cs | 4 ++--
test/TestBuildingBlocks/MongoDbSetShim.cs | 12 +++++-----
38 files changed, 150 insertions(+), 158 deletions(-)
diff --git a/src/JsonApiDotNetCore.MongoDb/AtomicOperations/MongoTransaction.cs b/src/JsonApiDotNetCore.MongoDb/AtomicOperations/MongoTransaction.cs
index 3ea882d..3514e87 100644
--- a/src/JsonApiDotNetCore.MongoDb/AtomicOperations/MongoTransaction.cs
+++ b/src/JsonApiDotNetCore.MongoDb/AtomicOperations/MongoTransaction.cs
@@ -35,24 +35,20 @@ public Task AfterProcessOperationAsync(CancellationToken cancellationToken)
}
///
- public Task CommitAsync(CancellationToken cancellationToken)
+ public async Task CommitAsync(CancellationToken cancellationToken)
{
if (_ownsTransaction && _mongoDataAccess.ActiveSession != null)
{
- return _mongoDataAccess.ActiveSession.CommitTransactionAsync(cancellationToken);
+ await _mongoDataAccess.ActiveSession.CommitTransactionAsync(cancellationToken);
}
-
- return Task.CompletedTask;
}
///
- public ValueTask DisposeAsync()
+ public async ValueTask DisposeAsync()
{
if (_ownsTransaction)
{
- return _mongoDataAccess.DisposeAsync();
+ await _mongoDataAccess.DisposeAsync();
}
-
- return ValueTask.CompletedTask;
}
}
diff --git a/src/JsonApiDotNetCore.MongoDb/Repositories/MongoRepository.cs b/src/JsonApiDotNetCore.MongoDb/Repositories/MongoRepository.cs
index c955f8c..ffdf9e1 100644
--- a/src/JsonApiDotNetCore.MongoDb/Repositories/MongoRepository.cs
+++ b/src/JsonApiDotNetCore.MongoDb/Repositories/MongoRepository.cs
@@ -174,9 +174,9 @@ public virtual async Task CreateAsync(TResource resourceFromRequest, TResource r
await _resourceDefinitionAccessor.OnWritingAsync(resourceForDatabase, WriteOperationKind.CreateResource, cancellationToken);
await SaveChangesAsync(
- () => _mongoDataAccess.ActiveSession != null
+ async () => await (_mongoDataAccess.ActiveSession != null
? Collection.InsertOneAsync(_mongoDataAccess.ActiveSession, resourceForDatabase, cancellationToken: cancellationToken)
- : Collection.InsertOneAsync(resourceForDatabase, cancellationToken: cancellationToken), cancellationToken);
+ : Collection.InsertOneAsync(resourceForDatabase, cancellationToken: cancellationToken)), cancellationToken);
await _resourceDefinitionAccessor.OnWriteSucceededAsync(resourceForDatabase, WriteOperationKind.CreateResource, cancellationToken);
}
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/AtomicOperationsFixture.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/AtomicOperationsFixture.cs
index 21db655..262a2b6 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/AtomicOperationsFixture.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/AtomicOperationsFixture.cs
@@ -32,8 +32,8 @@ public Task InitializeAsync()
return Task.CompletedTask;
}
- public Task DisposeAsync()
+ public async Task DisposeAsync()
{
- return TestContext.DisposeAsync();
+ await TestContext.DisposeAsync();
}
}
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceWithClientGeneratedIdTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceWithClientGeneratedIdTests.cs
index 27813bc..7fdf996 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceWithClientGeneratedIdTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceWithClientGeneratedIdTests.cs
@@ -132,10 +132,10 @@ public async Task Cannot_create_resource_for_existing_client_generated_ID()
string newIsoCode = _fakers.TextLanguage.Generate().IsoCode!;
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.TextLanguages.Add(existingLanguage);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceWithToManyRelationshipTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceWithToManyRelationshipTests.cs
index 7fa0e1c..70b5468 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceWithToManyRelationshipTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceWithToManyRelationshipTests.cs
@@ -20,10 +20,10 @@ public async Task Cannot_create_ToMany_relationship()
string newTitle = _fakers.MusicTrack.Generate().Title;
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.Performers.Add(existingPerformer);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceWithToOneRelationshipTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceWithToOneRelationshipTests.cs
index f33a634..51fd385 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceWithToOneRelationshipTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceWithToOneRelationshipTests.cs
@@ -20,10 +20,10 @@ public async Task Cannot_create_ToOne_relationship()
string newLyricText = _fakers.Lyric.Generate().Text;
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.MusicTracks.Add(existingTrack);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Deleting/AtomicDeleteResourceTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Deleting/AtomicDeleteResourceTests.cs
index 9e401bd..cd7accf 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Deleting/AtomicDeleteResourceTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Deleting/AtomicDeleteResourceTests.cs
@@ -18,10 +18,10 @@ public async Task Can_delete_existing_resource()
// Arrange
Performer existingPerformer = _fakers.Performer.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.Performers.Add(existingPerformer);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Meta/AtomicResourceMetaTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Meta/AtomicResourceMetaTests.cs
index ed87024..a701256 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Meta/AtomicResourceMetaTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Meta/AtomicResourceMetaTests.cs
@@ -112,10 +112,10 @@ public async Task Returns_resource_meta_in_update_resource_with_side_effects()
TextLanguage existingLanguage = _fakers.TextLanguage.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.TextLanguages.Add(existingLanguage);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Transactions/AtomicRollbackTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Transactions/AtomicRollbackTests.cs
index 26ea797..0a2cc3a 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Transactions/AtomicRollbackTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Transactions/AtomicRollbackTests.cs
@@ -26,7 +26,7 @@ public async Task Can_rollback_created_resource_on_error()
string newArtistName = _fakers.Performer.Generate().ArtistName!;
DateTimeOffset newBornAt = _fakers.Performer.Generate().BornAt;
- await _testContext.RunOnDatabaseAsync(dbContext => dbContext.ClearTableAsync());
+ await _testContext.RunOnDatabaseAsync(async dbContext => await dbContext.ClearTableAsync());
string unknownPerformerId = Unknown.StringId.For();
@@ -91,10 +91,10 @@ public async Task Can_rollback_updated_resource_on_error()
string newArtistName = _fakers.Performer.Generate().ArtistName!;
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.Performers.Add(existingPerformer);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
string unknownPerformerId = Unknown.StringId.For();
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Transactions/LyricRepository.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Transactions/LyricRepository.cs
index d738e8d..cda8d04 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Transactions/LyricRepository.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Transactions/LyricRepository.cs
@@ -26,8 +26,8 @@ public LyricRepository(IMongoDataAccess mongoDataAccess, ITargetedFields targete
_transaction = factory.BeginTransactionAsync(CancellationToken.None).Result;
}
- public ValueTask DisposeAsync()
+ public async ValueTask DisposeAsync()
{
- return _transaction.DisposeAsync();
+ await _transaction.DisposeAsync();
}
}
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicAddToToManyRelationshipTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicAddToToManyRelationshipTests.cs
index b81b3f4..50382cb 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicAddToToManyRelationshipTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicAddToToManyRelationshipTests.cs
@@ -19,11 +19,11 @@ public async Task Cannot_add_to_OneToMany_relationship()
MusicTrack existingTrack = _fakers.MusicTrack.Generate();
Performer existingPerformer = _fakers.Performer.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.Performers.Add(existingPerformer);
dbContext.MusicTracks.Add(existingTrack);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
@@ -76,11 +76,11 @@ public async Task Cannot_add_to_ManyToMany_relationship()
Playlist existingPlaylist = _fakers.Playlist.Generate();
MusicTrack existingTrack = _fakers.MusicTrack.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.MusicTracks.Add(existingTrack);
dbContext.Playlists.Add(existingPlaylist);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicRemoveFromToManyRelationshipTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicRemoveFromToManyRelationshipTests.cs
index 71bfc3d..8ecb491 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicRemoveFromToManyRelationshipTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicRemoveFromToManyRelationshipTests.cs
@@ -19,11 +19,11 @@ public async Task Cannot_remove_from_OneToMany_relationship()
MusicTrack existingTrack = _fakers.MusicTrack.Generate();
existingTrack.Performers = _fakers.Performer.Generate(1);
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.Performers.Add(existingTrack.Performers[0]);
dbContext.MusicTracks.Add(existingTrack);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
@@ -76,11 +76,11 @@ public async Task Cannot_remove_from_ManyToMany_relationship()
Playlist existingPlaylist = _fakers.Playlist.Generate();
existingPlaylist.Tracks = _fakers.MusicTrack.Generate(1);
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.MusicTracks.Add(existingPlaylist.Tracks[0]);
dbContext.Playlists.Add(existingPlaylist);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicReplaceToManyRelationshipTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicReplaceToManyRelationshipTests.cs
index 04c3bc3..09f2979 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicReplaceToManyRelationshipTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicReplaceToManyRelationshipTests.cs
@@ -19,11 +19,11 @@ public async Task Cannot_replace_OneToMany_relationship()
MusicTrack existingTrack = _fakers.MusicTrack.Generate();
Performer existingPerformer = _fakers.Performer.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.Performers.Add(existingPerformer);
dbContext.MusicTracks.Add(existingTrack);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
@@ -76,11 +76,11 @@ public async Task Cannot_replace_ManyToMany_relationship()
Playlist existingPlaylist = _fakers.Playlist.Generate();
MusicTrack existingTrack = _fakers.MusicTrack.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.MusicTracks.Add(existingTrack);
dbContext.Playlists.Add(existingPlaylist);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicUpdateToOneRelationshipTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicUpdateToOneRelationshipTests.cs
index bcbdcca..2541703 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicUpdateToOneRelationshipTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Relationships/AtomicUpdateToOneRelationshipTests.cs
@@ -19,11 +19,11 @@ public async Task Cannot_create_ManyToOne_relationship()
MusicTrack existingTrack = _fakers.MusicTrack.Generate();
RecordCompany existingCompany = _fakers.RecordCompany.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.RecordCompanies.Add(existingCompany);
dbContext.MusicTracks.Add(existingTrack);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Resources/AtomicReplaceToManyRelationshipTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Resources/AtomicReplaceToManyRelationshipTests.cs
index c65167b..329d74d 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Resources/AtomicReplaceToManyRelationshipTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Resources/AtomicReplaceToManyRelationshipTests.cs
@@ -19,11 +19,11 @@ public async Task Cannot_replace_ToMany_relationship()
MusicTrack existingTrack = _fakers.MusicTrack.Generate();
Performer existingPerformer = _fakers.Performer.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.Performers.Add(existingPerformer);
dbContext.MusicTracks.Add(existingTrack);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Resources/AtomicUpdateResourceTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Resources/AtomicUpdateResourceTests.cs
index a123409..9b88500 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Resources/AtomicUpdateResourceTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Resources/AtomicUpdateResourceTests.cs
@@ -84,10 +84,10 @@ public async Task Can_update_resource_without_attributes_or_relationships()
// Arrange
MusicTrack existingTrack = _fakers.MusicTrack.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.MusicTracks.Add(existingTrack);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
@@ -139,10 +139,10 @@ public async Task Can_partially_update_resource_without_side_effects()
string newGenre = _fakers.MusicTrack.Generate().Genre!;
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.MusicTracks.Add(existingTrack);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
@@ -197,10 +197,10 @@ public async Task Can_completely_update_resource_without_side_effects()
string newGenre = _fakers.MusicTrack.Generate().Genre!;
DateTimeOffset newReleasedAt = _fakers.MusicTrack.Generate().ReleasedAt;
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.MusicTracks.Add(existingTrack);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
@@ -254,10 +254,10 @@ public async Task Can_update_resource_with_side_effects()
TextLanguage existingLanguage = _fakers.TextLanguage.Generate();
string newIsoCode = _fakers.TextLanguage.Generate().IsoCode!;
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.TextLanguages.Add(existingLanguage);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Resources/AtomicUpdateToOneRelationshipTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Resources/AtomicUpdateToOneRelationshipTests.cs
index 014b396..75734f4 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Resources/AtomicUpdateToOneRelationshipTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Updating/Resources/AtomicUpdateToOneRelationshipTests.cs
@@ -19,11 +19,11 @@ public async Task Cannot_create_ToOne_relationship()
Lyric existingLyric = _fakers.Lyric.Generate();
MusicTrack existingTrack = _fakers.MusicTrack.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.MusicTracks.Add(existingTrack);
dbContext.Lyrics.Add(existingLyric);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/Meta/TopLevelCountTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/Meta/TopLevelCountTests.cs
index cd122ae..13bb952 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/Meta/TopLevelCountTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/Meta/TopLevelCountTests.cs
@@ -59,7 +59,7 @@ await _testContext.RunOnDatabaseAsync(async dbContext =>
public async Task Renders_resource_count_for_empty_collection()
{
// Arrange
- await _testContext.RunOnDatabaseAsync(dbContext => dbContext.ClearTableAsync());
+ await _testContext.RunOnDatabaseAsync(async dbContext => await dbContext.ClearTableAsync());
const string route = "/supportTickets";
@@ -111,10 +111,10 @@ public async Task Hides_resource_count_in_update_resource_response()
string newDescription = _fakers.SupportTicket.Generate().Description;
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.SupportTickets.Add(existingTicket);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/QueryStrings/SparseFieldSets/SparseFieldSetTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/QueryStrings/SparseFieldSets/SparseFieldSetTests.cs
index b61ebac..8b94f13 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/QueryStrings/SparseFieldSets/SparseFieldSetTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/QueryStrings/SparseFieldSets/SparseFieldSetTests.cs
@@ -120,10 +120,10 @@ public async Task Can_select_attribute_in_primary_resource_by_ID()
BlogPost post = _fakers.BlogPost.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.Posts.Add(post);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
string route = $"/blogPosts/{post.StringId}?fields[blogPosts]=url";
@@ -151,10 +151,10 @@ public async Task Cannot_select_fields_of_ManyToOne_relationship()
// Arrange
BlogPost post = _fakers.BlogPost.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.Posts.Add(post);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
string route = $"/blogPosts/{post.StringId}?fields[webAccounts]=displayName,emailAddress,preferences";
@@ -180,10 +180,10 @@ public async Task Cannot_select_fields_of_OneToMany_relationship()
// Arrange
WebAccount account = _fakers.WebAccount.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.Accounts.Add(account);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
string route = $"/webAccounts/{account.StringId}?fields[blogPosts]=caption,labels";
@@ -209,10 +209,10 @@ public async Task Cannot_select_fields_of_ManyToMany_relationship()
// Arrange
BlogPost post = _fakers.BlogPost.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.Posts.Add(post);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
string route = $"/blogPosts/{post.StringId}?fields[labels]=color";
@@ -312,10 +312,10 @@ public async Task Fetches_all_scalar_properties_when_fieldset_contains_readonly_
Blog blog = _fakers.Blog.Generate();
blog.IsPublished = true;
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.Blogs.Add(blog);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
string route = $"/blogs/{blog.StringId}?fields[blogs]=showAdvertisements";
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Creating/CreateResourceWithClientGeneratedIdTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Creating/CreateResourceWithClientGeneratedIdTests.cs
index c763529..c9c732a 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Creating/CreateResourceWithClientGeneratedIdTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Creating/CreateResourceWithClientGeneratedIdTests.cs
@@ -202,10 +202,10 @@ public async Task Cannot_create_resource_for_existing_client_generated_ID()
string newDisplayName = _fakers.RgbColor.Generate().DisplayName;
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.RgbColors.Add(existingColor);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Creating/CreateResourceWithToManyRelationshipTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Creating/CreateResourceWithToManyRelationshipTests.cs
index f021d9b..e0d92de 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Creating/CreateResourceWithToManyRelationshipTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Creating/CreateResourceWithToManyRelationshipTests.cs
@@ -26,10 +26,10 @@ public async Task Cannot_create_resource_with_ToMany_relationship()
// Arrange
UserAccount? existingUserAccount = _fakers.UserAccount.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.UserAccounts.Add(existingUserAccount);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Creating/CreateResourceWithToOneRelationshipTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Creating/CreateResourceWithToOneRelationshipTests.cs
index f02131d..be6732c 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Creating/CreateResourceWithToOneRelationshipTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Creating/CreateResourceWithToOneRelationshipTests.cs
@@ -29,11 +29,11 @@ public async Task Cannot_create_resource_with_ToOne_relationship()
string newGroupName = _fakers.WorkItemGroup.Generate().Name;
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.RgbColors.Add(existingGroup.Color);
dbContext.Groups.Add(existingGroup);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Deleting/DeleteResourceTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Deleting/DeleteResourceTests.cs
index c00fd07..3e1bb87 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Deleting/DeleteResourceTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Deleting/DeleteResourceTests.cs
@@ -26,10 +26,10 @@ public async Task Can_delete_existing_resource()
// Arrange
WorkItem existingWorkItem = _fakers.WorkItem.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.WorkItems.Add(existingWorkItem);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
string route = $"/workItems/{existingWorkItem.StringId}";
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Fetching/FetchRelationshipTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Fetching/FetchRelationshipTests.cs
index a7f74eb..6a9e32c 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Fetching/FetchRelationshipTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Fetching/FetchRelationshipTests.cs
@@ -26,10 +26,10 @@ public async Task Cannot_get_ManyToOne_relationship()
{
WorkItem workItem = _fakers.WorkItem.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.WorkItems.Add(workItem);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
string route = $"/workItems/{workItem.StringId}/relationships/assignee";
@@ -55,10 +55,10 @@ public async Task Cannot_get_OneToMany_relationship()
// Arrange
UserAccount userAccount = _fakers.UserAccount.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.UserAccounts.Add(userAccount);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
string route = $"/userAccounts/{userAccount.StringId}/relationships/assignedItems";
@@ -84,10 +84,10 @@ public async Task Cannot_get_ManyToMany_relationship()
// Arrange
WorkItem workItem = _fakers.WorkItem.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.WorkItems.Add(workItem);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
string route = $"/workItems/{workItem.StringId}/relationships/tags";
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Fetching/FetchResourceTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Fetching/FetchResourceTests.cs
index c8ff584..39a52d6 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Fetching/FetchResourceTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Fetching/FetchResourceTests.cs
@@ -65,10 +65,10 @@ public async Task Can_get_primary_resource_by_ID()
// Arrange
WorkItem workItem = _fakers.WorkItem.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.WorkItems.Add(workItem);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
string route = $"/workItems/{workItem.StringId}";
@@ -116,10 +116,10 @@ public async Task Cannot_get_secondary_ManyToOne_resource()
// Arrange
WorkItem workItem = _fakers.WorkItem.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.WorkItems.Add(workItem);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
string route = $"/workItems/{workItem.StringId}/assignee";
@@ -145,10 +145,10 @@ public async Task Cannot_get_secondary_OneToMany_resources()
// Arrange
UserAccount userAccount = _fakers.UserAccount.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.UserAccounts.Add(userAccount);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
string route = $"/userAccounts/{userAccount.StringId}/assignedItems";
@@ -174,10 +174,10 @@ public async Task Cannot_get_secondary_ManyToMany_resources()
// Arrange
WorkItem workItem = _fakers.WorkItem.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.WorkItems.Add(workItem);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
string route = $"/workItems/{workItem.StringId}/tags";
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/ImplicitlyChangingWorkItemDefinition.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/ImplicitlyChangingWorkItemDefinition.cs
index 38b54cf..4c610bf 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/ImplicitlyChangingWorkItemDefinition.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/ImplicitlyChangingWorkItemDefinition.cs
@@ -17,11 +17,11 @@ public sealed class ImplicitlyChangingWorkItemDefinition(IResourceGraph resource
private readonly ReadWriteDbContext _dbContext = dbContext;
- public override Task OnWriteSucceededAsync(WorkItem resource, WriteOperationKind writeOperation, CancellationToken cancellationToken)
+ public override async Task OnWriteSucceededAsync(WorkItem resource, WriteOperationKind writeOperation, CancellationToken cancellationToken)
{
if (writeOperation is not WriteOperationKind.DeleteResource)
{
- return _dbContext.WorkItems.ExecuteAsync(async collection =>
+ await _dbContext.WorkItems.ExecuteAsync(async collection =>
{
resource.Description += Suffix;
@@ -29,7 +29,5 @@ public override Task OnWriteSucceededAsync(WorkItem resource, WriteOperationKind
await collection.ReplaceOneAsync(filter, resource, cancellationToken: cancellationToken);
});
}
-
- return Task.CompletedTask;
}
}
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/ImplicitlyChangingWorkItemGroupDefinition.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/ImplicitlyChangingWorkItemGroupDefinition.cs
index ef8c375..570d745 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/ImplicitlyChangingWorkItemGroupDefinition.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/ImplicitlyChangingWorkItemGroupDefinition.cs
@@ -17,11 +17,11 @@ public sealed class ImplicitlyChangingWorkItemGroupDefinition(IResourceGraph res
private readonly ReadWriteDbContext _dbContext = dbContext;
- public override Task OnWriteSucceededAsync(WorkItemGroup resource, WriteOperationKind writeOperation, CancellationToken cancellationToken)
+ public override async Task OnWriteSucceededAsync(WorkItemGroup resource, WriteOperationKind writeOperation, CancellationToken cancellationToken)
{
if (writeOperation is not WriteOperationKind.DeleteResource)
{
- return _dbContext.Groups.ExecuteAsync(async collection =>
+ await _dbContext.Groups.ExecuteAsync(async collection =>
{
resource.Name += Suffix;
@@ -29,7 +29,5 @@ public override Task OnWriteSucceededAsync(WorkItemGroup resource, WriteOperatio
await collection.ReplaceOneAsync(filter, resource, cancellationToken: cancellationToken);
});
}
-
- return Task.CompletedTask;
}
}
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Relationships/AddToToManyRelationshipTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Relationships/AddToToManyRelationshipTests.cs
index 970c893..c2fd820 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Relationships/AddToToManyRelationshipTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Relationships/AddToToManyRelationshipTests.cs
@@ -27,11 +27,11 @@ public async Task Cannot_add_to_OneToMany_relationship()
WorkItem existingWorkItem = _fakers.WorkItem.Generate();
UserAccount existingSubscriber = _fakers.UserAccount.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.UserAccounts.Add(existingSubscriber);
dbContext.WorkItems.Add(existingWorkItem);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
@@ -70,11 +70,11 @@ public async Task Cannot_add_to_ManyToMany_relationship()
WorkItem existingWorkItem = _fakers.WorkItem.Generate();
WorkTag existingTag = _fakers.WorkTag.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.WorkTags.Add(existingTag);
dbContext.WorkItems.Add(existingWorkItem);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Relationships/RemoveFromToManyRelationshipTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Relationships/RemoveFromToManyRelationshipTests.cs
index 22dd312..eab8111 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Relationships/RemoveFromToManyRelationshipTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Relationships/RemoveFromToManyRelationshipTests.cs
@@ -27,11 +27,11 @@ public async Task Cannot_remove_from_OneToMany_relationship()
WorkItem existingWorkItem = _fakers.WorkItem.Generate();
existingWorkItem.Subscribers = _fakers.UserAccount.Generate(1).ToHashSet();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.UserAccounts.Add(existingWorkItem.Subscribers.ElementAt(0));
dbContext.WorkItems.Add(existingWorkItem);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
@@ -70,11 +70,11 @@ public async Task Cannot_remove_from_ManyToMany_relationship()
WorkItem existingWorkItem = _fakers.WorkItem.Generate();
existingWorkItem.Tags = _fakers.WorkTag.Generate(1).ToHashSet();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.WorkTags.Add(existingWorkItem.Tags.ElementAt(0));
dbContext.WorkItems.Add(existingWorkItem);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Relationships/ReplaceToManyRelationshipTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Relationships/ReplaceToManyRelationshipTests.cs
index 0d623d7..9df3deb 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Relationships/ReplaceToManyRelationshipTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Relationships/ReplaceToManyRelationshipTests.cs
@@ -27,11 +27,11 @@ public async Task Cannot_replace_OneToMany_relationship()
WorkItem existingWorkItem = _fakers.WorkItem.Generate();
UserAccount existingSubscriber = _fakers.UserAccount.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.UserAccounts.Add(existingSubscriber);
dbContext.WorkItems.Add(existingWorkItem);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
@@ -70,11 +70,11 @@ public async Task Cannot_replace_ManyToMany_relationship()
WorkItem existingWorkItem = _fakers.WorkItem.Generate();
WorkTag existingTag = _fakers.WorkTag.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.WorkTags.Add(existingTag);
dbContext.WorkItems.Add(existingWorkItem);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Relationships/UpdateToOneRelationshipTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Relationships/UpdateToOneRelationshipTests.cs
index 38168eb..ddd0f1d 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Relationships/UpdateToOneRelationshipTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Relationships/UpdateToOneRelationshipTests.cs
@@ -27,11 +27,11 @@ public async Task Cannot_replace_ToOne_relationship()
WorkItemGroup existingGroup = _fakers.WorkItemGroup.Generate();
RgbColor existingColor = _fakers.RgbColor.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.RgbColors.Add(existingColor);
dbContext.Groups.Add(existingGroup);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Resources/ReplaceToManyRelationshipTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Resources/ReplaceToManyRelationshipTests.cs
index fe61fa8..f7fa710 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Resources/ReplaceToManyRelationshipTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Resources/ReplaceToManyRelationshipTests.cs
@@ -27,11 +27,11 @@ public async Task Cannot_replace_OneToMany_relationship()
WorkItem existingWorkItem = _fakers.WorkItem.Generate();
UserAccount existingSubscriber = _fakers.UserAccount.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.UserAccounts.Add(existingSubscriber);
dbContext.WorkItems.Add(existingWorkItem);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
@@ -81,11 +81,11 @@ public async Task Cannot_replace_ManyToMany_relationship()
WorkItem existingWorkItem = _fakers.WorkItem.Generate();
WorkTag existingTag = _fakers.WorkTag.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.WorkTags.Add(existingTag);
dbContext.WorkItems.Add(existingWorkItem);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Resources/UpdateResourceTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Resources/UpdateResourceTests.cs
index 6163c5e..672b836 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Resources/UpdateResourceTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Resources/UpdateResourceTests.cs
@@ -36,10 +36,10 @@ public async Task Can_update_resource_without_attributes_or_relationships()
// Arrange
UserAccount existingUserAccount = _fakers.UserAccount.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.UserAccounts.Add(existingUserAccount);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
@@ -83,10 +83,10 @@ public async Task Can_partially_update_resource_with_string_ID()
WorkItemGroup existingGroup = _fakers.WorkItemGroup.Generate();
string newName = _fakers.WorkItemGroup.Generate().Name;
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.Groups.Add(existingGroup);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
@@ -135,10 +135,10 @@ public async Task Can_completely_update_resource_with_string_ID()
RgbColor existingColor = _fakers.RgbColor.Generate();
string newDisplayName = _fakers.RgbColor.Generate().DisplayName;
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.RgbColors.Add(existingColor);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
@@ -179,10 +179,10 @@ public async Task Can_update_resource_without_side_effects()
UserAccount existingUserAccount = _fakers.UserAccount.Generate();
UserAccount newUserAccount = _fakers.UserAccount.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.UserAccounts.Add(existingUserAccount);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
@@ -225,10 +225,10 @@ public async Task Can_update_resource_with_side_effects()
WorkItem existingWorkItem = _fakers.WorkItem.Generate();
string newDescription = _fakers.WorkItem.Generate().Description!;
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.WorkItems.Add(existingWorkItem);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
@@ -281,10 +281,10 @@ public async Task Can_update_resource_with_side_effects_with_primary_fieldset()
WorkItem existingWorkItem = _fakers.WorkItem.Generate();
string newDescription = _fakers.WorkItem.Generate().Description!;
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.WorkItems.Add(existingWorkItem);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Resources/UpdateToOneRelationshipTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Resources/UpdateToOneRelationshipTests.cs
index de4ddbc..c1e99fc 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Resources/UpdateToOneRelationshipTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ReadWrite/Updating/Resources/UpdateToOneRelationshipTests.cs
@@ -27,11 +27,11 @@ public async Task Cannot_create_ToOne_relationship()
WorkItemGroup existingGroup = _fakers.WorkItemGroup.Generate();
RgbColor existingColor = _fakers.RgbColor.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.RgbColors.Add(existingColor);
dbContext.Groups.Add(existingGroup);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
var requestBody = new
diff --git a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ResourceDefinitions/Reading/ResourceDefinitionReadTests.cs b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ResourceDefinitions/Reading/ResourceDefinitionReadTests.cs
index 69bc808..df3364e 100644
--- a/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ResourceDefinitions/Reading/ResourceDefinitionReadTests.cs
+++ b/test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/ResourceDefinitions/Reading/ResourceDefinitionReadTests.cs
@@ -300,10 +300,10 @@ public async Task Attribute_inclusion_from_resource_definition_is_applied_for_om
Star star = _fakers.Star.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.Stars.Add(star);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
string route = $"/stars/{star.StringId}";
@@ -340,10 +340,10 @@ public async Task Attribute_inclusion_from_resource_definition_is_applied_for_fi
Star star = _fakers.Star.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.Stars.Add(star);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
string route = $"/stars/{star.StringId}?fields[stars]=name,solarRadius";
@@ -381,10 +381,10 @@ public async Task Attribute_exclusion_from_resource_definition_is_applied_for_om
Star star = _fakers.Star.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.Stars.Add(star);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
string route = $"/stars/{star.StringId}";
@@ -421,10 +421,10 @@ public async Task Attribute_exclusion_from_resource_definition_is_applied_for_fi
Star star = _fakers.Star.Generate();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.Stars.Add(star);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
string route = $"/stars/{star.StringId}?fields[stars]=name,isVisibleFromEarth";
@@ -558,10 +558,10 @@ public async Task Queryable_parameter_handler_from_resource_definition_is_not_ap
Planet planet = _fakers.Planet.Generate();
planet.Moons = _fakers.Moon.Generate(1).ToHashSet();
- await _testContext.RunOnDatabaseAsync(dbContext =>
+ await _testContext.RunOnDatabaseAsync(async dbContext =>
{
dbContext.Planets.Add(planet);
- return dbContext.SaveChangesAsync();
+ await dbContext.SaveChangesAsync();
});
string route = $"/planets/{planet.StringId}/moons?isLargerThanTheSun=false";
diff --git a/test/TestBuildingBlocks/IntegrationTest.cs b/test/TestBuildingBlocks/IntegrationTest.cs
index 2080a47..50fc3fd 100644
--- a/test/TestBuildingBlocks/IntegrationTest.cs
+++ b/test/TestBuildingBlocks/IntegrationTest.cs
@@ -22,34 +22,34 @@ static IntegrationTest()
ThrottleSemaphore = new SemaphoreSlim(maxConcurrentTestRuns);
}
- public Task<(HttpResponseMessage httpResponse, TResponseDocument responseDocument)> ExecuteGetAsync(string requestUrl,
+ public async Task<(HttpResponseMessage httpResponse, TResponseDocument responseDocument)> ExecuteGetAsync(string requestUrl,
Action? setRequestHeaders = null)
{
- return ExecuteRequestAsync(HttpMethod.Get, requestUrl, null, null, setRequestHeaders);
+ return await ExecuteRequestAsync(HttpMethod.Get, requestUrl, null, null, setRequestHeaders);
}
- public Task<(HttpResponseMessage httpResponse, TResponseDocument responseDocument)> ExecutePostAsync(string requestUrl,
+ public async Task<(HttpResponseMessage httpResponse, TResponseDocument responseDocument)> ExecutePostAsync(string requestUrl,
object requestBody, string contentType = HeaderConstants.MediaType, Action? setRequestHeaders = null)
{
- return ExecuteRequestAsync(HttpMethod.Post, requestUrl, requestBody, contentType, setRequestHeaders);
+ return await ExecuteRequestAsync(HttpMethod.Post, requestUrl, requestBody, contentType, setRequestHeaders);
}
- public Task<(HttpResponseMessage httpResponse, TResponseDocument responseDocument)> ExecutePostAtomicAsync(string requestUrl,
+ public async Task<(HttpResponseMessage httpResponse, TResponseDocument responseDocument)> ExecutePostAtomicAsync(string requestUrl,
object requestBody, string contentType = HeaderConstants.AtomicOperationsMediaType, Action? setRequestHeaders = null)
{
- return ExecuteRequestAsync(HttpMethod.Post, requestUrl, requestBody, contentType, setRequestHeaders);
+ return await ExecuteRequestAsync(HttpMethod.Post, requestUrl, requestBody, contentType, setRequestHeaders);
}
- public Task<(HttpResponseMessage httpResponse, TResponseDocument responseDocument)> ExecutePatchAsync(string requestUrl,
+ public async Task<(HttpResponseMessage httpResponse, TResponseDocument responseDocument)> ExecutePatchAsync(string requestUrl,
object requestBody, string contentType = HeaderConstants.MediaType, Action? setRequestHeaders = null)
{
- return ExecuteRequestAsync(HttpMethod.Patch, requestUrl, requestBody, contentType, setRequestHeaders);
+ return await ExecuteRequestAsync(HttpMethod.Patch, requestUrl, requestBody, contentType, setRequestHeaders);
}
- public Task<(HttpResponseMessage httpResponse, TResponseDocument responseDocument)> ExecuteDeleteAsync(string requestUrl,
+ public async Task<(HttpResponseMessage httpResponse, TResponseDocument responseDocument)> ExecuteDeleteAsync(string requestUrl,
object? requestBody = null, string contentType = HeaderConstants.MediaType, Action? setRequestHeaders = null)
{
- return ExecuteRequestAsync(HttpMethod.Delete, requestUrl, requestBody, contentType, setRequestHeaders);
+ return await ExecuteRequestAsync(HttpMethod.Delete, requestUrl, requestBody, contentType, setRequestHeaders);
}
private async Task<(HttpResponseMessage httpResponse, TResponseDocument responseDocument)> ExecuteRequestAsync(HttpMethod method,
@@ -110,9 +110,9 @@ static IntegrationTest()
}
}
- public Task InitializeAsync()
+ public async Task InitializeAsync()
{
- return ThrottleSemaphore.WaitAsync();
+ await ThrottleSemaphore.WaitAsync();
}
public virtual Task DisposeAsync()
diff --git a/test/TestBuildingBlocks/MongoDbContextShim.cs b/test/TestBuildingBlocks/MongoDbContextShim.cs
index abc8942..82356d8 100644
--- a/test/TestBuildingBlocks/MongoDbContextShim.cs
+++ b/test/TestBuildingBlocks/MongoDbContextShim.cs
@@ -22,10 +22,10 @@ protected MongoDbSetShim Set()
return dbSetShim;
}
- public Task ClearTableAsync()
+ public async Task ClearTableAsync()
where TEntity : IMongoIdentifiable
{
- return _database.DropCollectionAsync(typeof(TEntity).Name);
+ await _database.DropCollectionAsync(typeof(TEntity).Name);
}
public async Task SaveChangesAsync(CancellationToken cancellation = default)
diff --git a/test/TestBuildingBlocks/MongoDbSetShim.cs b/test/TestBuildingBlocks/MongoDbSetShim.cs
index 16e35d5..182ac6e 100644
--- a/test/TestBuildingBlocks/MongoDbSetShim.cs
+++ b/test/TestBuildingBlocks/MongoDbSetShim.cs
@@ -57,9 +57,9 @@ internal override async Task PersistAsync(CancellationToken cancellationToken)
}
}
- public Task ExecuteAsync(Func, Task> action)
+ public async Task ExecuteAsync(Func, Task> action)
{
- return action(_collection);
+ await action(_collection);
}
public async Task FirstWithIdAsync(string? id, CancellationToken cancellationToken = default)
@@ -79,13 +79,13 @@ public async Task FirstWithIdAsync(string? id, CancellationToken cancel
return await _collection.AsQueryable().FirstOrDefaultAsync(document => Equals(document.Id, id), cancellationToken);
}
- public Task> ToListAsync(CancellationToken cancellationToken = default)
+ public async Task> ToListAsync(CancellationToken cancellationToken = default)
{
- return _collection.AsQueryable().ToListAsync(cancellationToken);
+ return await _collection.AsQueryable().ToListAsync(cancellationToken);
}
- public Task> ToListWhereAsync(Expression> predicate, CancellationToken cancellationToken = default)
+ public async Task> ToListWhereAsync(Expression> predicate, CancellationToken cancellationToken = default)
{
- return _collection.AsQueryable().Where(predicate).ToListAsync(cancellationToken);
+ return await _collection.AsQueryable().Where(predicate).ToListAsync(cancellationToken);
}
}
From 949b5b0e40ddab9a4481c5483e9a6494d332c311 Mon Sep 17 00:00:00 2001
From: Bart Koelman <10324372+bkoelman@users.noreply.github.com>
Date: Sun, 30 Jun 2024 23:10:45 +0200
Subject: [PATCH 28/45] Sync up with changes in JsonApiDotNetCore since v5.5.0
---
.github/workflows/build.yml | 34 +---------------
Directory.Build.props | 2 +-
JsonApiDotNetCore.MongoDb.sln | 3 +-
WarningSeverities.DotSettings | 4 +-
cleanupcode.ps1 | 6 +--
logo.png | Bin 16356 -> 0 bytes
package-icon.png | Bin 0 -> 2905 bytes
package-versions.props | 12 +++---
.../Controllers/OperationsController.cs | 3 +-
.../Configuration/ResourceGraphExtensions.cs | 38 ++++++++++++++++++
.../ServiceCollectionExtensions.cs | 7 ++++
.../JsonApiDotNetCore.MongoDb.csproj | 6 +--
.../Repositories/IMongoDataAccess.cs | 6 +++
.../Repositories/MongoDataAccess.cs | 8 +++-
.../Repositories/MongoModel.cs | 33 ---------------
.../Repositories/MongoRepository.cs | 15 +++++--
.../AtomicOperations/OperationsController.cs | 3 +-
.../AtomicOperations/OperationsFakers.cs | 14 +++----
.../Transactions/LyricRepository.cs | 2 +-
.../IntegrationTests/Meta/MetaFakers.cs | 4 +-
.../QueryStrings/QueryStringFakers.cs | 8 ++--
.../ReadWrite/ReadWriteFakers.cs | 12 +++---
.../Reading/MoonDefinition.cs | 2 -
.../Reading/UniverseFakers.cs | 8 ++--
.../{FakerContainer.cs => FakerExtensions.cs} | 18 ++++++---
25 files changed, 129 insertions(+), 119 deletions(-)
delete mode 100644 logo.png
create mode 100644 package-icon.png
create mode 100644 src/JsonApiDotNetCore.MongoDb/Configuration/ResourceGraphExtensions.cs
delete mode 100644 src/JsonApiDotNetCore.MongoDb/Repositories/MongoModel.cs
rename test/TestBuildingBlocks/{FakerContainer.cs => FakerExtensions.cs} (86%)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index e10312d..75cb869 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -43,36 +43,6 @@ jobs:
dotnet-version: |
6.0.x
8.0.x
- - name: Setup PowerShell (Ubuntu)
- if: matrix.os == 'ubuntu-latest'
- run: |
- dotnet tool install --global PowerShell
- - name: Find latest PowerShell version (Windows)
- if: matrix.os == 'windows-latest'
- shell: pwsh
- run: |
- $packageName = "powershell"
- $outputText = dotnet tool search $packageName --take 1
- $outputLine = ("" + $outputText)
- $indexOfVersionLine = $outputLine.IndexOf($packageName)
- $latestVersion = $outputLine.substring($indexOfVersionLine + $packageName.length).trim().split(" ")[0].trim()
-
- Write-Output "Found PowerShell version: $latestVersion"
- Write-Output "POWERSHELL_LATEST_VERSION=$latestVersion" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- - name: Setup PowerShell (Windows)
- if: matrix.os == 'windows-latest'
- shell: cmd
- run: |
- set DOWNLOAD_LINK=https://github.com/PowerShell/PowerShell/releases/download/v%POWERSHELL_LATEST_VERSION%/PowerShell-%POWERSHELL_LATEST_VERSION%-win-x64.msi
- set OUTPUT_PATH=%RUNNER_TEMP%\PowerShell-%POWERSHELL_LATEST_VERSION%-win-x64.msi
- echo Downloading from: %DOWNLOAD_LINK% to: %OUTPUT_PATH%
- curl --location --output %OUTPUT_PATH% %DOWNLOAD_LINK%
- msiexec.exe /package %OUTPUT_PATH% /quiet USE_MU=1 ENABLE_MU=1 ADD_PATH=1 DISABLE_TELEMETRY=1
- - name: Setup PowerShell (macOS)
- if: matrix.os == 'macos-latest'
- run: |
- /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- brew install --cask powershell
- name: Show installed versions
shell: pwsh
run: |
@@ -235,13 +205,13 @@ jobs:
$baseCommitHash = git rev-parse HEAD~1
Write-Output "Running code cleanup on commit range $baseCommitHash..$headCommitHash in pull request."
- dotnet regitlint -s JsonApiDotNetCore.MongoDb.sln --print-command --skip-tool-check --max-runs=5 --jb --dotnetcoresdk=$(dotnet --version) --jb-profile="JADNC Full Cleanup" --jb --properties:Configuration=Release --jb --verbosity=WARN -f commits -a $headCommitHash -b $baseCommitHash --fail-on-diff --print-diff
+ dotnet regitlint -s JsonApiDotNetCore.MongoDb.sln --print-command --skip-tool-check --max-runs=5 --jb --dotnetcoresdk=$(dotnet --version) --jb-profile="JADNC Full Cleanup" --jb --properties:Configuration=Release --jb --properties:RunAnalyzers=false --jb --verbosity=WARN -f commits -a $headCommitHash -b $baseCommitHash --fail-on-diff --print-diff
- name: CleanupCode (on branch)
if: github.event_name == 'push' || github.event_name == 'release'
shell: pwsh
run: |
Write-Output "Running code cleanup on all files."
- dotnet regitlint -s JsonApiDotNetCore.MongoDb.sln --print-command --skip-tool-check --jb --dotnetcoresdk=$(dotnet --version) --jb-profile="JADNC Full Cleanup" --jb --properties:Configuration=Release --jb --verbosity=WARN --fail-on-diff --print-diff
+ dotnet regitlint -s JsonApiDotNetCore.MongoDb.sln --print-command --skip-tool-check --jb --dotnetcoresdk=$(dotnet --version) --jb-profile="JADNC Full Cleanup" --jb --properties:Configuration=Release --jb --properties:RunAnalyzers=false --jb --verbosity=WARN --fail-on-diff --print-diff
publish:
timeout-minutes: 60
diff --git a/Directory.Build.props b/Directory.Build.props
index d13bf29..a30d43f 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -27,6 +27,6 @@
false
$(MSBuildThisFileDirectory)CodingGuidelines.ruleset
$(MSBuildThisFileDirectory)tests.runsettings
- 5.5.1
+ 5.6.0
diff --git a/JsonApiDotNetCore.MongoDb.sln b/JsonApiDotNetCore.MongoDb.sln
index 81b5b78..83efaf6 100644
--- a/JsonApiDotNetCore.MongoDb.sln
+++ b/JsonApiDotNetCore.MongoDb.sln
@@ -23,11 +23,12 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
.gitignore = .gitignore
+ .github\workflows\build.yml = .github\workflows\build.yml
CodingGuidelines.ruleset = CodingGuidelines.ruleset
CSharpGuidelinesAnalyzer.config = CSharpGuidelinesAnalyzer.config
Directory.Build.props = Directory.Build.props
- tests.runsettings = tests.runsettings
package-versions.props = package-versions.props
+ tests.runsettings = tests.runsettings
EndProjectSection
EndProject
Global
diff --git a/WarningSeverities.DotSettings b/WarningSeverities.DotSettings
index 5c641e6..060df31 100644
--- a/WarningSeverities.DotSettings
+++ b/WarningSeverities.DotSettings
@@ -69,6 +69,7 @@
WARNING
WARNING
WARNING
+ WARNING
WARNING
WARNING
WARNING
@@ -122,6 +123,7 @@
WARNING
WARNING
WARNING
+ WARNING
WARNING
WARNING
WARNING
@@ -164,7 +166,6 @@
WARNING
WARNING
WARNING
- WARNING
WARNING
WARNING
WARNING
@@ -196,6 +197,7 @@
WARNING
WARNING
WARNING
+ WARNING
WARNING
WARNING
WARNING
diff --git a/cleanupcode.ps1 b/cleanupcode.ps1
index a593bd9..9a86aba 100644
--- a/cleanupcode.ps1
+++ b/cleanupcode.ps1
@@ -28,17 +28,17 @@ if ($revision) {
if ($baseCommitHash -eq $headCommitHash) {
Write-Output "Running code cleanup on staged/unstaged files."
- dotnet regitlint -s JsonApiDotNetCore.MongoDb.sln --print-command --skip-tool-check --max-runs=5 --jb --dotnetcoresdk=$(dotnet --version) --jb-profile="JADNC Full Cleanup" --jb --properties:Configuration=Release --jb --verbosity=WARN -f staged,modified
+ dotnet regitlint -s JsonApiDotNetCore.MongoDb.sln --print-command --skip-tool-check --max-runs=5 --jb --dotnetcoresdk=$(dotnet --version) --jb-profile="JADNC Full Cleanup" --jb --properties:Configuration=Release --jb --properties:RunAnalyzers=false --jb --verbosity=WARN -f staged,modified
VerifySuccessExitCode
}
else {
Write-Output "Running code cleanup on commit range $baseCommitHash..$headCommitHash, including staged/unstaged files."
- dotnet regitlint -s JsonApiDotNetCore.MongoDb.sln --print-command --skip-tool-check --max-runs=5 --jb --dotnetcoresdk=$(dotnet --version) --jb-profile="JADNC Full Cleanup" --jb --properties:Configuration=Release --jb --verbosity=WARN -f staged,modified,commits -a $headCommitHash -b $baseCommitHash
+ dotnet regitlint -s JsonApiDotNetCore.MongoDb.sln --print-command --skip-tool-check --max-runs=5 --jb --dotnetcoresdk=$(dotnet --version) --jb-profile="JADNC Full Cleanup" --jb --properties:Configuration=Release --jb --properties:RunAnalyzers=false --jb --verbosity=WARN -f staged,modified,commits -a $headCommitHash -b $baseCommitHash
VerifySuccessExitCode
}
}
else {
Write-Output "Running code cleanup on all files."
- dotnet regitlint -s JsonApiDotNetCore.MongoDb.sln --print-command --skip-tool-check --jb --dotnetcoresdk=$(dotnet --version) --jb-profile="JADNC Full Cleanup" --jb --properties:Configuration=Release --jb --verbosity=WARN
+ dotnet regitlint -s JsonApiDotNetCore.MongoDb.sln --print-command --skip-tool-check --jb --dotnetcoresdk=$(dotnet --version) --jb-profile="JADNC Full Cleanup" --jb --properties:Configuration=Release --jb --properties:RunAnalyzers=false --jb --verbosity=WARN
VerifySuccessExitCode
}
diff --git a/logo.png b/logo.png
deleted file mode 100644
index 78f1acd5214eb049971fcd5f81dc6222f7904d20..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 16356
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