From c1ea54dc671704626418af0e16c47cc7177fa0ba Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Jun 2026 11:42:59 +0000 Subject: [PATCH 1/2] Bump coverlet.collector and 3 others Bumps coverlet.collector from 10.0.0 to 10.0.1 Bumps Microsoft.NET.Test.Sdk from 18.4.0 to 18.6.0 Bumps Microsoft.Playwright from 1.59.0 to 1.60.0 Bumps NUnit from 4.5.1 to 4.6.1 --- updated-dependencies: - dependency-name: coverlet.collector dependency-version: 10.0.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: test-dependencies - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 18.6.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: test-dependencies - dependency-name: Microsoft.Playwright dependency-version: 1.60.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: test-dependencies - dependency-name: NUnit dependency-version: 4.6.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: test-dependencies ... Signed-off-by: dependabot[bot] --- Directory.Packages.props | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index 795cd675..550ca25a 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -4,7 +4,7 @@ false - + @@ -12,13 +12,13 @@ - - + + - + From 8138eb472b9f7943e71187a64af4afddc2605a31 Mon Sep 17 00:00:00 2001 From: Louis Zanella Date: Tue, 2 Jun 2026 15:23:39 -0400 Subject: [PATCH 2/2] Fix build --- NGitLab.Mock.Tests/FileTests.cs | 5 +- NGitLab.Mock.Tests/GitLabClientMockTest.cs | 16 ++--- NGitLab.Mock.Tests/GroupsMockTests.cs | 62 +++++++++---------- NGitLab.Mock.Tests/IssuesMockTests.cs | 5 +- NGitLab.Mock.Tests/MergeRequestsMockTests.cs | 8 +-- NGitLab.Mock.Tests/ProjectsMockTests.cs | 20 +++--- NGitLab.Mock.Tests/RepositoryMockTests.cs | 19 +++--- NGitLab.Mock.Tests/TagTests.cs | 5 +- NGitLab.Mock/Clients/TagClient.cs | 2 +- NGitLab.Mock/Repository.cs | 4 +- NGitLab.Tests/APITests.cs | 5 +- NGitLab.Tests/CommitStatusTests.cs | 6 +- NGitLab.Tests/CommitsTests.cs | 16 ++--- NGitLab.Tests/CompareTests.cs | 7 ++- NGitLab.Tests/EnvironmentsTests.cs | 2 +- .../FunctionRetryExtensionsTests.cs | 2 +- NGitLab.Tests/FilesTests.cs | 6 +- NGitLab.Tests/GitLabCredentialsTests.cs | 4 +- NGitLab.Tests/GraphQLTests.cs | 5 +- NGitLab.Tests/GroupVariableClientTests.cs | 5 +- NGitLab.Tests/GroupsTests.cs | 62 +++++++++---------- NGitLab.Tests/HttpRequestorTests.cs | 8 +-- NGitLab.Tests/Impl/JsonConverterTests.cs | 4 +- .../Impl/WebHeadersDictionaryAdaptorTests.cs | 5 +- NGitLab.Tests/IssueTests.cs | 8 +-- NGitLab.Tests/LintClientTests.cs | 23 +++---- .../MergeRequest/MergeRequestClientTests.cs | 8 +-- .../MergeRequestCommentsClientTests.cs | 4 +- .../MergeRequestDiscussionsClientTests.cs | 4 +- .../Milestone/MilestoneClientTests.cs | 7 ++- NGitLab.Tests/ProjectIssueNoteTests.cs | 2 +- NGitLab.Tests/ProjectVariableClientTests.cs | 9 +-- NGitLab.Tests/ProjectsTests.cs | 26 ++++---- .../RepositoryClient/RepositoryClientTests.cs | 4 +- NGitLab.Tests/RunnerTests.cs | 8 +-- NGitLab.Tests/Sha1Tests.cs | 6 +- NGitLab.Tests/TagTests.cs | 4 +- NGitLab.Tests/UsersTests.cs | 6 +- 38 files changed, 207 insertions(+), 195 deletions(-) diff --git a/NGitLab.Mock.Tests/FileTests.cs b/NGitLab.Mock.Tests/FileTests.cs index eec4c792..62566fed 100644 --- a/NGitLab.Mock.Tests/FileTests.cs +++ b/NGitLab.Mock.Tests/FileTests.cs @@ -1,4 +1,5 @@ -using System.IO; +using System; +using System.IO; using System.Threading.Tasks; using NGitLab.Models; using NUnit.Framework; @@ -37,7 +38,7 @@ await filesClient.GetRawAsync(fileToLookUp, async stream => } else { - Assert.ThrowsAsync(async () => await filesClient.GetRawAsync(fileToLookUp, _ => Task.CompletedTask).ConfigureAwait(false)); + Assert.ThrowsAsync((Func)(async () => await filesClient.GetRawAsync(fileToLookUp, _ => Task.CompletedTask).ConfigureAwait(false))); } } } diff --git a/NGitLab.Mock.Tests/GitLabClientMockTest.cs b/NGitLab.Mock.Tests/GitLabClientMockTest.cs index f40901bf..a56fab09 100644 --- a/NGitLab.Mock.Tests/GitLabClientMockTest.cs +++ b/NGitLab.Mock.Tests/GitLabClientMockTest.cs @@ -58,11 +58,11 @@ public void Test_can_get_project_client(Func g var client = server.CreateClient(); - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(getClient(client, 1), Is.Not.Null); Assert.That(getClient(client, "test-group/test-project"), Is.Not.Null); - }); + })); } [TestCaseSource(nameof(GroupClientTestCases))] @@ -79,11 +79,11 @@ public void Test_can_get_group_client(Func getCl var client = server.CreateClient(); - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(getClient(client, 1), Is.Not.Null); Assert.That(getClient(client, "parent-group/test-group"), Is.Not.Null); - }); + })); } [Test] @@ -106,11 +106,11 @@ public void Test_getting_MergeRequestClient_for_group_is_not_implemented() var client = server.CreateClient(); - Assert.Multiple(() => + Assert.Multiple((Action)(() => { - Assert.Throws(() => client.GetGroupMergeRequest(1)); - Assert.Throws(() => client.GetGroupMergeRequest("parent-group/test-group")); - }); + Assert.Throws((Action)(() => client.GetGroupMergeRequest(1))); + Assert.Throws((Action)(() => client.GetGroupMergeRequest("parent-group/test-group"))); + })); } private static IEnumerable GetMethods() diff --git a/NGitLab.Mock.Tests/GroupsMockTests.cs b/NGitLab.Mock.Tests/GroupsMockTests.cs index 13538423..773b5f63 100644 --- a/NGitLab.Mock.Tests/GroupsMockTests.cs +++ b/NGitLab.Mock.Tests/GroupsMockTests.cs @@ -70,7 +70,7 @@ public void Test_get_groups_with_top_level_only_ignores_subgroups() using var server = CreateGroupHierarchy(); var client = server.CreateClient("user1"); - var groups = client.Groups.GetAsync(new Models.GroupQuery { TopLevelOnly = true }); + var groups = client.Groups.GetAsync(new GroupQuery { TopLevelOnly = true }); var expected = new string[] { "user1", "tlg" }; Assert.That(groups.AsEnumerable().Select(g => g.FullPath), Is.EquivalentTo(expected)); @@ -85,11 +85,11 @@ public async Task Test_page_groups_first_page() (var page, var total) = await client.Groups.PageAsync(new(page: 1, perPage: 3)); var expected = new string[] { "user1", "tlg", "tlg/sg1" }; - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(page.Select(g => g.FullPath), Is.EquivalentTo(expected)); Assert.That(total, Is.EqualTo(6)); - }); + })); } [Test] @@ -101,11 +101,11 @@ public async Task Test_page_groups_last_page() (var page, var total) = await client.Groups.PageAsync(new(page: 2, perPage: 4)); var expected = new string[] { "tlg/sg2", "tlg/sg2/sg2_1" }; - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(page.Select(g => g.FullPath), Is.EquivalentTo(expected)); Assert.That(total, Is.EqualTo(6)); - }); + })); } [Test] @@ -124,7 +124,7 @@ public void Test_page_groups_with_invalid_perpage_throws() { using var server = CreateGroupHierarchy(); var client = server.CreateClient("user1"); - Assert.ThrowsAsync(() => client.Groups.PageAsync(new(perPage: 0))); + Assert.ThrowsAsync((Func)(() => client.Groups.PageAsync(new(perPage: 0)))); } [Test] @@ -141,7 +141,7 @@ public void Test_get_subgroups_by_id() .BuildServer(); var client = server.CreateClient("user1"); - var group = client.Groups.GetSubgroupsByIdAsync(12, new Models.SubgroupQuery { }); + var group = client.Groups.GetSubgroupsByIdAsync(12, new SubgroupQuery { }); Assert.That(group.Count(), Is.EqualTo(2), "Subgroups found are invalid"); } @@ -160,7 +160,7 @@ public void Test_get_subgroups_by_fullpath() .BuildServer(); var client = server.CreateClient("user1"); - var group = client.Groups.GetSubgroupsByFullPathAsync("parentgroup1", new Models.SubgroupQuery { }); + var group = client.Groups.GetSubgroupsByFullPathAsync("parentgroup1", new SubgroupQuery { }); Assert.That(group.Count(), Is.EqualTo(2), "Subgroups found are invalid"); } @@ -171,7 +171,7 @@ public void Test_get_subgroups_descendants_by_fullpath() using var server = CreateGroupHierarchy(); var client = server.CreateClient("user1"); - var group = client.Groups.GetSubgroupsByFullPathAsync("tlg", new Models.SubgroupQuery { IncludeDescendants = true }); + var group = client.Groups.GetSubgroupsByFullPathAsync("tlg", new SubgroupQuery { IncludeDescendants = true }); var expected = new string[] { "tlg/sg1", "tlg/sg1/sg1_1", "tlg/sg2", "tlg/sg2/sg2_1" }; Assert.That(group.AsEnumerable().Select(g => g.FullPath), Is.EquivalentTo(expected)); @@ -183,7 +183,7 @@ public void Test_get_subgroups_descendants_by_id() using var server = CreateGroupHierarchy(); var client = server.CreateClient("user1"); - var group = client.Groups.GetSubgroupsByIdAsync(1, new Models.SubgroupQuery { IncludeDescendants = true }); + var group = client.Groups.GetSubgroupsByIdAsync(1, new SubgroupQuery { IncludeDescendants = true }); var expected = new string[] { "tlg/sg1", "tlg/sg1/sg1_1", "tlg/sg2", "tlg/sg2/sg2_1" }; Assert.That(group.AsEnumerable().Select(g => g.FullPath), Is.EquivalentTo(expected)); @@ -195,7 +195,7 @@ public void Test_get_subgroups_descendants_of_subgroup_by_fullpath() using var server = CreateGroupHierarchy(); var client = server.CreateClient("user1"); - var group = client.Groups.GetSubgroupsAsync("tlg/sg2", new Models.SubgroupQuery { IncludeDescendants = true }); + var group = client.Groups.GetSubgroupsAsync("tlg/sg2", new SubgroupQuery { IncludeDescendants = true }); var expected = new string[] { "tlg/sg2/sg2_1" }; Assert.That(group.AsEnumerable().Select(g => g.FullPath), Is.EquivalentTo(expected)); @@ -207,7 +207,7 @@ public void Test_get_subgroups_descendants_of_subgroup_by_id() using var server = CreateGroupHierarchy(); var client = server.CreateClient("user1"); - var group = client.Groups.GetSubgroupsAsync(2, new Models.SubgroupQuery { IncludeDescendants = true }); + var group = client.Groups.GetSubgroupsAsync(2, new SubgroupQuery { IncludeDescendants = true }); var expected = new string[] { "tlg/sg1/sg1_1" }; Assert.That(group.AsEnumerable().Select(g => g.FullPath), Is.EquivalentTo(expected)); @@ -219,14 +219,14 @@ public async Task Test_page_subgroups_with_descendants_first_page() using var server = CreateGroupHierarchy(); var client = server.CreateClient("user1"); - (var page, var total) = await client.Groups.PageSubgroupsAsync("tlg", new(page: 1, perPage: 3, new Models.SubgroupQuery { IncludeDescendants = true })); + (var page, var total) = await client.Groups.PageSubgroupsAsync("tlg", new(page: 1, perPage: 3, new SubgroupQuery { IncludeDescendants = true })); var expected = new string[] { "tlg/sg1", "tlg/sg1/sg1_1", "tlg/sg2" }; - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(page.Select(g => g.FullPath), Is.EquivalentTo(expected)); Assert.That(total, Is.EqualTo(4)); - }); + })); } [Test] @@ -235,14 +235,14 @@ public async Task Test_page_subgroups_with_descendants_last_page() using var server = CreateGroupHierarchy(); var client = server.CreateClient("user1"); - (var page, var total) = await client.Groups.PageSubgroupsAsync(1, new(page: 2, perPage: 3, new Models.SubgroupQuery { IncludeDescendants = true })); + (var page, var total) = await client.Groups.PageSubgroupsAsync(1, new(page: 2, perPage: 3, new SubgroupQuery { IncludeDescendants = true })); var expected = new string[] { "tlg/sg2/sg2_1" }; - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(page.Select(g => g.FullPath), Is.EquivalentTo(expected)); Assert.That(total, Is.EqualTo(4)); - }); + })); } [Test] @@ -251,13 +251,13 @@ public async Task Test_page_subgroups_with_descendants_after_last_page() using var server = CreateGroupHierarchy(); var client = server.CreateClient("user1"); - (var page, var total) = await client.Groups.PageSubgroupsAsync(1, new(page: 100, perPage: 3, new Models.SubgroupQuery { IncludeDescendants = true })); + (var page, var total) = await client.Groups.PageSubgroupsAsync(1, new(page: 100, perPage: 3, new SubgroupQuery { IncludeDescendants = true })); - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(page.Select(g => g.FullPath), Is.Empty); Assert.That(total, Is.EqualTo(4)); - }); + })); } [Test] @@ -276,7 +276,7 @@ public void Test_page_subgroups_with_invalid_perpage_throws() { using var server = CreateGroupHierarchy(); var client = server.CreateClient("user1"); - Assert.ThrowsAsync(() => client.Groups.PageSubgroupsAsync(1, new(page: 1, perPage: 0))); + Assert.ThrowsAsync((Func)(() => client.Groups.PageSubgroupsAsync(1, new(page: 1, perPage: 0)))); } [Test] @@ -288,11 +288,11 @@ public async Task Test_page_projects_first_page() (var page, var total) = await client.Groups.PageProjectsAsync("tlg", new(page: 1, perPage: 1000)); var expected = new string[] { "tlg/p1" }; - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(page.Select(p => p.PathWithNamespace), Is.EquivalentTo(expected)); Assert.That(total, Is.EqualTo(1)); - }); + })); } [Test] @@ -304,11 +304,11 @@ public async Task Test_page_projects_in_subgroup() (var page, var total) = await client.Groups.PageProjectsAsync("tlg/sg1", new(page: 2, perPage: 1)); var expected = new string[] { "tlg/sg1/p3" }; - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(page.Select(p => p.PathWithNamespace), Is.EquivalentTo(expected)); Assert.That(total, Is.EqualTo(2)); - }); + })); } [Test] @@ -319,11 +319,11 @@ public async Task Test_page_projects_in_subgroup_with_no_projects() var client = server.CreateClient("user1"); (var page, var total) = await client.Groups.PageProjectsAsync("tlg/sg2", new()); - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(page.Select(p => p.PathWithNamespace), Is.Empty); Assert.That(total, Is.EqualTo(0)); - }); + })); } [Test] @@ -335,11 +335,11 @@ public async Task Test_page_projects_in_subgroup_with_descendants() (var page, var total) = await client.Groups.PageProjectsAsync("tlg", new(query: new() { IncludeSubGroups = true })); var expected = new string[] { "p1", "p2", "p3" }; - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(page.Select(p => p.Name), Is.EquivalentTo(expected)); Assert.That(total, Is.EqualTo(3)); - }); + })); } [Test] @@ -417,7 +417,7 @@ public async Task Test_group_created_at_date() var client = server.CreateClient("user1"); var t1 = DateTime.UtcNow; - var group = await client.Groups.CreateAsync(new Models.GroupCreate + var group = await client.Groups.CreateAsync(new GroupCreate { Name = "Foo", Path = "foo", diff --git a/NGitLab.Mock.Tests/IssuesMockTests.cs b/NGitLab.Mock.Tests/IssuesMockTests.cs index 2f8b595a..7c61c9cd 100644 --- a/NGitLab.Mock.Tests/IssuesMockTests.cs +++ b/NGitLab.Mock.Tests/IssuesMockTests.cs @@ -1,4 +1,5 @@ -using System.Linq; +using System; +using System.Linq; using NGitLab.Mock.Config; using NGitLab.Models; using NUnit.Framework; @@ -53,7 +54,7 @@ public void Test_issues_assignee_not_throwing_when_assignees_is_null() .BuildServer(); var client = server.CreateClient(); - Assert.DoesNotThrow(() => client.Issues.Get(new IssueQuery { Scope = "assigned_to_me" }).ToArray()); + Assert.DoesNotThrow((Action)(() => client.Issues.Get(new IssueQuery { Scope = "assigned_to_me" }).ToArray())); } [Test] diff --git a/NGitLab.Mock.Tests/MergeRequestsMockTests.cs b/NGitLab.Mock.Tests/MergeRequestsMockTests.cs index 4be03cd9..e1947636 100644 --- a/NGitLab.Mock.Tests/MergeRequestsMockTests.cs +++ b/NGitLab.Mock.Tests/MergeRequestsMockTests.cs @@ -197,11 +197,11 @@ public void Test_merge_request_with_non_conflicting_rebase_needed_and_merge_meth var maintainerClient = server.CreateClient("maintainer"); // Act/Assert - var exception = Assert.Throws(() => maintainerClient.GetMergeRequest(mr.Project.Id).Accept(mr.Iid, new MergeRequestMerge + var exception = Assert.Throws((Action)(() => maintainerClient.GetMergeRequest(mr.Project.Id).Accept(mr.Iid, new MergeRequestMerge { MergeWhenPipelineSucceeds = mr.HeadPipeline != null, ShouldRemoveSourceBranch = true, - })); + }))); Assert.That(exception.StatusCode, Is.EqualTo(HttpStatusCode.MethodNotAllowed)); Assert.That(exception.Message.Equals("The MR cannot be merged with method 'ff': the source branch must first be rebased", StringComparison.Ordinal), Is.True); @@ -253,11 +253,11 @@ public void Test_merge_request_with_conflicts_cannot_be_accepted(bool sourceProj var maintainerClient = server.CreateClient("maintainer"); // Act/Assert - var exception = Assert.Throws(() => maintainerClient.GetMergeRequest(mr.Project.Id).Accept(mr.Iid, new MergeRequestMerge + var exception = Assert.Throws((Action)(() => maintainerClient.GetMergeRequest(mr.Project.Id).Accept(mr.Iid, new MergeRequestMerge { MergeWhenPipelineSucceeds = mr.HeadPipeline != null, ShouldRemoveSourceBranch = true, - })); + }))); Assert.That(exception.StatusCode, Is.EqualTo(HttpStatusCode.NotAcceptable)); Assert.That(exception.Message.Equals("The merge request has some conflicts and cannot be merged", StringComparison.Ordinal), Is.True); diff --git a/NGitLab.Mock.Tests/ProjectsMockTests.cs b/NGitLab.Mock.Tests/ProjectsMockTests.cs index e1e5e1ed..126e3454 100644 --- a/NGitLab.Mock.Tests/ProjectsMockTests.cs +++ b/NGitLab.Mock.Tests/ProjectsMockTests.cs @@ -59,7 +59,7 @@ public void GetProjectAsync_WhenProjectDoesNotExist_ShouldThrowNotFound() var projectClient = gitLabClient.Projects; // Act/Assert - var ex = Assert.ThrowsAsync(() => projectClient.GetAsync("baz1234")); + var ex = Assert.ThrowsAsync((Func)(() => projectClient.GetAsync("baz1234"))); Assert.That(ex.StatusCode, Is.EqualTo(HttpStatusCode.NotFound)); } @@ -82,7 +82,7 @@ public void GetProjectAsync_WhenProjectInaccessible_ShouldThrowNotFound() }); // Act/Assert - var ex = Assert.ThrowsAsync(() => testUser1ProjectClient.GetAsync(testUser2Project.Id)); + var ex = Assert.ThrowsAsync((Func)(() => testUser1ProjectClient.GetAsync(testUser2Project.Id))); Assert.That(ex.StatusCode, Is.EqualTo(HttpStatusCode.NotFound)); } @@ -313,12 +313,12 @@ public void CreateAsync_WhenProjectPathAlreadyExists_ItThrows() var projectClient = server.CreateClient().Projects; // Act - var ex = Assert.CatchAsync(() => + var ex = Assert.CatchAsync((Func)(() => projectClient.CreateAsync(new() { Path = "DUPLICATE", // GitLab path is case-INsensitive Name = "project2", - })); + }))); // Assert Assert.That(ex.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest)); @@ -337,12 +337,12 @@ public void CreateAsync_WhenProjectNameAlreadyExists_ItThrows() var projectClient = server.CreateClient().Projects; // Act - var ex = Assert.ThrowsAsync(() => + var ex = Assert.ThrowsAsync((Func)(() => projectClient.CreateAsync(new() { Path = "project2", Name = "duplicate", // GitLab name is case-Sensitive - })); + }))); // Assert Assert.That(ex.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest)); @@ -431,11 +431,11 @@ public void UpdateAsync_WhenProjectNotFound_ItThrows() var projectClient = server.CreateClient().Projects; // Act - var ex = Assert.CatchAsync(() => + var ex = Assert.CatchAsync((Func)(() => projectClient.UpdateAsync(int.MaxValue, new() { Visibility = VisibilityLevel.Private, - })); + }))); // Assert Assert.That(ex.StatusCode, Is.EqualTo(HttpStatusCode.NotFound)); @@ -456,7 +456,7 @@ public async Task DeleteAsync_WhenProjectExists_ItIsDeleted() await projectClient.DeleteAsync(projectFullPath); // Assert - Assert.CatchAsync(() => projectClient.GetAsync(projectFullPath)); + Assert.CatchAsync((Func)(() => projectClient.GetAsync(projectFullPath))); } [Test] @@ -469,7 +469,7 @@ public void DeleteAsync_WhenProjectNotFound_ItThrows() var projectClient = server.CreateClient().Projects; // Act - var ex = Assert.CatchAsync(() => projectClient.DeleteAsync(int.MaxValue)); + var ex = Assert.CatchAsync((Func)(() => projectClient.DeleteAsync(int.MaxValue))); // Assert Assert.That(ex.StatusCode, Is.EqualTo(HttpStatusCode.NotFound)); diff --git a/NGitLab.Mock.Tests/RepositoryMockTests.cs b/NGitLab.Mock.Tests/RepositoryMockTests.cs index b7ce3b5c..a08ba424 100644 --- a/NGitLab.Mock.Tests/RepositoryMockTests.cs +++ b/NGitLab.Mock.Tests/RepositoryMockTests.cs @@ -1,4 +1,5 @@ -using System.Linq; +using System; +using System.Linq; using System.Threading.Tasks; using NGitLab.Models; using NUnit.Framework; @@ -18,7 +19,7 @@ public void Test_create_commit_in_new_branch_fails_if_both_start_branch_and_sha_ var startBranch = project.DefaultBranch; - Assert.That(() => project.Repository.Commit(new() + Assert.That((Action)(() => project.Repository.Commit(new() { Branch = "new-branch", StartBranch = startBranch, @@ -33,7 +34,7 @@ public void Test_create_commit_in_new_branch_fails_if_both_start_branch_and_sha_ FilePath = "README.md", }, ], - }), Throws.TypeOf() + })), Throws.TypeOf() .With.Message.Contains("GitLab server returned an error (BadRequest): start_branch, start_sha are mutually exclusive.")); } @@ -52,7 +53,7 @@ public void Test_create_a_new_commit_with_start_branch_fails_if_branch_already_e var newBranch = "new-branch"; // Act & Assert - Assert.That(() => project.Repository.Commit(new() + Assert.That((Action)(() => project.Repository.Commit(new() { Branch = newBranch, StartBranch = startBranch, @@ -66,7 +67,7 @@ public void Test_create_a_new_commit_with_start_branch_fails_if_branch_already_e FilePath = "README.md", }, ], - }), Throws.TypeOf() + })), Throws.TypeOf() .With.Message.Contains($"A branch called '{newBranch}' already exists.")); } @@ -85,7 +86,7 @@ public void Test_create_a_new_commit_with_start_sha_fails_if_branch_already_exis var newBranch = "new-branch"; // Act & Assert - Assert.That(() => project.Repository.Commit(new() + Assert.That((Action)(() => project.Repository.Commit(new() { Branch = newBranch, StartSha = initCommit.Sha, @@ -99,7 +100,7 @@ public void Test_create_a_new_commit_with_start_sha_fails_if_branch_already_exis FilePath = "README.md", }, ], - }), Throws.TypeOf() + })), Throws.TypeOf() .With.Message.Contains($"A branch called '{newBranch}' already exists.")); } @@ -177,7 +178,7 @@ public void Test_create_a_new_commit_on_nonexistent_branch() // Act & Assert var commitMessage = "First commit in non existing branch"; - Assert.That(() => project.Repository.Commit(new() + Assert.That((Action)(() => project.Repository.Commit(new() { Branch = "new-branch", CommitMessage = commitMessage, @@ -190,7 +191,7 @@ public void Test_create_a_new_commit_on_nonexistent_branch() FilePath = "README.md", }, ], - }), Throws.TypeOf() + })), Throws.TypeOf() .With.Message.Contains("You can only create or edit files when you are on a branch.")); } diff --git a/NGitLab.Mock.Tests/TagTests.cs b/NGitLab.Mock.Tests/TagTests.cs index ee64c5eb..03284897 100644 --- a/NGitLab.Mock.Tests/TagTests.cs +++ b/NGitLab.Mock.Tests/TagTests.cs @@ -1,4 +1,5 @@ -using System.Linq; +using System; +using System.Linq; using System.Net; using System.Threading.Tasks; using NGitLab.Mock.Config; @@ -27,7 +28,7 @@ public async Task GetTagAsync() var tag = await tagClient.GetByNameAsync("1.0.0"); Assert.That(tag.Name, Is.EqualTo("1.0.0")); - var ex = Assert.ThrowsAsync(() => tagClient.GetByNameAsync("1.0.1")); + var ex = Assert.ThrowsAsync((Func)(() => tagClient.GetByNameAsync("1.0.1"))); Assert.That(ex.StatusCode, Is.EqualTo(HttpStatusCode.NotFound)); } diff --git a/NGitLab.Mock/Clients/TagClient.cs b/NGitLab.Mock/Clients/TagClient.cs index 42cf7714..cdd70b29 100644 --- a/NGitLab.Mock/Clients/TagClient.cs +++ b/NGitLab.Mock/Clients/TagClient.cs @@ -81,7 +81,7 @@ public Tag ToTagClient(LibGit2Sharp.Tag tag) }; } - public GitLabCollectionResponse GetAsync(TagQuery query) + public GitLabCollectionResponse GetAsync(TagQuery query) { using (Context.BeginOperationScope()) { diff --git a/NGitLab.Mock/Repository.cs b/NGitLab.Mock/Repository.cs index f00d44be..5497ae5f 100644 --- a/NGitLab.Mock/Repository.cs +++ b/NGitLab.Mock/Repository.cs @@ -511,7 +511,7 @@ public FileData GetFile(string filePath, string @ref) { Commands.Checkout(repo, @ref); } - catch (LibGit2Sharp.NotFoundException) + catch (NotFoundException) { throw GitLabException.NotFound("File not found"); } @@ -547,7 +547,7 @@ public async Task GetRawFileAsync(string filePath, Func parser, Ge var @ref = request?.Ref ?? repo.Head.FriendlyName; Commands.Checkout(repo, @ref); } - catch (LibGit2Sharp.NotFoundException) + catch (NotFoundException) { throw GitLabException.NotFound("Revision not found"); } diff --git a/NGitLab.Tests/APITests.cs b/NGitLab.Tests/APITests.cs index 4194fc14..0bcb1c44 100644 --- a/NGitLab.Tests/APITests.cs +++ b/NGitLab.Tests/APITests.cs @@ -1,4 +1,5 @@ -using System.Threading.Tasks; +using System; +using System.Threading.Tasks; using NGitLab.Impl; using NGitLab.Tests.Docker; using NUnit.Framework; @@ -14,7 +15,7 @@ public async Task Test_the_exception_does_not_contain_the_password_on_connection using var context = await GitLabTestContext.CreateAsync(); var credentials = new GitLabCredentials(context.DockerContainer.GitLabUrl.ToString(), "invalidUser", "myInvalidPassword"); var api = new API(credentials); - var exception = Assert.Throws(() => api.Get()); + var exception = Assert.Throws((Action)(() => api.Get())); Assert.That(exception.Message, Does.Not.Contain(credentials.Password)); Assert.That(exception.OriginalCall.ToString(), Does.Not.Contain(credentials.Password)); diff --git a/NGitLab.Tests/CommitStatusTests.cs b/NGitLab.Tests/CommitStatusTests.cs index d848da17..949035d8 100644 --- a/NGitLab.Tests/CommitStatusTests.cs +++ b/NGitLab.Tests/CommitStatusTests.cs @@ -42,7 +42,7 @@ public async Task Test_AddingSameCommitStatusTwice_Throws() _ = context.CommitStatusClient.AddOrUpdate(commitStatusCreate); // Act/Assert - var ex = Assert.Throws(() => _ = context.CommitStatusClient.AddOrUpdate(commitStatusCreate)); + var ex = Assert.Throws((Action)(() => _ = context.CommitStatusClient.AddOrUpdate(commitStatusCreate))); Assert.That(ex.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest)); Assert.That(ex.ErrorMessage, Is.EqualTo("Cannot transition status via :run from :running (Reason(s): Status cannot transition via \"run\")")); } @@ -129,7 +129,7 @@ public async Task Test_UpdatingCommitStatus_FailsIfStateUnknownOrTransitionUnsup var invalidState = successiveStates[successiveStates.Length - 1]; commitStatusCreate.State = invalidState; - var ex = Assert.Throws(() => _ = context.CommitStatusClient.AddOrUpdate(commitStatusCreate)); + var ex = Assert.Throws((Action)(() => _ = context.CommitStatusClient.AddOrUpdate(commitStatusCreate))); Assert.That(ex.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest)); Assert.That(ex.ErrorMessage, Does.StartWith("state does not have a valid value").Or .StartWith("Cannot transition status via")); @@ -161,7 +161,7 @@ public async Task Test_QueryByName(string nameToLookUp, bool expectToFind) }).ToArray(); // Assert - Assert.That(statuses.Count, Is.EqualTo(expectToFind ? 1 : 0)); + Assert.That(statuses.Length, Is.EqualTo(expectToFind ? 1 : 0)); } private sealed class CommitStatusTestContext : IDisposable diff --git a/NGitLab.Tests/CommitsTests.cs b/NGitLab.Tests/CommitsTests.cs index 9525cabd..01440a79 100644 --- a/NGitLab.Tests/CommitsTests.cs +++ b/NGitLab.Tests/CommitsTests.cs @@ -236,7 +236,7 @@ public async Task Test_create_commit_in_new_branch_fails_if_both_start_branch_an var startCommit = commitClient.GetCommit(startBranch); // Act/Assert - Assert.That(() => commitClient.Create(new CommitCreate + Assert.That((Func)(() => commitClient.Create(new CommitCreate { Branch = "new-branch", StartBranch = startBranch, @@ -251,7 +251,7 @@ public async Task Test_create_commit_in_new_branch_fails_if_both_start_branch_an FilePath = "README.md", }, ], - }), Throws.TypeOf() + })), Throws.TypeOf() .With.Property(nameof(GitLabException.StatusCode)).EqualTo(HttpStatusCode.BadRequest) .With.Message.Contains("start_branch, start_sha are mutually exclusive.")); } @@ -272,7 +272,7 @@ public async Task Test_create_a_new_commit_with_start_branch_fails_if_branch_alr repoClient.Branches.Create(new BranchCreate { Name = "new-branch", Ref = startBranch }); // Act/Assert - Assert.That(() => commitClient.Create(new CommitCreate + Assert.That((Func)(() => commitClient.Create(new CommitCreate { Branch = "new-branch", StartBranch = startBranch, @@ -286,7 +286,7 @@ public async Task Test_create_a_new_commit_with_start_branch_fails_if_branch_alr FilePath = "README.md", }, ], - }), Throws.TypeOf() + })), Throws.TypeOf() .With.Property(nameof(GitLabException.StatusCode)).EqualTo(HttpStatusCode.BadRequest) .With.Message.Contains("A branch called 'new-branch' already exists.")); } @@ -309,7 +309,7 @@ public async Task Test_create_a_new_commit_with_start_sha_fails_if_branch_alread repoClient.Branches.Create(new BranchCreate { Name = "new-branch", Ref = startBranch }); // Act/Assert - Assert.That(() => commitClient.Create(new CommitCreate + Assert.That((Func)(() => commitClient.Create(new CommitCreate { Branch = "new-branch", StartSha = startSha.ToString().ToLowerInvariant(), @@ -323,7 +323,7 @@ public async Task Test_create_a_new_commit_with_start_sha_fails_if_branch_alread FilePath = "README.md", }, ], - }), Throws.TypeOf() + })), Throws.TypeOf() .With.Property(nameof(GitLabException.StatusCode)).EqualTo(HttpStatusCode.BadRequest) .With.Message.Contains("A branch called 'new-branch' already exists.")); } @@ -338,7 +338,7 @@ public async Task Test_create_commit_on_nonexistent_branch_fails_when_neither_st var commitClient = context.Client.GetCommits(project.Id); // Act/Assert - Assert.That(() => commitClient.Create(new CommitCreate + Assert.That((Func)(() => commitClient.Create(new CommitCreate { Branch = "new-branch", CommitMessage = "First commit in new branch", @@ -351,7 +351,7 @@ public async Task Test_create_commit_on_nonexistent_branch_fails_when_neither_st FilePath = "README.md", }, ], - }), Throws.TypeOf() + })), Throws.TypeOf() .With.Property(nameof(GitLabException.StatusCode)).EqualTo(HttpStatusCode.BadRequest) .With.Message.Contains("You can only create or edit files when you are on a branch")); } diff --git a/NGitLab.Tests/CompareTests.cs b/NGitLab.Tests/CompareTests.cs index f2c70601..a70d3f8f 100644 --- a/NGitLab.Tests/CompareTests.cs +++ b/NGitLab.Tests/CompareTests.cs @@ -1,4 +1,5 @@ -using System.Threading.Tasks; +using System; +using System.Threading.Tasks; using NGitLab.Models; using NGitLab.Tests.Docker; using NUnit.Framework; @@ -63,9 +64,9 @@ public async Task Test_compare_invalid() using var context = await GitLabTestContext.CreateAsync(); var project = context.CreateProject(initializeWithCommits: true); - Assert.Catch(() => + Assert.Catch((Action)(() => { context.Client.GetRepository(project.Id).Compare(new CompareQuery(project.DefaultBranch, "testblub")); - }, "404 Ref Not Found", null); + }), "404 Ref Not Found", null); } } diff --git a/NGitLab.Tests/EnvironmentsTests.cs b/NGitLab.Tests/EnvironmentsTests.cs index d9be880e..4abe8a3b 100644 --- a/NGitLab.Tests/EnvironmentsTests.cs +++ b/NGitLab.Tests/EnvironmentsTests.cs @@ -128,7 +128,7 @@ public async Task Delete() Assert.That(env.State, Is.EqualTo("available").IgnoreCase); // Trying to delete without stopping beforehand will throw... - Assert.Throws(() => envClient.Delete(initialEnvId)); + Assert.Throws((Action)(() => envClient.Delete(initialEnvId))); // Stop envClient.Stop(initialEnvId); diff --git a/NGitLab.Tests/Extensions/FunctionRetryExtensionsTests.cs b/NGitLab.Tests/Extensions/FunctionRetryExtensionsTests.cs index 47f21e44..4d73e65a 100644 --- a/NGitLab.Tests/Extensions/FunctionRetryExtensionsTests.cs +++ b/NGitLab.Tests/Extensions/FunctionRetryExtensionsTests.cs @@ -18,7 +18,7 @@ public void Test_methods_retry_fail_retry_two_time() mockClass.TestRetryMethod(Arg.Any()).Throws(new GitLabException { StatusCode = HttpStatusCode.InternalServerError }); // act - Assert.Throws(() => ((Func)(() => mockClass.TestRetryMethod(isFailed: true))).Retry(options.ShouldRetry, options.RetryInterval, options.RetryCount, options.IsIncremental)); + Assert.Throws((Action)(() => ((Func)(() => mockClass.TestRetryMethod(isFailed: true))).Retry(options.ShouldRetry, options.RetryInterval, options.RetryCount, options.IsIncremental))); // assert mockClass.ReceivedWithAnyArgs(options.RetryCount + 1).TestRetryMethod(Arg.Any()); diff --git a/NGitLab.Tests/FilesTests.cs b/NGitLab.Tests/FilesTests.cs index 4eab6e22..84eda842 100644 --- a/NGitLab.Tests/FilesTests.cs +++ b/NGitLab.Tests/FilesTests.cs @@ -55,7 +55,7 @@ public async Task Test_add_update_delete_get_and_exists_file() exists = filesClient.FileExists(fileName, project.DefaultBranch); Assert.That(exists, Is.False); - Assert.Throws(Is.InstanceOf(), () => filesClient.Get("testDelete.md", project.DefaultBranch)); + Assert.Throws(Is.InstanceOf(), (Action)(() => filesClient.Get("testDelete.md", project.DefaultBranch))); } [Test] @@ -104,7 +104,7 @@ public async Task Test_add_update_delete_get_and_exists_file_async() exists = await filesClient.FileExistsAsync(fileName, project.DefaultBranch); Assert.That(exists, Is.False); - Assert.ThrowsAsync(Is.InstanceOf(), () => filesClient.GetAsync("testDelete.md", project.DefaultBranch)); + Assert.ThrowsAsync(Is.InstanceOf(), (Func)(() => filesClient.GetAsync("testDelete.md", project.DefaultBranch))); } [Test] @@ -136,7 +136,7 @@ await filesClient.GetRawAsync(fileName, async stream => Assert.That(downloadedContent, Is.Not.Null); Assert.That(downloadedContent, Is.EqualTo("test")); - Assert.ThrowsAsync(Is.InstanceOf(), () => filesClient.GetRawAsync("does-not-exist.md", _ => Task.CompletedTask)); + Assert.ThrowsAsync(Is.InstanceOf(), (Func)(() => filesClient.GetRawAsync("does-not-exist.md", _ => Task.CompletedTask))); } [Test] diff --git a/NGitLab.Tests/GitLabCredentialsTests.cs b/NGitLab.Tests/GitLabCredentialsTests.cs index b09c0770..6133d88d 100644 --- a/NGitLab.Tests/GitLabCredentialsTests.cs +++ b/NGitLab.Tests/GitLabCredentialsTests.cs @@ -1,4 +1,4 @@ -using System; +using System; using NGitLab.Impl; using NUnit.Framework; @@ -10,7 +10,7 @@ public class GitLabCredentialsTests [TestCase("https://test/api/v3/")] public void Constructor_should_reject_apiv3(string url) { - Assert.Throws(() => new GitLabCredentials(url, "my_token")); + Assert.Throws((Action)(() => new GitLabCredentials(url, "my_token"))); } [TestCase("https://test", "https://test")] diff --git a/NGitLab.Tests/GraphQLTests.cs b/NGitLab.Tests/GraphQLTests.cs index 394b4acb..c04d4c05 100644 --- a/NGitLab.Tests/GraphQLTests.cs +++ b/NGitLab.Tests/GraphQLTests.cs @@ -1,3 +1,4 @@ +using System; using System.Text.Json.Serialization; using System.Threading.Tasks; using NGitLab.Models; @@ -16,7 +17,7 @@ public async Task Test_invalid_request() using var context = await GitLabTestContext.CreateAsync(); var project = context.CreateProject(); - var exception = Assert.ThrowsAsync(() => context.Client.GraphQL.ExecuteAsync(new GraphQLQuery + var exception = Assert.ThrowsAsync((Func)(() => context.Client.GraphQL.ExecuteAsync(new GraphQLQuery { Query = """ { @@ -25,7 +26,7 @@ public async Task Test_invalid_request() } } """, - })); + }))); Assert.That(exception.Message, Does.Contain("Field 'unknownProperty' doesn't exist on type 'Project'")); } diff --git a/NGitLab.Tests/GroupVariableClientTests.cs b/NGitLab.Tests/GroupVariableClientTests.cs index 6d3491ec..efa8e38d 100644 --- a/NGitLab.Tests/GroupVariableClientTests.cs +++ b/NGitLab.Tests/GroupVariableClientTests.cs @@ -1,4 +1,5 @@ -using System.Linq; +using System; +using System.Linq; using System.Net; using System.Threading.Tasks; using NGitLab.Models; @@ -102,7 +103,7 @@ public async Task Test_group_variables_with_complete_members() Assert.That(variable.Protected, Is.EqualTo(false)); // Delete - var ex = Assert.Throws(() => groupVariableClient.Delete(variable.Key, "wrongScope")); + var ex = Assert.Throws((Action)(() => groupVariableClient.Delete(variable.Key, "wrongScope"))); Assert.That(ex!.StatusCode == HttpStatusCode.NotFound); groupVariableClient.Delete(variable.Key); diff --git a/NGitLab.Tests/GroupsTests.cs b/NGitLab.Tests/GroupsTests.cs index cd249ad8..980bf6ed 100644 --- a/NGitLab.Tests/GroupsTests.cs +++ b/NGitLab.Tests/GroupsTests.cs @@ -359,12 +359,12 @@ public async Task Test_page_group_returns_expected_pages() (var firstPage, var total1) = await groupClient.PageAsync(new(page: 1, perPage: perPage)); // Assert - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(firstPage, Has.Count.AtLeast(1)); Assert.That(firstPage, Has.Count.AtMost(perPage)); Assert.That(total1, Is.AtLeast(firstPage.Count)); - }); + })); // Act - Read last page var totalPages = ((total1.Value - 1) / perPage) + 1; @@ -376,21 +376,21 @@ public async Task Test_page_group_returns_expected_pages() (var lastPage, var total2) = await groupClient.PageAsync(new(page: totalPages, perPage: perPage)); // Assert - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(lastPage, Has.Count.EqualTo(expectedLastPageCount)); Assert.That(total2, Is.EqualTo(total1)); - }); + })); // Act - Read past last page (var pastLastPage, var total3) = await groupClient.PageAsync(new(page: totalPages + 1, perPage: perPage)); // Assert - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(pastLastPage, Is.Empty); Assert.That(total3, Is.EqualTo(total1)); - }); + })); } [Test] @@ -407,11 +407,11 @@ public async Task Test_page_group_query_TopLevelOnly_does_not_return_children() var topLevelOnly = await PageAll(groupClient, new(perPage: 100, query: new() { TopLevelOnly = true })); // Assert - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(child1.ParentId, Is.Not.Null); Assert.That(topLevelOnly.Where(g => g.ParentId != null), Is.Empty); - }); + })); static async Task> PageAll(IGroupsClient groupClient, PageQuery query) { @@ -456,7 +456,7 @@ public async Task Test_group_projects_query_returns_archived() Assert.That(projectResult.Id, Is.EqualTo(project.Id)); Assert.That(projectResult.Archived, Is.True); } - + [Test] [NGitLabRetry] public async Task Test_group_projects_query_page() @@ -517,7 +517,7 @@ public async Task Test_page_group_projects_returns_expected_pages() (var page2, var total2) = await groupClient.PageProjectsAsync(group.Id, new(page: 2, perPage: 2, new() { OrderBy = "name", Sort = "asc" })); (var page3, var total3) = await groupClient.PageProjectsAsync(group.Id, new(page: 3, perPage: 2, new() { OrderBy = "name", Sort = "asc" })); - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(page1.Select(p => p.Name), Is.EquivalentTo(allProjects.Take(2))); Assert.That(total1, Is.EqualTo(3)); @@ -525,7 +525,7 @@ public async Task Test_page_group_projects_returns_expected_pages() Assert.That(total3, Is.EqualTo(3)); Assert.That(page3.Select(p => p.Name), Is.Empty); Assert.That(total3, Is.EqualTo(3)); - }); + })); } [Test] @@ -1119,35 +1119,35 @@ public async Task Test_page_subgroup_returns_expected_pages() (var defaultPage, var total5) = await groupClient.PageSubgroupsAsync(parent.Id, defaultQuery); // Assert - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(firstPage.Select(g => g.Name), Is.EquivalentTo(allChildren.Skip(0).Take(2))); Assert.That(total1, Is.EqualTo(allChildren.Length)); - }); + })); - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(lastPage.Select(g => g.Name), Is.EquivalentTo(allChildren.Skip(2).Take(2))); Assert.That(total2, Is.EqualTo(allChildren.Length)); - }); + })); - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(allInOnePage.Select(g => g.Name), Is.EquivalentTo(allChildren)); Assert.That(total3, Is.EqualTo(allChildren.Length)); - }); + })); - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(pageZero.Select(g => g.Name), Is.EquivalentTo(allChildren)); Assert.That(total4, Is.EqualTo(allChildren.Length)); - }); + })); - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(defaultPage.Select(g => g.Name), Is.EquivalentTo(allChildren)); Assert.That(total5, Is.EqualTo(allChildren.Length)); - }); + })); } [Test] @@ -1183,34 +1183,34 @@ public async Task Test_page_subgroup_including_descendants_returns_expected_page (var defaultPage, var total5) = await groupClient.PageSubgroupsAsync(parent.Id, defaultQuery); // Assert - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(firstPage.Select(g => g.Name), Is.EquivalentTo(allDescendants.Skip(0).Take(3))); Assert.That(total1, Is.EqualTo(allDescendants.Length)); - }); + })); - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(lastPage.Select(g => g.Name), Is.EquivalentTo(allDescendants.Skip(3).Take(3))); Assert.That(total2, Is.EqualTo(allDescendants.Length)); - }); + })); - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(allInOnePage.Select(g => g.Name), Is.EquivalentTo(allDescendants)); Assert.That(total3, Is.EqualTo(allDescendants.Length)); - }); + })); - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(pageZero.Select(g => g.Name), Is.EquivalentTo(allDescendants)); Assert.That(total4, Is.EqualTo(allDescendants.Length)); - }); + })); - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(defaultPage.Select(g => g.Name), Is.EquivalentTo(allDescendants)); Assert.That(total5, Is.EqualTo(allDescendants.Length)); - }); + })); } } diff --git a/NGitLab.Tests/HttpRequestorTests.cs b/NGitLab.Tests/HttpRequestorTests.cs index 35b7f406..d5fa8ede 100644 --- a/NGitLab.Tests/HttpRequestorTests.cs +++ b/NGitLab.Tests/HttpRequestorTests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Globalization; using System.Linq; @@ -30,7 +30,7 @@ public async Task Test_calls_are_retried_when_they_fail_in_gitlab() var requestOptions = new MockRequestOptions(1, TimeSpan.FromMilliseconds(10), isIncremental: false); var httpRequestor = new HttpRequestor(context.DockerContainer.GitLabUrl.ToString(), context.DockerContainer.Credentials.UserToken, MethodType.Get, requestOptions); - Assert.Throws(() => httpRequestor.Execute("invalidUrl")); + Assert.Throws((Action)(() => httpRequestor.Execute("invalidUrl"))); Assert.That(requestOptions.ShouldRetryCalled, Is.True); Assert.That(requestOptions.HandledRequests, Has.Count.EqualTo(2)); Assert.That(requestOptions.HttpRequestSudoHeader, Is.Null); @@ -45,7 +45,7 @@ public async Task Test_the_timeout_can_be_overridden_in_the_request_options() var requestOptions = new MockRequestOptions { HttpClientTimeout = TimeSpan.FromMinutes(2) }; var httpRequestor = new HttpRequestor(context.DockerContainer.GitLabUrl.ToString(), context.DockerContainer.Credentials.UserToken, MethodType.Get, requestOptions); - Assert.Throws(() => httpRequestor.Execute("invalidUrl")); + Assert.Throws((Action)(() => httpRequestor.Execute("invalidUrl"))); Assert.That(requestOptions.HandledRequests.Single().Timeout, Is.EqualTo(TimeSpan.FromMinutes(2).TotalMilliseconds)); } @@ -58,7 +58,7 @@ public async Task Test_request_options_sudo_transferred_to_request_header() var requestOptions = new MockRequestOptions(1, TimeSpan.FromMilliseconds(10), isIncremental: false) { Sudo = "UserToImpersonate" }; var httpRequestor = new HttpRequestor(context.DockerContainer.GitLabUrl.ToString(), context.DockerContainer.Credentials.UserToken, MethodType.Get, requestOptions); - Assert.Throws(() => httpRequestor.Execute("invalidUrl")); + Assert.Throws((Action)(() => httpRequestor.Execute("invalidUrl"))); Assert.That(requestOptions.HttpRequestSudoHeader, Is.EqualTo("UserToImpersonate")); } diff --git a/NGitLab.Tests/Impl/JsonConverterTests.cs b/NGitLab.Tests/Impl/JsonConverterTests.cs index 273ec82e..8b1c3901 100644 --- a/NGitLab.Tests/Impl/JsonConverterTests.cs +++ b/NGitLab.Tests/Impl/JsonConverterTests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Text.Json; using System.Text.Json.Serialization; using NGitLab.Impl.Json; @@ -34,7 +34,7 @@ public void Test_DeserializeNullToSupportedValueType_Succeeds() public void Test_DeserializeNullToUnsupportedValueType_Throws() { var json = @"{ ""a_uint32"": null }"; - var ex = Assert.Throws(() => Serializer.Deserialize(json)); + var ex = Assert.Throws((Action)(() => Serializer.Deserialize(json))); Assert.That(ex.Message, Does.StartWith("The JSON value could not be converted to System.UInt32.")); } diff --git a/NGitLab.Tests/Impl/WebHeadersDictionaryAdaptorTests.cs b/NGitLab.Tests/Impl/WebHeadersDictionaryAdaptorTests.cs index 7bae5865..36db419c 100644 --- a/NGitLab.Tests/Impl/WebHeadersDictionaryAdaptorTests.cs +++ b/NGitLab.Tests/Impl/WebHeadersDictionaryAdaptorTests.cs @@ -1,3 +1,4 @@ +using System; using System.Linq; using System.Net; using NGitLab.Impl; @@ -11,12 +12,12 @@ private static void VerifyAdaptor(WebHeaderCollection headers) { var sut = new WebHeadersDictionaryAdaptor(headers); - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(sut, Has.Count.EqualTo(headers.Count)); Assert.That(sut.Keys.Count(), Is.EqualTo(headers.Count)); Assert.That(sut.Values.Count(), Is.EqualTo(headers.Count)); - }); + })); foreach ((var k, var v) in sut) { diff --git a/NGitLab.Tests/IssueTests.cs b/NGitLab.Tests/IssueTests.cs index eecaaac2..eb3579e4 100644 --- a/NGitLab.Tests/IssueTests.cs +++ b/NGitLab.Tests/IssueTests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Linq; using System.Threading.Tasks; using NGitLab.Models; @@ -165,8 +165,8 @@ public async Task Test_get_issues_with_invalid_project_id_will_throw() using var context = await GitLabTestContext.CreateAsync(); var issuesClient = context.Client.Issues; - Assert.Throws(Is.InstanceOf(), () => issuesClient.ForProject(int.MaxValue).ToList()); - Assert.Throws(Is.InstanceOf(), () => issuesClient.Get(int.MaxValue, new IssueQuery()).ToList()); + Assert.Throws(Is.InstanceOf(), (Action)(() => issuesClient.ForProject(int.MaxValue).ToList())); + Assert.Throws(Is.InstanceOf(), (Action)(() => issuesClient.Get(int.MaxValue, new IssueQuery()).ToList())); } [Test] @@ -323,7 +323,7 @@ public async Task Test_getparticipants_issue() var participant = issuesClient.GetParticipants(project.Id, issue1.IssueId); - Assert.That(participant.Count, Is.EqualTo(1)); + Assert.That(participant.Count(), Is.EqualTo(1)); } [Test] diff --git a/NGitLab.Tests/LintClientTests.cs b/NGitLab.Tests/LintClientTests.cs index a0234e82..674088bb 100644 --- a/NGitLab.Tests/LintClientTests.cs +++ b/NGitLab.Tests/LintClientTests.cs @@ -1,4 +1,5 @@ -using System.Threading; +using System; +using System.Threading; using System.Threading.Tasks; using NGitLab.Models; using NGitLab.Tests.Docker; @@ -48,12 +49,12 @@ public async Task LintValidCIYaml() var result = await context.Client.Lint.ValidateCIYamlContentAsync(project.Id.ToString(), ValidCIYaml, new(), CancellationToken.None); - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(result.Valid, Is.True); Assert.That(result.Errors, Is.Empty); Assert.That(result.Warnings, Is.Empty); - }); + })); } [Test] @@ -68,7 +69,7 @@ public async Task LintValidCIYamlWithJobs() Assert.That(result.Jobs, Has.Length.EqualTo(1)); var job = result.Jobs[0]; - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(job.Name, Is.EqualTo("build-job")); Assert.That(job.Stage, Is.EqualTo("build")); @@ -79,7 +80,7 @@ public async Task LintValidCIYamlWithJobs() Assert.That(job.Environment, Is.Null); Assert.That(job.When, Is.EqualTo("always")); Assert.That(job.AllowFailure, Is.True); - }); + })); } [Test] @@ -92,12 +93,12 @@ public async Task LintInvalidCIYaml() var result = await context.Client.Lint.ValidateCIYamlContentAsync(project.Id.ToString(), InvalidCIYaml, new(), CancellationToken.None); - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(result.Valid, Is.False); Assert.That(result.Errors, Is.Not.Empty); Assert.That(result.Warnings, Is.Empty); - }); + })); } [Test] @@ -118,12 +119,12 @@ public async Task LintValidCIProjectYaml() var result = await context.Client.Lint.ValidateProjectCIConfigurationAsync(project.Id.ToString(), new(), CancellationToken.None); - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(result.Valid, Is.True); Assert.That(result.Errors, Is.Empty); Assert.That(result.Warnings, Is.Empty); - }); + })); } [Test] @@ -144,11 +145,11 @@ public async Task LintInvalidProjectCIYaml() var result = await context.Client.Lint.ValidateProjectCIConfigurationAsync(project.Id.ToString(), new(), CancellationToken.None); - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(result.Valid, Is.False); Assert.That(result.Errors, Is.Not.Empty); Assert.That(result.Warnings, Is.Empty); - }); + })); } } diff --git a/NGitLab.Tests/MergeRequest/MergeRequestClientTests.cs b/NGitLab.Tests/MergeRequest/MergeRequestClientTests.cs index 5ffc6d0d..87341b4f 100644 --- a/NGitLab.Tests/MergeRequest/MergeRequestClientTests.cs +++ b/NGitLab.Tests/MergeRequest/MergeRequestClientTests.cs @@ -156,7 +156,7 @@ public async Task Test_gitlab_returns_an_error_when_trying_to_create_a_request_w var project = context.CreateProject(initializeWithCommits: true); var mergeRequestClient = context.Client.GetMergeRequest(project.Id); - var exception = Assert.Throws(() => + var exception = Assert.Throws((Action)(() => { mergeRequestClient.Create(new MergeRequestCreate { @@ -164,7 +164,7 @@ public async Task Test_gitlab_returns_an_error_when_trying_to_create_a_request_w SourceBranch = project.DefaultBranch, TargetBranch = project.DefaultBranch, }); - }); + })); Assert.That(exception.ErrorMessage, Is.EqualTo("[\"You can't use same project/branch for source and target\"]")); } @@ -179,10 +179,10 @@ public async Task Test_merge_request_delete() mergeRequestClient.Delete(mergeRequest.Iid); - Assert.Throws(() => + Assert.Throws((Action)(() => { _ = mergeRequestClient[mergeRequest.Iid]; - }); + })); } [Test] diff --git a/NGitLab.Tests/MergeRequest/MergeRequestCommentsClientTests.cs b/NGitLab.Tests/MergeRequest/MergeRequestCommentsClientTests.cs index ebd621ce..32894980 100644 --- a/NGitLab.Tests/MergeRequest/MergeRequestCommentsClientTests.cs +++ b/NGitLab.Tests/MergeRequest/MergeRequestCommentsClientTests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Linq; using System.Net; using System.Threading.Tasks; @@ -82,7 +82,7 @@ public async Task AddCommentToMergeRequestOnArchivedProject() }; context.Client.Projects.Archive(project.Id); - var ex = Assert.Throws(() => mergeRequestComments.Add(newComment)); + var ex = Assert.Throws((Action)(() => mergeRequestComments.Add(newComment))); Assert.That(ex.StatusCode, Is.EqualTo(HttpStatusCode.Forbidden)); } } diff --git a/NGitLab.Tests/MergeRequest/MergeRequestDiscussionsClientTests.cs b/NGitLab.Tests/MergeRequest/MergeRequestDiscussionsClientTests.cs index 16d090e9..6e16b27f 100644 --- a/NGitLab.Tests/MergeRequest/MergeRequestDiscussionsClientTests.cs +++ b/NGitLab.Tests/MergeRequest/MergeRequestDiscussionsClientTests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Linq; using System.Net; using System.Threading.Tasks; @@ -103,7 +103,7 @@ public async Task AddDiscussionToMergeRequestOnArchivedProject() var projectClient = context.Client.Projects; projectClient.Archive(project.Id); - var ex = Assert.Throws(() => mergeRequestDiscussions.Add(newDiscussion)); + var ex = Assert.Throws((Action)(() => mergeRequestDiscussions.Add(newDiscussion))); Assert.That(ex.StatusCode, Is.EqualTo(HttpStatusCode.Forbidden)); } diff --git a/NGitLab.Tests/Milestone/MilestoneClientTests.cs b/NGitLab.Tests/Milestone/MilestoneClientTests.cs index 4870ef2e..50ca4575 100644 --- a/NGitLab.Tests/Milestone/MilestoneClientTests.cs +++ b/NGitLab.Tests/Milestone/MilestoneClientTests.cs @@ -1,4 +1,5 @@ -using System.Linq; +using System; +using System.Linq; using System.Threading.Tasks; using NGitLab.Impl; using NGitLab.Models; @@ -200,9 +201,9 @@ private static void DeleteMilestone(GitLabTestContext context, MilestoneScope sc var milestoneClient = scope == MilestoneScope.Projects ? context.Client.GetMilestone(id) : context.Client.GetGroupMilestone(id); milestoneClient.Delete(milestone.Id); - Assert.Throws(() => + Assert.Throws((Action)(() => { var ms = milestoneClient[milestone.Id]; - }); + })); } } diff --git a/NGitLab.Tests/ProjectIssueNoteTests.cs b/NGitLab.Tests/ProjectIssueNoteTests.cs index 5b2e4898..e9bf5363 100644 --- a/NGitLab.Tests/ProjectIssueNoteTests.cs +++ b/NGitLab.Tests/ProjectIssueNoteTests.cs @@ -65,7 +65,7 @@ public async Task ListNotes() // GitLab create additional issue notes about initial manipulation on the issue, // so a starting count greater than one is expected. Those issue notes have the 'system' boolean set to true. // We validate that there is only two issues that don't have the 'system' flag. - Assert.That(listedNote.Where(x => !x.System).Count, Is.EqualTo(2)); + Assert.That(listedNote.Where(x => !x.System).Count(), Is.EqualTo(2)); Assert.That(listedNote[0].Body, Is.EqualTo(noteCreate.Body)); } } diff --git a/NGitLab.Tests/ProjectVariableClientTests.cs b/NGitLab.Tests/ProjectVariableClientTests.cs index 196c7540..fc87364d 100644 --- a/NGitLab.Tests/ProjectVariableClientTests.cs +++ b/NGitLab.Tests/ProjectVariableClientTests.cs @@ -1,4 +1,5 @@ -using System.Linq; +using System; +using System.Linq; using System.Net; using System.Threading.Tasks; using NGitLab.Models; @@ -107,10 +108,10 @@ public async Task Test_project_variables_with_scope() // Check single access with scoped variables Assert.That(projectVariableClient[changingScopeVariable.Key, changingScopeVariable.EnvironmentScope], Is.Not.Null); - var exMultipleVariables = Assert.Throws(() => + var exMultipleVariables = Assert.Throws((Action)(() => { var dummy = projectVariableClient[changingScopeVariable.Key]; - }); + })); Assert.That(exMultipleVariables?.ErrorMessage, Is.EqualTo("There are multiple variables with provided parameters. Please use 'filter[environment_scope]'")); // Update @@ -128,7 +129,7 @@ public async Task Test_project_variables_with_scope() Assert.That(changingScopeVariable.EnvironmentScope, Is.EqualTo(newScope)); // Delete - var ex = Assert.Throws(() => projectVariableClient.Delete(changingScopeVariable.Key, "wrongScope")); + var ex = Assert.Throws((Action)(() => projectVariableClient.Delete(changingScopeVariable.Key, "wrongScope"))); Assert.That(ex!.StatusCode == HttpStatusCode.NotFound); projectVariableClient.Delete(changingScopeVariable.Key, newScope); diff --git a/NGitLab.Tests/ProjectsTests.cs b/NGitLab.Tests/ProjectsTests.cs index 0990cf2c..d01e68c1 100644 --- a/NGitLab.Tests/ProjectsTests.cs +++ b/NGitLab.Tests/ProjectsTests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Net; @@ -82,7 +82,7 @@ public async Task GetProjectAsync_WhenProjectDoesNotExist_ShouldThrowNotFound() // Act // Assert - var ex = Assert.ThrowsAsync(() => projectClient.GetAsync("baz1234")); + var ex = Assert.ThrowsAsync((Func)(() => projectClient.GetAsync("baz1234"))); // Assert Assert.That(ex.StatusCode, Is.EqualTo(HttpStatusCode.NotFound)); @@ -104,7 +104,7 @@ public async Task GetProjectAsync_WhenProjectInaccessible_ShouldThrowNotFound() }); // Act/Assert - var ex = Assert.ThrowsAsync(() => userProjectClient.GetAsync(adminProject.Id)); + var ex = Assert.ThrowsAsync((Func)(() => userProjectClient.GetAsync(adminProject.Id))); Assert.That(ex.StatusCode, Is.EqualTo(HttpStatusCode.NotFound)); } @@ -386,7 +386,7 @@ public async Task CreateAsync_CreatesNewProject() var actual = await projectClient.CreateAsync(expected); // Assert - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(actual.Name, Is.EqualTo(expected.Name)); Assert.That(actual.Path, Is.EqualTo(expected.Path)); @@ -400,7 +400,7 @@ public async Task CreateAsync_CreatesNewProject() Assert.That(actual.Topics, Is.EquivalentTo(expected.Topics)); Assert.That(actual.RepositoryAccessLevel, Is.EqualTo(RepositoryAccessLevel.Enabled)); Assert.That(actual.BuildTimeout, Is.EqualTo(expected.BuildTimeout)); - }); + })); } [Test] @@ -435,11 +435,11 @@ public async Task CreateAsync_WhenProjectAlreadyExists_ItThrows() var projectClient = context.Client.Projects; // Act - var ex = Assert.ThrowsAsync(() => + var ex = Assert.ThrowsAsync((Func)(() => projectClient.CreateAsync(new() { Path = existingProject.Path, - })); + }))); // Assert Assert.That(ex.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest)); @@ -509,11 +509,11 @@ public async Task UpdateAsync_WhenUpdateVisibilityAndTopics_ItWorks() }); // Assert - Assert.Multiple(() => + Assert.Multiple((Action)(() => { Assert.That(updatedProject.VisibilityLevel, Is.EqualTo(VisibilityLevel.Private)); Assert.That(updatedProject.Topics, Is.EquivalentTo(expectedTopics)); - }); + })); } [Test] @@ -525,11 +525,11 @@ public async Task UpdateAsync_WhenProjectNotFound_ItThrows() var projectClient = context.Client.Projects; // Act - var ex = Assert.ThrowsAsync(() => + var ex = Assert.ThrowsAsync((Func)(() => projectClient.UpdateAsync(int.MaxValue, new() { Visibility = VisibilityLevel.Private, - })); + }))); // Assert Assert.That(ex.StatusCode, Is.EqualTo(HttpStatusCode.NotFound)); @@ -555,7 +555,7 @@ public async Task DeleteAsync_WhenProjectExists_ItIsDeleted() await projectClient.DeleteAsync(project.Id); // Assert - Assert.ThrowsAsync(() => projectClient.GetAsync(project.Id)); + Assert.ThrowsAsync((Func)(() => projectClient.GetAsync(project.Id))); } [Test] @@ -588,7 +588,7 @@ public async Task DeleteAsync_WhenProjectNotFound_ItThrows() var projectClient = context.Client.Projects; // Act - var ex = Assert.ThrowsAsync(() => projectClient.DeleteAsync(int.MaxValue)); + var ex = Assert.ThrowsAsync((Func)(() => projectClient.DeleteAsync(int.MaxValue))); // Assert Assert.That(ex.StatusCode, Is.EqualTo(HttpStatusCode.NotFound)); diff --git a/NGitLab.Tests/RepositoryClient/RepositoryClientTests.cs b/NGitLab.Tests/RepositoryClient/RepositoryClientTests.cs index 8cf7d790..f346d7e0 100644 --- a/NGitLab.Tests/RepositoryClient/RepositoryClientTests.cs +++ b/NGitLab.Tests/RepositoryClient/RepositoryClientTests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Formats.Tar; using System.Globalization; @@ -294,7 +294,7 @@ public async Task GetAllTreeObjectsAtInvalidPathReturnsNotFound() using var context = await RepositoryClientTestsContext.CreateAsync(commitCount: 2); context.Context.IgnoreTestIfGitLabVersionOutOfRange(VersionRange.Parse("[17.7,)")); - var exception = Assert.Throws(() => context.RepositoryClient.GetTree("Fakepath").ToArray()); + var exception = Assert.Throws((Action)(() => context.RepositoryClient.GetTree("Fakepath").ToArray())); Assert.That(exception.StatusCode, Is.EqualTo(HttpStatusCode.NotFound)); } diff --git a/NGitLab.Tests/RunnerTests.cs b/NGitLab.Tests/RunnerTests.cs index 8b8f51a4..b60a6ed4 100644 --- a/NGitLab.Tests/RunnerTests.cs +++ b/NGitLab.Tests/RunnerTests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Linq; using System.Net; using System.Threading.Tasks; @@ -70,7 +70,7 @@ public async Task Test_can_enable_disable_and_delete_a_runner_on_projects() // And the only way to unregister it from the owner project is to delete it runnersClient.Delete(runner.Id); - var ex = Assert.Throws(() => IsRegistered(runner.Id)); + var ex = Assert.Throws((Action)(() => IsRegistered(runner.Id))); Assert.That(ex.StatusCode, Is.EqualTo(HttpStatusCode.NotFound)); bool IsEnabledOnProject(Project project) => runnersClient[runner.Id].Projects.Any(x => x.Id == project.Id); @@ -90,7 +90,7 @@ public async Task Test_cannot_disable_runner_on_owner_project() var runner = runnersClient.Register(new RunnerRegister { Token = project.RunnersToken }); Assert.That(IsEnabledOnProject(project), Is.True); - var exception = Assert.Throws(() => runnersClient.DisableRunner(project.Id, new RunnerId(runner.Id))); + var exception = Assert.Throws((Action)(() => runnersClient.DisableRunner(project.Id, new RunnerId(runner.Id)))); Assert.That(exception.StatusCode, Is.EqualTo(HttpStatusCode.Forbidden)); bool IsEnabledOnProject(Project project) => runnersClient[runner.Id].Projects.Any(x => x.Id == project.Id); } @@ -111,7 +111,7 @@ public async Task Test_can_register_and_delete_a_runner_on_a_group() Assert.That(IsRegistered(), Is.True); GetRetryPolicy().Execute(() => { runnersClient.Delete(runner.Id); }); - var ex = Assert.Throws(() => IsRegistered()); + var ex = Assert.Throws((Action)(() => IsRegistered())); Assert.That(ex.StatusCode, Is.EqualTo(HttpStatusCode.NotFound)); bool IsRegistered() => GetRetryPolicy().Execute(() => runnersClient[runner.Id].Groups.Any(x => x.Id == createdGroup1.Id)); diff --git a/NGitLab.Tests/Sha1Tests.cs b/NGitLab.Tests/Sha1Tests.cs index 2bcd9b16..115f829b 100644 --- a/NGitLab.Tests/Sha1Tests.cs +++ b/NGitLab.Tests/Sha1Tests.cs @@ -1,4 +1,4 @@ -using System; +using System; using NUnit.Framework; namespace NGitLab.Tests; @@ -30,13 +30,13 @@ public void WhenSha1WithUpperCase_ThenParsedCorrectly() public void WhenNotEnoughtChars_ThenErrorThrown() { const string value = "2695EFFB5807A22FF3D138D593FD856244"; - Assert.Throws(() => new Sha1(value)); + Assert.Throws((Action)(() => new Sha1(value))); } [Test] public void WhenToManyChars_ThenErrorThrown() { const string value = "2695EFFB5807A22FF3D138D593FD856244234234234324"; - Assert.Throws(() => new Sha1(value)); + Assert.Throws((Action)(() => new Sha1(value))); } } diff --git a/NGitLab.Tests/TagTests.cs b/NGitLab.Tests/TagTests.cs index 7811b584..c9db342a 100644 --- a/NGitLab.Tests/TagTests.cs +++ b/NGitLab.Tests/TagTests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Linq; using System.Net; using System.Threading.Tasks; @@ -121,7 +121,7 @@ public async Task GetTag(string tagNameSought, bool expectExistence) } else { - var ex = Assert.ThrowsAsync(() => tagClient.GetByNameAsync(tagNameSought)); + var ex = Assert.ThrowsAsync((Func)(() => tagClient.GetByNameAsync(tagNameSought))); Assert.That(ex.StatusCode, Is.EqualTo(HttpStatusCode.NotFound)); } } diff --git a/NGitLab.Tests/UsersTests.cs b/NGitLab.Tests/UsersTests.cs index 5ce6f881..4200827b 100644 --- a/NGitLab.Tests/UsersTests.cs +++ b/NGitLab.Tests/UsersTests.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Globalization; using System.IO; using System.Linq; @@ -194,7 +194,7 @@ public async Task CreateTokenAsyncAsAdmin_WhenUserNotFound_ItThrowsBadRequest() Scopes = new[] { "write_repository" }, }; - var ex = Assert.ThrowsAsync(() => users.CreateTokenAsync(tokenRequest)); + var ex = Assert.ThrowsAsync((Func)(() => users.CreateTokenAsync(tokenRequest))); Assert.That(ex.StatusCode, Is.EqualTo(HttpStatusCode.NotFound)); Assert.That(ex.ErrorMessage, Is.EqualTo("404 User Not Found")); } @@ -237,7 +237,7 @@ public async Task GetLastActivityDates_UsingNonAdminCredentials() if (context.IsGitLabMajorVersion(15)) { - var exception = Assert.Throws(() => context.Client.Users.GetLastActivityDatesAsync().ToArray()); + var exception = Assert.Throws((Action)(() => context.Client.Users.GetLastActivityDatesAsync().ToArray())); Assert.That(exception?.StatusCode, Is.EqualTo(HttpStatusCode.Forbidden)); } else