diff --git a/Directory.Packages.props b/Directory.Packages.props
index a4ecd366..03ec5cb5 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -4,7 +4,7 @@
false
-
+
@@ -17,7 +17,7 @@
-
+
diff --git a/NGitLab.Mock.Tests/FileTests.cs b/NGitLab.Mock.Tests/FileTests.cs
index 62566fed..5997ac41 100644
--- a/NGitLab.Mock.Tests/FileTests.cs
+++ b/NGitLab.Mock.Tests/FileTests.cs
@@ -38,7 +38,7 @@ await filesClient.GetRawAsync(fileToLookUp, async stream =>
}
else
{
- Assert.ThrowsAsync((Func)(async () => await filesClient.GetRawAsync(fileToLookUp, _ => Task.CompletedTask).ConfigureAwait(false)));
+ await Assert.ThrowsAsync((Func)(async () => await filesClient.GetRawAsync(fileToLookUp, _ => Task.CompletedTask).ConfigureAwait(false)));
}
}
}
diff --git a/NGitLab.Mock.Tests/GroupsMockTests.cs b/NGitLab.Mock.Tests/GroupsMockTests.cs
index 773b5f63..9a09719b 100644
--- a/NGitLab.Mock.Tests/GroupsMockTests.cs
+++ b/NGitLab.Mock.Tests/GroupsMockTests.cs
@@ -120,11 +120,11 @@ public async Task Test_page_groups_with_page_0_returns_page_1()
}
[Test]
- public void Test_page_groups_with_invalid_perpage_throws()
+ public async Task Test_page_groups_with_invalid_perpage_throws()
{
using var server = CreateGroupHierarchy();
var client = server.CreateClient("user1");
- Assert.ThrowsAsync((Func)(() => client.Groups.PageAsync(new(perPage: 0))));
+ await Assert.ThrowsAsync((Func)(() => client.Groups.PageAsync(new(perPage: 0))));
}
[Test]
@@ -272,11 +272,11 @@ public async Task Test_page_subgroups_with_page_0_returns_page_1()
}
[Test]
- public void Test_page_subgroups_with_invalid_perpage_throws()
+ public async Task Test_page_subgroups_with_invalid_perpage_throws()
{
using var server = CreateGroupHierarchy();
var client = server.CreateClient("user1");
- Assert.ThrowsAsync((Func)(() => client.Groups.PageSubgroupsAsync(1, new(page: 1, perPage: 0))));
+ await Assert.ThrowsAsync((Func)(() => client.Groups.PageSubgroupsAsync(1, new(page: 1, perPage: 0))));
}
[Test]
diff --git a/NGitLab.Mock.Tests/MembersMockTests.cs b/NGitLab.Mock.Tests/MembersMockTests.cs
index fdd4e1ef..16e4c192 100644
--- a/NGitLab.Mock.Tests/MembersMockTests.cs
+++ b/NGitLab.Mock.Tests/MembersMockTests.cs
@@ -116,8 +116,8 @@ public async Task Test_members_async_methods_simulate_gitlab_behavior()
const string groupId = "G1/G2";
// Does NOT search inherited permission by default...
- AssertThrowsGitLabException(() => client.Members.GetMemberOfProjectAsync(projectId, user1.Id), System.Net.HttpStatusCode.NotFound);
- AssertThrowsGitLabException(() => client.Members.GetMemberOfGroupAsync(groupId, user1.Id), System.Net.HttpStatusCode.NotFound);
+ await AssertThrowsGitLabException(() => client.Members.GetMemberOfProjectAsync(projectId, user1.Id), System.Net.HttpStatusCode.NotFound);
+ await AssertThrowsGitLabException(() => client.Members.GetMemberOfGroupAsync(groupId, user1.Id), System.Net.HttpStatusCode.NotFound);
Assert.That(client.Members.OfProjectAsync(projectId).AsEnumerable().Select(m => m.UserName), Is.Empty);
Assert.That(client.Members.OfGroupAsync(groupId).AsEnumerable().Select(m => m.UserName), Is.EquivalentTo([ownerName]));
@@ -128,20 +128,20 @@ public async Task Test_members_async_methods_simulate_gitlab_behavior()
Assert.That(client.Members.OfGroupAsync(groupId, includeInheritedMembers: true).AsEnumerable().Select(m => m.UserName), Is.EquivalentTo([ownerName, user1Name]));
// Cannot update non-existent membership...
- AssertThrowsGitLabException(() => client.Members.UpdateMemberOfProjectAsync(projectId, new() { UserId = user1Id, AccessLevel = Models.AccessLevel.Owner }), System.Net.HttpStatusCode.NotFound);
- AssertThrowsGitLabException(() => client.Members.UpdateMemberOfGroupAsync(groupId, new() { UserId = user1Id, AccessLevel = Models.AccessLevel.Owner }), System.Net.HttpStatusCode.NotFound);
+ await AssertThrowsGitLabException(() => client.Members.UpdateMemberOfProjectAsync(projectId, new() { UserId = user1Id, AccessLevel = Models.AccessLevel.Owner }), System.Net.HttpStatusCode.NotFound);
+ await AssertThrowsGitLabException(() => client.Members.UpdateMemberOfGroupAsync(groupId, new() { UserId = user1Id, AccessLevel = Models.AccessLevel.Owner }), System.Net.HttpStatusCode.NotFound);
// Cannot add membership with an access-level lower than inherited...
- AssertThrowsGitLabException(() => client.Members.AddMemberToProjectAsync(projectId, new() { UserId = user1Id, AccessLevel = Models.AccessLevel.Reporter }), System.Net.HttpStatusCode.BadRequest);
- AssertThrowsGitLabException(() => client.Members.AddMemberToGroupAsync(groupId, new() { UserId = user1Id, AccessLevel = Models.AccessLevel.Reporter }), System.Net.HttpStatusCode.BadRequest);
+ await AssertThrowsGitLabException(() => client.Members.AddMemberToProjectAsync(projectId, new() { UserId = user1Id, AccessLevel = Models.AccessLevel.Reporter }), System.Net.HttpStatusCode.BadRequest);
+ await AssertThrowsGitLabException(() => client.Members.AddMemberToGroupAsync(groupId, new() { UserId = user1Id, AccessLevel = Models.AccessLevel.Reporter }), System.Net.HttpStatusCode.BadRequest);
// Can add membership with greater than or equal access-level...
await AssertReturnsMembership(() => client.Members.AddMemberToProjectAsync(projectId, new() { UserId = user1Id, AccessLevel = Models.AccessLevel.Maintainer }), Models.AccessLevel.Maintainer);
await AssertReturnsMembership(() => client.Members.AddMemberToGroupAsync(groupId, new() { UserId = user1Id, AccessLevel = Models.AccessLevel.Maintainer }), Models.AccessLevel.Maintainer);
// Cannot add duplicate membership...
- AssertThrowsGitLabException(() => client.Members.AddMemberToProjectAsync(projectId, new() { UserId = user1Id, AccessLevel = Models.AccessLevel.Owner }), System.Net.HttpStatusCode.Conflict);
- AssertThrowsGitLabException(() => client.Members.AddMemberToGroupAsync(groupId, new() { UserId = user1Id, AccessLevel = Models.AccessLevel.Owner }), System.Net.HttpStatusCode.Conflict);
+ await AssertThrowsGitLabException(() => client.Members.AddMemberToProjectAsync(projectId, new() { UserId = user1Id, AccessLevel = Models.AccessLevel.Owner }), System.Net.HttpStatusCode.Conflict);
+ await AssertThrowsGitLabException(() => client.Members.AddMemberToGroupAsync(groupId, new() { UserId = user1Id, AccessLevel = Models.AccessLevel.Owner }), System.Net.HttpStatusCode.Conflict);
// Can raise access-level above inherited...
await AssertReturnsMembership(() => client.Members.UpdateMemberOfProjectAsync(projectId, new() { UserId = user1Id, AccessLevel = Models.AccessLevel.Owner }), Models.AccessLevel.Owner);
@@ -152,16 +152,16 @@ public async Task Test_members_async_methods_simulate_gitlab_behavior()
await AssertReturnsMembership(() => client.Members.UpdateMemberOfGroupAsync(groupId, new() { UserId = user1Id, AccessLevel = Models.AccessLevel.Maintainer }), Models.AccessLevel.Maintainer);
// Cannot decrease access-level lower than inherited...
- AssertThrowsGitLabException(() => client.Members.UpdateMemberOfProjectAsync(projectId, new() { UserId = user1Id, AccessLevel = Models.AccessLevel.Reporter }), System.Net.HttpStatusCode.BadRequest);
- AssertThrowsGitLabException(() => client.Members.UpdateMemberOfGroupAsync(groupId, new() { UserId = user1Id, AccessLevel = Models.AccessLevel.Reporter }), System.Net.HttpStatusCode.BadRequest);
+ await AssertThrowsGitLabException(() => client.Members.UpdateMemberOfProjectAsync(projectId, new() { UserId = user1Id, AccessLevel = Models.AccessLevel.Reporter }), System.Net.HttpStatusCode.BadRequest);
+ await AssertThrowsGitLabException(() => client.Members.UpdateMemberOfGroupAsync(groupId, new() { UserId = user1Id, AccessLevel = Models.AccessLevel.Reporter }), System.Net.HttpStatusCode.BadRequest);
// Can delete...
await client.Members.RemoveMemberFromProjectAsync(projectId, user1.Id);
await client.Members.RemoveMemberFromGroupAsync(groupId, user1.Id);
// Delete fails when not exist...
- AssertThrowsGitLabException(() => client.Members.RemoveMemberFromProjectAsync(projectId, user1.Id), System.Net.HttpStatusCode.NotFound);
- AssertThrowsGitLabException(() => client.Members.RemoveMemberFromGroupAsync(groupId, user1.Id), System.Net.HttpStatusCode.NotFound);
+ await AssertThrowsGitLabException(() => client.Members.RemoveMemberFromProjectAsync(projectId, user1.Id), System.Net.HttpStatusCode.NotFound);
+ await AssertThrowsGitLabException(() => client.Members.RemoveMemberFromGroupAsync(groupId, user1.Id), System.Net.HttpStatusCode.NotFound);
}
private static async Task AssertReturnsMembership(Func> code, Models.AccessLevel expectedAccessLevel)
@@ -171,9 +171,9 @@ private static async Task AssertReturnsMembership(Func>
Assert.That(membership.AccessLevel, Is.EqualTo((int)expectedAccessLevel));
}
- private static void AssertThrowsGitLabException(AsyncTestDelegate code, System.Net.HttpStatusCode expectedStatusCode)
+ private static async Task AssertThrowsGitLabException(Func code, System.Net.HttpStatusCode expectedStatusCode)
{
- var ex = Assert.CatchAsync(typeof(GitLabException), code) as GitLabException;
+ var ex = await Assert.CatchAsync(typeof(GitLabException), code).ConfigureAwait(false) as GitLabException;
Assert.That(ex, Is.Not.Null);
Assert.That(ex.StatusCode, Is.EqualTo(expectedStatusCode));
}
diff --git a/NGitLab.Mock.Tests/ProjectsMockTests.cs b/NGitLab.Mock.Tests/ProjectsMockTests.cs
index e2d1d08e..df4dcfbc 100644
--- a/NGitLab.Mock.Tests/ProjectsMockTests.cs
+++ b/NGitLab.Mock.Tests/ProjectsMockTests.cs
@@ -49,7 +49,7 @@ public void Test_projects_created_can_be_found()
}
[Test]
- public void GetProjectAsync_WhenProjectDoesNotExist_ShouldThrowNotFound()
+ public async Task GetProjectAsync_WhenProjectDoesNotExist_ShouldThrowNotFound()
{
// Arrange
using var server = new GitLabConfig()
@@ -59,13 +59,13 @@ public void GetProjectAsync_WhenProjectDoesNotExist_ShouldThrowNotFound()
var projectClient = gitLabClient.Projects;
// Act/Assert
- var ex = Assert.ThrowsAsync((Func)(() => projectClient.GetAsync("baz1234")));
+ var ex = await Assert.ThrowsAsync((Func)(() => projectClient.GetAsync("baz1234")));
Assert.That(ex.StatusCode, Is.EqualTo(HttpStatusCode.NotFound));
}
[Test]
- public void GetProjectAsync_WhenProjectInaccessible_ShouldThrowNotFound()
+ public async Task GetProjectAsync_WhenProjectInaccessible_ShouldThrowNotFound()
{
// Arrange
using var server = new GitLabConfig()
@@ -82,7 +82,7 @@ public void GetProjectAsync_WhenProjectInaccessible_ShouldThrowNotFound()
});
// Act/Assert
- var ex = Assert.ThrowsAsync((Func)(() => testUser1ProjectClient.GetAsync(testUser2Project.Id)));
+ var ex = await Assert.ThrowsAsync((Func)(() => testUser1ProjectClient.GetAsync(testUser2Project.Id)));
Assert.That(ex.StatusCode, Is.EqualTo(HttpStatusCode.NotFound));
}
@@ -302,7 +302,7 @@ public async Task CreateAsync_WhenInitializeWithReadmeIsFalse_ItIgnoresDefaultBr
}
[Test]
- public void CreateAsync_WhenProjectPathAlreadyExists_ItThrows()
+ public async Task CreateAsync_WhenProjectPathAlreadyExists_ItThrows()
{
// Arrange
using var server = new GitLabConfig()
@@ -313,7 +313,7 @@ public void CreateAsync_WhenProjectPathAlreadyExists_ItThrows()
var projectClient = server.CreateClient().Projects;
// Act
- var ex = Assert.CatchAsync((Func)(() =>
+ var ex = await Assert.CatchAsync((Func)(() =>
projectClient.CreateAsync(new()
{
Path = "DUPLICATE", // GitLab path is case-INsensitive
@@ -326,7 +326,7 @@ public void CreateAsync_WhenProjectPathAlreadyExists_ItThrows()
}
[Test]
- public void CreateAsync_WhenProjectNameAlreadyExists_ItThrows()
+ public async Task CreateAsync_WhenProjectNameAlreadyExists_ItThrows()
{
// Arrange
using var server = new GitLabConfig()
@@ -337,7 +337,7 @@ public void CreateAsync_WhenProjectNameAlreadyExists_ItThrows()
var projectClient = server.CreateClient().Projects;
// Act
- var ex = Assert.ThrowsAsync((Func)(() =>
+ var ex = await Assert.ThrowsAsync((Func)(() =>
projectClient.CreateAsync(new()
{
Path = "project2",
@@ -476,7 +476,7 @@ await projectClient.UpdateAsync(
}
[Test]
- public void UpdateAsync_WhenProjectNotFound_ItThrows()
+ public async Task UpdateAsync_WhenProjectNotFound_ItThrows()
{
// Arrange
using var server = new GitLabConfig()
@@ -486,7 +486,7 @@ public void UpdateAsync_WhenProjectNotFound_ItThrows()
var projectClient = server.CreateClient().Projects;
// Act
- var ex = Assert.CatchAsync((Func)(() =>
+ var ex = await Assert.CatchAsync((Func)(() =>
projectClient.UpdateAsync(int.MaxValue, new()
{
Visibility = VisibilityLevel.Private,
@@ -516,7 +516,7 @@ public async Task DeleteAsync_WhenProjectExists_MarksProjectForDeletion()
}
[Test]
- public void DeleteAsync_WhenProjectNotFound_ItThrows()
+ public async Task DeleteAsync_WhenProjectNotFound_ItThrows()
{
using var server = new GitLabConfig()
.WithUser("Test", isDefault: true)
@@ -525,7 +525,7 @@ public void DeleteAsync_WhenProjectNotFound_ItThrows()
var projectClient = server.CreateClient().Projects;
// Act
- var ex = Assert.CatchAsync((Func)(() => projectClient.DeleteAsync(int.MaxValue)));
+ var ex = await Assert.CatchAsync((Func)(() => projectClient.DeleteAsync(int.MaxValue)));
// Assert
Assert.That(ex.StatusCode, Is.EqualTo(HttpStatusCode.NotFound));
@@ -576,7 +576,7 @@ public async Task DeleteAsync_WithPermanentlyRemove_AndMatchingFullPath_HardDele
});
// Assert: project is now gone
- Assert.CatchAsync((Func)(() => projectClient.GetAsync(project.Id)));
+ await Assert.CatchAsync((Func)(() => projectClient.GetAsync(project.Id)));
}
[Test]
@@ -595,7 +595,7 @@ public async Task DeleteAsync_WithPermanentlyRemove_AndMismatchedFullPath_Throws
await projectClient.DeleteAsync(project.Id);
// Act: wrong full_path
- var ex = Assert.CatchAsync((Func)(() =>
+ var ex = await Assert.CatchAsync((Func)(() =>
projectClient.DeleteAsync(project.Id, new ProjectDelete
{
PermanentlyRemove = true,
@@ -622,7 +622,7 @@ public async Task PermanentlyDeleteAsync_HardDeletesProjectInOneCall()
await projectClient.PermanentlyDeleteAsync(project.Id);
// Assert: project is gone
- Assert.CatchAsync((Func)(() => projectClient.GetAsync(project.Id)));
+ await Assert.CatchAsync((Func)(() => projectClient.GetAsync(project.Id)));
}
[Test]
diff --git a/NGitLab.Mock.Tests/TagTests.cs b/NGitLab.Mock.Tests/TagTests.cs
index 03284897..96ff7576 100644
--- a/NGitLab.Mock.Tests/TagTests.cs
+++ b/NGitLab.Mock.Tests/TagTests.cs
@@ -28,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((Func)(() => tagClient.GetByNameAsync("1.0.1")));
+ var ex = await Assert.ThrowsAsync((Func)(() => tagClient.GetByNameAsync("1.0.1")));
Assert.That(ex.StatusCode, Is.EqualTo(HttpStatusCode.NotFound));
}
diff --git a/NGitLab.Tests/FilesTests.cs b/NGitLab.Tests/FilesTests.cs
index 84eda842..f8636efb 100644
--- a/NGitLab.Tests/FilesTests.cs
+++ b/NGitLab.Tests/FilesTests.cs
@@ -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(), (Func)(() => filesClient.GetAsync("testDelete.md", project.DefaultBranch)));
+ await 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(), (Func)(() => filesClient.GetRawAsync("does-not-exist.md", _ => Task.CompletedTask)));
+ await Assert.ThrowsAsync(Is.InstanceOf(), (Func)(() => filesClient.GetRawAsync("does-not-exist.md", _ => Task.CompletedTask)));
}
[Test]
diff --git a/NGitLab.Tests/GraphQLTests.cs b/NGitLab.Tests/GraphQLTests.cs
index c04d4c05..99f664f8 100644
--- a/NGitLab.Tests/GraphQLTests.cs
+++ b/NGitLab.Tests/GraphQLTests.cs
@@ -17,7 +17,7 @@ public async Task Test_invalid_request()
using var context = await GitLabTestContext.CreateAsync();
var project = context.CreateProject();
- var exception = Assert.ThrowsAsync((Func)(() => context.Client.GraphQL.ExecuteAsync(new GraphQLQuery
+ var exception = await Assert.ThrowsAsync((Func)(() => context.Client.GraphQL.ExecuteAsync(new GraphQLQuery
{
Query = """
{
diff --git a/NGitLab.Tests/MembersClientTests.cs b/NGitLab.Tests/MembersClientTests.cs
index b725170d..1c16337e 100644
--- a/NGitLab.Tests/MembersClientTests.cs
+++ b/NGitLab.Tests/MembersClientTests.cs
@@ -182,8 +182,8 @@ public async Task AsyncMethodsBehaveAsExpected()
var groupId = group2.FullPath!;
// Does NOT search inherited permission by default...
- AssertThrowsGitLabException(() => client.Members.GetMemberOfProjectAsync(projectId, user1.Id), System.Net.HttpStatusCode.NotFound);
- AssertThrowsGitLabException(() => client.Members.GetMemberOfGroupAsync(groupId, user1.Id), System.Net.HttpStatusCode.NotFound);
+ await AssertThrowsGitLabException(() => client.Members.GetMemberOfProjectAsync(projectId, user1.Id), System.Net.HttpStatusCode.NotFound);
+ await AssertThrowsGitLabException(() => client.Members.GetMemberOfGroupAsync(groupId, user1.Id), System.Net.HttpStatusCode.NotFound);
Assert.That(client.Members.OfProjectAsync(projectId).AsEnumerable().Select(m => m.UserName), Is.Empty);
Assert.That(client.Members.OfGroupAsync(groupId).AsEnumerable().Select(m => m.UserName), Is.EquivalentTo(new[] { ownerName }));
@@ -194,20 +194,20 @@ public async Task AsyncMethodsBehaveAsExpected()
Assert.That(client.Members.OfGroupAsync(groupId, includeInheritedMembers: true).AsEnumerable().Select(m => m.UserName), Is.EquivalentTo(new[] { ownerName, user1Name }));
// Cannot update non-existent membership...
- AssertThrowsGitLabException(() => client.Members.UpdateMemberOfProjectAsync(projectId, new() { UserId = user1Id, AccessLevel = AccessLevel.Owner }), System.Net.HttpStatusCode.NotFound);
- AssertThrowsGitLabException(() => client.Members.UpdateMemberOfGroupAsync(groupId, new() { UserId = user1Id, AccessLevel = AccessLevel.Owner }), System.Net.HttpStatusCode.NotFound);
+ await AssertThrowsGitLabException(() => client.Members.UpdateMemberOfProjectAsync(projectId, new() { UserId = user1Id, AccessLevel = AccessLevel.Owner }), System.Net.HttpStatusCode.NotFound);
+ await AssertThrowsGitLabException(() => client.Members.UpdateMemberOfGroupAsync(groupId, new() { UserId = user1Id, AccessLevel = AccessLevel.Owner }), System.Net.HttpStatusCode.NotFound);
// Cannot add membership with an access-level lower than inherited...
- AssertThrowsGitLabException(() => client.Members.AddMemberToProjectAsync(projectId, new() { UserId = user1Id, AccessLevel = AccessLevel.Reporter }), System.Net.HttpStatusCode.BadRequest);
- AssertThrowsGitLabException(() => client.Members.AddMemberToGroupAsync(groupId, new() { UserId = user1Id, AccessLevel = AccessLevel.Reporter }), System.Net.HttpStatusCode.BadRequest);
+ await AssertThrowsGitLabException(() => client.Members.AddMemberToProjectAsync(projectId, new() { UserId = user1Id, AccessLevel = AccessLevel.Reporter }), System.Net.HttpStatusCode.BadRequest);
+ await AssertThrowsGitLabException(() => client.Members.AddMemberToGroupAsync(groupId, new() { UserId = user1Id, AccessLevel = AccessLevel.Reporter }), System.Net.HttpStatusCode.BadRequest);
// Can add membership with greater than or equal access-level...
await AssertReturnsMembership(() => client.Members.AddMemberToProjectAsync(projectId, new() { UserId = user1Id, AccessLevel = AccessLevel.Maintainer }), AccessLevel.Maintainer);
await AssertReturnsMembership(() => client.Members.AddMemberToGroupAsync(groupId, new() { UserId = user1Id, AccessLevel = AccessLevel.Maintainer }), AccessLevel.Maintainer);
// Cannot add duplicate membership...
- AssertThrowsGitLabException(() => client.Members.AddMemberToProjectAsync(projectId, new() { UserId = user1Id, AccessLevel = AccessLevel.Owner }), System.Net.HttpStatusCode.Conflict);
- AssertThrowsGitLabException(() => client.Members.AddMemberToGroupAsync(groupId, new() { UserId = user1Id, AccessLevel = AccessLevel.Owner }), System.Net.HttpStatusCode.Conflict);
+ await AssertThrowsGitLabException(() => client.Members.AddMemberToProjectAsync(projectId, new() { UserId = user1Id, AccessLevel = AccessLevel.Owner }), System.Net.HttpStatusCode.Conflict);
+ await AssertThrowsGitLabException(() => client.Members.AddMemberToGroupAsync(groupId, new() { UserId = user1Id, AccessLevel = AccessLevel.Owner }), System.Net.HttpStatusCode.Conflict);
// Can raise access-level above inherited...
await AssertReturnsMembership(() => client.Members.UpdateMemberOfProjectAsync(projectId, new() { UserId = user1Id, AccessLevel = AccessLevel.Owner }), AccessLevel.Owner);
@@ -218,16 +218,16 @@ public async Task AsyncMethodsBehaveAsExpected()
await AssertReturnsMembership(() => client.Members.UpdateMemberOfGroupAsync(groupId, new() { UserId = user1Id, AccessLevel = AccessLevel.Maintainer }), AccessLevel.Maintainer);
// Cannot decrease access-level lower than inherited...
- AssertThrowsGitLabException(() => client.Members.UpdateMemberOfProjectAsync(projectId, new() { UserId = user1Id, AccessLevel = AccessLevel.Reporter }), System.Net.HttpStatusCode.BadRequest);
- AssertThrowsGitLabException(() => client.Members.UpdateMemberOfGroupAsync(groupId, new() { UserId = user1Id, AccessLevel = AccessLevel.Reporter }), System.Net.HttpStatusCode.BadRequest);
+ await AssertThrowsGitLabException(() => client.Members.UpdateMemberOfProjectAsync(projectId, new() { UserId = user1Id, AccessLevel = AccessLevel.Reporter }), System.Net.HttpStatusCode.BadRequest);
+ await AssertThrowsGitLabException(() => client.Members.UpdateMemberOfGroupAsync(groupId, new() { UserId = user1Id, AccessLevel = AccessLevel.Reporter }), System.Net.HttpStatusCode.BadRequest);
// Can delete...
await client.Members.RemoveMemberFromProjectAsync(projectId, user1.Id);
await client.Members.RemoveMemberFromGroupAsync(groupId, user1.Id);
// Delete fails when not exist...
- AssertThrowsGitLabException(() => client.Members.RemoveMemberFromProjectAsync(projectId, user1.Id), System.Net.HttpStatusCode.NotFound);
- AssertThrowsGitLabException(() => client.Members.RemoveMemberFromGroupAsync(groupId, user1.Id), System.Net.HttpStatusCode.NotFound);
+ await AssertThrowsGitLabException(() => client.Members.RemoveMemberFromProjectAsync(projectId, user1.Id), System.Net.HttpStatusCode.NotFound);
+ await AssertThrowsGitLabException(() => client.Members.RemoveMemberFromGroupAsync(groupId, user1.Id), System.Net.HttpStatusCode.NotFound);
}
private static async Task AssertReturnsMembership(Func> code, AccessLevel expectedAccessLevel)
@@ -237,9 +237,9 @@ private static async Task AssertReturnsMembership(Func> code, A
Assert.That(membership.AccessLevel, Is.EqualTo((int)expectedAccessLevel));
}
- private static void AssertThrowsGitLabException(AsyncTestDelegate code, System.Net.HttpStatusCode expectedStatusCode)
+ private static async Task AssertThrowsGitLabException(Func code, System.Net.HttpStatusCode expectedStatusCode)
{
- var ex = Assert.CatchAsync(typeof(GitLabException), code) as GitLabException;
+ var ex = await Assert.CatchAsync(typeof(GitLabException), code).ConfigureAwait(false) as GitLabException;
Assert.That(ex, Is.Not.Null);
Assert.That(ex.StatusCode, Is.EqualTo(expectedStatusCode));
}
diff --git a/NGitLab.Tests/ProjectsTests.cs b/NGitLab.Tests/ProjectsTests.cs
index 454858cc..a4d498bd 100644
--- a/NGitLab.Tests/ProjectsTests.cs
+++ b/NGitLab.Tests/ProjectsTests.cs
@@ -82,7 +82,7 @@ public async Task GetProjectAsync_WhenProjectDoesNotExist_ShouldThrowNotFound()
// Act
// Assert
- var ex = Assert.ThrowsAsync((Func)(() => projectClient.GetAsync("baz1234")));
+ var ex = await 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((Func)(() => userProjectClient.GetAsync(adminProject.Id)));
+ var ex = await Assert.ThrowsAsync((Func)(() => userProjectClient.GetAsync(adminProject.Id)));
Assert.That(ex.StatusCode, Is.EqualTo(HttpStatusCode.NotFound));
}
@@ -435,7 +435,7 @@ public async Task CreateAsync_WhenProjectAlreadyExists_ItThrows()
var projectClient = context.Client.Projects;
// Act
- var ex = Assert.ThrowsAsync((Func)(() =>
+ var ex = await Assert.ThrowsAsync((Func)(() =>
projectClient.CreateAsync(new()
{
Path = existingProject.Path,
@@ -525,7 +525,7 @@ public async Task UpdateAsync_WhenProjectNotFound_ItThrows()
var projectClient = context.Client.Projects;
// Act
- var ex = Assert.ThrowsAsync((Func)(() =>
+ var ex = await Assert.ThrowsAsync((Func)(() =>
projectClient.UpdateAsync(int.MaxValue, new()
{
Visibility = VisibilityLevel.Private,
@@ -555,7 +555,7 @@ public async Task DeleteAsync_WhenProjectExists_ItIsDeleted()
await projectClient.DeleteAsync(project.Id);
// Assert
- Assert.ThrowsAsync((Func)(() => projectClient.GetAsync(project.Id)));
+ await 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((Func)(() => projectClient.DeleteAsync(int.MaxValue)));
+ var ex = await Assert.ThrowsAsync((Func)(() => projectClient.DeleteAsync(int.MaxValue)));
// Assert
Assert.That(ex.StatusCode, Is.EqualTo(HttpStatusCode.NotFound));
@@ -619,7 +619,7 @@ public async Task DeleteAsync_WhenPermanentlyRemoveOnMarkedProject_ItIsDeleted()
});
// Assert: project no longer accessible
- Assert.ThrowsAsync((Func)(() => projectClient.GetAsync(project.Id)));
+ await Assert.ThrowsAsync((Func)(() => projectClient.GetAsync(project.Id)));
}
// No owner level (50) for project! See https://docs.gitlab.com/ee/api/members.html
diff --git a/NGitLab.Tests/TagTests.cs b/NGitLab.Tests/TagTests.cs
index c9db342a..ba432499 100644
--- a/NGitLab.Tests/TagTests.cs
+++ b/NGitLab.Tests/TagTests.cs
@@ -121,7 +121,7 @@ public async Task GetTag(string tagNameSought, bool expectExistence)
}
else
{
- var ex = Assert.ThrowsAsync((Func)(() => tagClient.GetByNameAsync(tagNameSought)));
+ var ex = await 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 4200827b..5e1edb5d 100644
--- a/NGitLab.Tests/UsersTests.cs
+++ b/NGitLab.Tests/UsersTests.cs
@@ -194,7 +194,7 @@ public async Task CreateTokenAsyncAsAdmin_WhenUserNotFound_ItThrowsBadRequest()
Scopes = new[] { "write_repository" },
};
- var ex = Assert.ThrowsAsync((Func)(() => users.CreateTokenAsync(tokenRequest)));
+ var ex = await Assert.ThrowsAsync((Func)(() => users.CreateTokenAsync(tokenRequest)));
Assert.That(ex.StatusCode, Is.EqualTo(HttpStatusCode.NotFound));
Assert.That(ex.ErrorMessage, Is.EqualTo("404 User Not Found"));
}