public static async Task ClearQueue_Success() { const int NumMessages = 123; var model = new ClearQueueRequest { Priority = UploadProcessingMessagePriority.High, }; var mockDatabaseCommandFactory = new Mock <IDatabaseCommandFactory>(MockBehavior.Strict); var mockUploadScheduler = new Mock <IUploadScheduler>(MockBehavior.Strict); mockUploadScheduler .Setup(_ => _.ClearQueueAsync(model.Priority)) .Returns(Task.FromResult(NumMessages)); var mockUserManager = MockUserManager.CreateMock(); var controller = new AdminController( mockDatabaseCommandFactory.Object, mockUploadScheduler.Object, mockUserManager.Object); var result = await controller.ClearQueue(model); Assert.NotNull(result); Assert.Equal(NumMessages, result.Value); mockDatabaseCommandFactory.VerifyAll(); mockUploadScheduler.VerifyAll(); // Workaround for a Moq bug. See: https://github.com/moq/moq4/issues/456#issuecomment-331692858 mockUserManager.Object.Logger = mockUserManager.Object.Logger; mockUserManager.VerifyAll(); }
/// <summary> /// 清除queue中的所有消息 /// </summary> /// <param name="req"><see cref="ClearQueueRequest"/></param> /// <returns><see cref="ClearQueueResponse"/></returns> public ClearQueueResponse ClearQueueSync(ClearQueueRequest req) { JsonResponseModel <ClearQueueResponse> rsp = null; try { var strResp = this.InternalRequestSync(req, "ClearQueue"); rsp = JsonConvert.DeserializeObject <JsonResponseModel <ClearQueueResponse> >(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return(rsp.Response); }
public async Task <ActionResult <int> > ClearQueue(ClearQueueRequest model) => await this.uploadScheduler.ClearQueueAsync(model.Priority);