public async Task RunApprovedAsyncMethod(string submissionNumber, string userUuid) { // preparation var diagnosisRepo = new Mock <IDiagnosisRepository>(); var keyModel = new TemporaryExposureKeyModel() { id = "id123" }; var model = new DiagnosisModel() { SubmissionNumber = submissionNumber, UserUuid = userUuid, Keys = new[] { keyModel } }; diagnosisRepo.Setup(_ => _.GetAsync(It.IsAny <string>(), It.IsAny <string>())) .ReturnsAsync(model); var tekRepo = new Mock <ITemporaryExposureKeyRepository>(); var logger = new Mock.LoggerMock <Covid19Radar.Api.External.DiagnosisApi>(); var diagnosisApi = new Covid19Radar.Api.External.DiagnosisApi(diagnosisRepo.Object, tekRepo.Object, logger); var context = new Mock.HttpContextMock(); tekRepo.Setup(_ => _.UpsertAsync(It.IsAny <TemporaryExposureKeyModel>())) .Verifiable(); // action await diagnosisApi.RunApprovedAsync(context.Request, submissionNumber, userUuid); // assert }
public async Task RunAsyncMethod(string title, string message, System.Type ResultType) { // preparation var result = new Mock <ItemResponse <NotificationMessageModel> >(); result.SetupGet(_ => _.Resource) .Returns(new NotificationMessageModel() { Message = message }); var cosmosNotification = new Mock <Container>(); cosmosNotification.Setup(_ => _.CreateItemAsync(It.IsAny <NotificationMessageModel>(), It.IsAny <PartitionKey?>(), It.IsAny <ItemRequestOptions>(), It.IsAny <CancellationToken>())) .ReturnsAsync(result.Object); var cosmos = new Mock <ICosmos>(); cosmos.SetupGet(_ => _.Notification) .Returns(cosmosNotification.Object); var notification = new Mock <INotificationService>(); var logger = new Mock.LoggerMock <Covid19Radar.Api.External.NotificationCreateApi>(); var notificationCreateApi = new Covid19Radar.Api.External.NotificationCreateApi(cosmos.Object, notification.Object, logger); var context = new Mock.HttpContextMock(); var param = new Api.External.Models.NotificationCreateParameter() { Title = title, Message = message }; var bodyString = Newtonsoft.Json.JsonConvert.SerializeObject(param); using var stream = new System.IO.MemoryStream(); using (var writer = new System.IO.StreamWriter(stream, leaveOpen: true)) { await writer.WriteAsync(bodyString); await writer.FlushAsync(); } stream.Seek(0, System.IO.SeekOrigin.Begin); context._Request.Body = stream; // action var actual = await notificationCreateApi.RunAsync(context.Request); // assert Assert.IsInstanceOfType(actual, ResultType); }
public async Task RunAsyncMethod() { // preparation var diagnosisRepo = new Mock <IDiagnosisRepository>(); diagnosisRepo.Setup(_ => _.SubmitDiagnosisAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <TemporaryExposureKeyModel[]>())) .Returns(Task.CompletedTask); var tekRepo = new Mock <ITemporaryExposureKeyRepository>(); var logger = new Mock.LoggerMock <Covid19Radar.Api.External.DiagnosisApi>(); var diagnosisApi = new Covid19Radar.Api.External.DiagnosisApi(diagnosisRepo.Object, tekRepo.Object, logger); var context = new Mock.HttpContextMock(); // action await diagnosisApi.RunAsync(context.Request); // assert }