public async Task UpdateAudioTranscript_PublishesAudioTranscriptUpdatedEventToEventGrid() { // arrange var fakeBlobRepository = new FakeBlobRepository(); fakeBlobRepository.AddFakeBlob(AudioService.AudioBlobContainerName, "fakeuserid/fakeid"); var mockAudioTranscriptionService = new Mock <IAudioTranscriptionService>(); mockAudioTranscriptionService .Setup(m => m.GetAudioTranscriptFromCognitiveServicesAsync(It.IsAny <Stream>())) .ReturnsAsync("transcript"); var mockEventGridPublisherService = new Mock <IEventGridPublisherService>(); var service = new AudioService(fakeBlobRepository, mockAudioTranscriptionService.Object, mockEventGridPublisherService.Object); // act await service.UpdateAudioTranscriptAsync("fakeid", "fakeuserid"); // assert mockEventGridPublisherService.Verify(m => m.PostEventGridEventAsync(EventTypes.Audio.AudioTranscriptUpdated, "fakeuserid/fakeid", It.Is <AudioTranscriptUpdatedEventData>(d => d.TranscriptPreview == "transcript")), Times.Once); }
public async Task CompleteAddImageNote_ReturnsImageAlreadyCreated() { // arrange var blob = new CloudBlockBlob(new Uri("https://fakeblobrepository/fullimages/fakeuserid/fakeid")); blob.Metadata.Add(ImagesService.CategoryIdMetadataName, "fakecategory"); blob.Metadata.Add(ImagesService.UserIdMetadataName, "fakeuserid"); var fakeBlobRepository = new FakeBlobRepository(); fakeBlobRepository.AddFakeBlob(ImagesService.FullImagesBlobContainerName, "fakeuserid/fakeid", blob); var mockImagePreviewService = new Mock <IImagePreviewService>(); var mockImageValidatorService = new Mock <IImageValidatorService>(); mockImageValidatorService .Setup(m => m.ValidateImage(It.IsAny <Stream>())) .Returns(new ValueTuple <bool, string>(true, "")); var service = new ImagesService(fakeBlobRepository, mockImageValidatorService.Object, mockImagePreviewService.Object, new Mock <IImageCaptionService>().Object, new Mock <IEventGridPublisherService>().Object); // act var output = await service.CompleteAddImageNoteAsync("fakeid", "fakeuserid", "fakecategory"); // assert Assert.Equal(CompleteAddImageNoteResult.ImageAlreadyCreated, output.result); }
public async Task CompleteAddImageNote_CreatesAndUploadsPreviewBlob() { // arrange var fakeBlobRepository = new FakeBlobRepository(); fakeBlobRepository.AddFakeBlob(ImagesService.FullImagesBlobContainerName, "fakeuserid/fakeid"); var mockImagePreviewService = new Mock <IImagePreviewService>(); var mockImageValidatorService = new Mock <IImageValidatorService>(); mockImageValidatorService .Setup(m => m.ValidateImage(It.IsAny <Stream>())) .Returns(new ValueTuple <bool, string>(true, "")); var service = new ImagesService(fakeBlobRepository, mockImageValidatorService.Object, mockImagePreviewService.Object, new Mock <IImageCaptionService>().Object, new Mock <IEventGridPublisherService>().Object); // act await service.CompleteAddImageNoteAsync("fakeid", "fakeuserid", "fakecategory"); // assert mockImagePreviewService.Verify(m => m.CreatePreviewImage(It.IsAny <Stream>()), Times.Once); Assert.Contains(fakeBlobRepository.Blobs, f => f.ContainerName == ImagesService.PreviewImagesBlobContainerName); Assert.Equal("image/jpeg", fakeBlobRepository.Blobs.Single(b => b.ContainerName == ImagesService.PreviewImagesBlobContainerName).ContentType); }
public async Task CompleteAddImageNote_PublishesImageCreatedEventToEventGrid() { // arrange var fakeBlobRepository = new FakeBlobRepository(); fakeBlobRepository.AddFakeBlob(ImagesService.FullImagesBlobContainerName, "fakeuserid/fakeid"); var mockImageValidatorService = new Mock <IImageValidatorService>(); mockImageValidatorService .Setup(m => m.ValidateImage(It.IsAny <Stream>())) .Returns(new ValueTuple <bool, string>(true, "")); var mockEventGridPublisherService = new Mock <IEventGridPublisherService>(); var service = new ImagesService(fakeBlobRepository, mockImageValidatorService.Object, new Mock <IImagePreviewService>().Object, new Mock <IImageCaptionService>().Object, mockEventGridPublisherService.Object); // act await service.CompleteAddImageNoteAsync("fakeid", "fakeuserid", "fakecategory"); // assert mockEventGridPublisherService.Verify(m => m.PostEventGridEventAsync(EventTypes.Images.ImageCreated, "fakeuserid/fakeid", It.Is <ImageCreatedEventData>(d => d.Category == "fakecategory")), Times.Once); }