public async Task Should_restore_app_image() { var imageStream = new MemoryStream(); var context = CreateRestoreContext(); A.CallTo(() => context.Reader.ReadBlobAsync(A <string> .Ignored, A <Func <Stream, Task> > .Ignored)) .Invokes((string _, Func <Stream, Task> handler) => handler(imageStream)); await sut.RestoreEventAsync(Envelope.Create(new AppImageUploaded()), context); A.CallTo(() => appImageStore.UploadAsync(appId, imageStream, default)) .MustHaveHappened(); }
public async Task Should_restore_app_image() { var imageStream = new MemoryStream(); var context = CreateRestoreContext(); A.CallTo(() => context.Reader.OpenBlobAsync(A <string> ._, ct)) .Returns(imageStream); await sut.RestoreEventAsync(Envelope.Create(new AppImageUploaded()), context, ct); A.CallTo(() => appImageStore.UploadAsync(appId, imageStream, ct)) .MustHaveHappened(); }
private async Task ReadAssetAsync(Guid appId, IBackupReader reader) { await reader.ReadBlobAsync(AvatarFile, async stream => { try { await appImageStore.UploadAsync(appId, stream); } catch (AssetAlreadyExistsException) { } }); }
private async Task UploadAsync(UploadAppImage uploadImage) { var file = uploadImage.File; var image = await assetThumbnailGenerator.GetImageInfoAsync(file.OpenRead()); if (image == null) { throw new ValidationException("File is not an image."); } await appImageStore.UploadAsync(uploadImage.AppId, file.OpenRead()); }
private async Task ReadAssetAsync(DomainId appId, IBackupReader reader, CancellationToken ct) { try { await using (var stream = await reader.OpenBlobAsync(AvatarFile, ct)) { await appImageStore.UploadAsync(appId, stream, ct); } } catch (AssetAlreadyExistsException) { } catch (FileNotFoundException) { } }
public async Task Should_upload_image_to_store() { var file = new NoopAssetFile(); var command = CreateCommand(new UploadAppImage { AppId = appId, File = file }); var context = CreateContextForCommand(command); A.CallTo(() => assetThumbnailGenerator.GetImageInfoAsync(A <Stream> ._)) .Returns(new ImageInfo(100, 100, false)); await sut.HandleAsync(context); A.CallTo(() => appImageStore.UploadAsync(appId.Id, A <Stream> ._, A <CancellationToken> ._)) .MustHaveHappened(); }
private async Task UploadAsync(UploadAppImage uploadImage) { var file = uploadImage.File; using (var uploadStream = file.OpenRead()) { var image = await assetThumbnailGenerator.GetImageInfoAsync(uploadStream); if (image == null) { throw new ValidationException(T.Get("apps.notImage")); } } using (var uploadStream = file.OpenRead()) { await appImageStore.UploadAsync(uploadImage.AppId.Id, uploadStream); } }
public async Task Should_upload_image_to_store() { var stream = new MemoryStream(); var file = new AssetFile("name.jpg", "image/jpg", 1024, () => stream); var command = CreateCommand(new UploadAppImage { AppId = appId, File = file }); var context = CreateContextForCommand(command); A.CallTo(() => assetThumbnailGenerator.GetImageInfoAsync(stream)) .Returns(new ImageInfo(100, 100)); await sut.HandleAsync(context); A.CallTo(() => appImageStore.UploadAsync(appId, stream, A <CancellationToken> .Ignored)) .MustHaveHappened(); }