Пример #1
0
        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));
        }
Пример #2
0
        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]);
            });
        }