public async Task <Result> Delete(IList <string> usernames, CancellationToken cancellationToken = default) { cancellationToken.RequestCanceled(); string url = "api/users/bulk-delete"; if (usernames.IsEmpty()) { return(new FaultedResult(new DebugInfoImpl(url, new List <Error> { new ErrorImpl("Valid usernames is missing.") }))); } var errors = new List <Error>(); for (int i = 0; i < usernames.Count; i++) { if (string.IsNullOrWhiteSpace(usernames[i])) { errors.Add(new ErrorImpl($"The username at index {i} is missing.")); } } if (errors.Any()) { return(new FaultedResult(new DebugInfoImpl(url, errors))); } BulkUserDeleteRequest request = new BulkUserDeleteRequest(usernames); Debug.Assert(request != null); return(await PostRequest(url, request, cancellationToken).ConfigureAwait(false)); }
public async Task Verify_can_delete4() { var services = GetContainerBuilder().BuildServiceProvider(); var result = await services.GetService <IBrokerObjectFactory>() .DeleteUsers(new List <string> { "fake_user1", "fake_user2", "fake_user3" }); Assert.Multiple(() => { Assert.IsFalse(result.HasFaulted); BulkUserDeleteRequest request = result.DebugInfo.Request.ToObject <BulkUserDeleteRequest>(); Assert.IsNotNull(request.Users); Assert.AreEqual("fake_user1", request.Users[0]); Assert.AreEqual("fake_user2", request.Users[1]); Assert.AreEqual("fake_user3", request.Users[2]); }); }