예제 #1
0
        public async Task ShouldCreateEmbedShare()
        {
            // Arrange
            var outputFormatIds = new List <string>()
            {
                "Original"
            };

            var shareContentItems = new List <ShareContent>
            {
                new ShareContent {
                    ContentId = await _fixture.GetRandomContentIdAsync(string.Empty, 30), OutputFormatIds = outputFormatIds
                },
                new ShareContent {
                    ContentId = await _fixture.GetRandomContentIdAsync(string.Empty, 30), OutputFormatIds = outputFormatIds
                }
            };

            var request = new ShareEmbedCreateRequest
            {
                Contents       = shareContentItems,
                Description    = "Description of Embed share bbb",
                ExpirationDate = new DateTime(2020, 12, 31),
                Name           = "Embed share bbb"
            };

            // Act
            var createResult = await _client.Shares.CreateAsync(request);

            /// Assert
            var share = await _client.Shares.GetAsync(createResult.ShareId);

            Assert.Equal(createResult.ShareId, share.Id);
        }
        public async Task ShouldGetShareByToken()
        {
            /// Arrange
            var outputFormatIds = new List <string> {
                "Original", "Preview"
            };
            var shareContentItems = new List <ShareContent>
            {
                new ShareContent {
                    ContentId = await _fixture.GetRandomContentIdAsync(string.Empty, 30), OutputFormatIds = outputFormatIds
                },
                new ShareContent {
                    ContentId = await _fixture.GetRandomContentIdAsync(string.Empty, 30), OutputFormatIds = outputFormatIds
                }
            };

            var request = new ShareEmbedCreateRequest
            {
                Contents       = shareContentItems,
                Description    = "Description of Embed share",
                ExpirationDate = new DateTime(2020, 12, 31),
                Name           = "Embed share"
            };

            var createResult = await _client.Shares.CreateAsync(request);

            var embedDetail = await _client.Shares.GetAsync(createResult.ShareId);

            /// Act
            var result = await _client.PublicAccess.GetShareAsync(((ShareDataEmbed)embedDetail.Data).Token);

            /// Assert
            Assert.NotNull(result);
        }
예제 #3
0
        public async Task ShouldAggregate()
        {
            /// Arrange
            var outputFormatIds = new List <string>()
            {
                "Original"
            };

            var shareContentItems = new List <ShareContent>
            {
                new ShareContent {
                    ContentId = await _fixture.GetRandomContentIdAsync(string.Empty, 30), OutputFormatIds = outputFormatIds
                },
                new ShareContent {
                    ContentId = await _fixture.GetRandomContentIdAsync(string.Empty, 30), OutputFormatIds = outputFormatIds
                }
            };

            var createRequest = new ShareEmbedCreateRequest
            {
                Contents       = shareContentItems,
                Description    = "Description of Embed share bbb",
                ExpirationDate = new DateTime(2020, 12, 31),
                Name           = "Embed share bbb"
            };

            await _client.Shares.CreateAsync(createRequest);

            /// Act
            var request = new ShareAggregationRequest
            {
                SearchString = string.Empty,
                Aggregators  = new List <AggregatorBase>
                {
                    new TermsAggregator
                    {
                        Field = nameof(Share.ShareType).ToLowerCamelCase(),
                        Size  = 10,
                        Name  = "ShareType"
                    }
                }
            };

            var result = await _client.Shares.AggregateAsync(request);

            /// Assert
            var aggregation = result.GetByName("ShareType");

            Assert.NotNull(aggregation);
            Assert.True(aggregation.AggregationResultItems.Count >= 1);
        }
예제 #4
0
        public async Task ShouldDeleteMany()
        {
            /// Arrange
            var outputFormatIds = new List <string>()
            {
                "Original"
            };

            var shareContentItems = new List <ShareContent>
            {
                new ShareContent {
                    ContentId = await _fixture.GetRandomContentIdAsync(string.Empty, 30), OutputFormatIds = outputFormatIds
                },
                new ShareContent {
                    ContentId = await _fixture.GetRandomContentIdAsync(string.Empty, 30), OutputFormatIds = outputFormatIds
                }
            };

            var createRequest = new ShareEmbedCreateRequest
            {
                Contents       = shareContentItems,
                Description    = "Description of Embed share bbb",
                ExpirationDate = new DateTime(2020, 12, 31),
                Name           = "Embed share bbb"
            };

            var createResult = await _client.Shares.CreateAsync(createRequest);

            var share = await _client.Shares.GetAsync(createResult.ShareId);

            Assert.Equal(createResult.ShareId, share.Id);

            /// Act
            var shareIds = new List <string> {
                createResult.ShareId
            };
            var bulkResponse = await _client.Shares.DeleteManyAsync(shareIds);

            /// Assert
            Assert.All(bulkResponse.Rows, i => Assert.True(i.Succeeded));
            await Assert.ThrowsAsync <ShareNotFoundException>(async() => await _client.Shares.GetAsync(createResult.ShareId));
        }
        public async Task ShouldGetShareByToken()
        {
            // Arrange
            var outputFormatIds = new List <string> {
                "Original", "Preview"
            };
            var contentIds = new List <string>();

            while (contentIds.Count < 2)
            {
                var contentId = await _fixture.GetRandomContentIdAsync(string.Empty, 30).ConfigureAwait(false);

                if (!contentIds.Contains(contentId))
                {
                    contentIds.Add(contentId);
                }
            }

            var shareContentItems = contentIds.Select(x => new ShareContent()
            {
                ContentId = x, OutputFormatIds = outputFormatIds
            }).ToList();

            var request = new ShareEmbedCreateRequest
            {
                Contents       = shareContentItems,
                Description    = "Description of Embed share",
                ExpirationDate = new DateTime(2020, 12, 31),
                Name           = "Embed share"
            };

            var createResult = await _client.Share.CreateAsync(request).ConfigureAwait(false);

            var embedDetail = await _client.Share.GetAsync(createResult.ShareId).ConfigureAwait(false);

            // Act
            var result = await _client.Share.GetShareJsonAsync(((ShareDataEmbed)embedDetail.Data).Token).ConfigureAwait(false);

            // Assert
            Assert.NotNull(result);
        }
        public async Task ShouldGetShareOutputByContentIdAndSize()
        {
            // Arrange transfer
            var timeout      = TimeSpan.FromMinutes(2);
            var transferName = nameof(ShouldGetShareOutputByContentIdAndSize) + "-" + new Random().Next(1000, 9999);

            var filesInDirectory = Directory.GetFiles(_fixture.ExampleFilesBasePath, "0033_aeVA-j1y2BY.jpg").ToList();

            var importFilePaths = filesInDirectory.Select(fn => new FileLocations(fn, $"{Path.GetFileNameWithoutExtension(fn)}_1{Path.GetExtension(fn)}")).ToList();

            // Act
            var uploadOptions = new UploadOptions
            {
                SuccessDelegate = Console.WriteLine,
                ErrorDelegate   = Console.WriteLine
            };
            var createTransferResult = await _client.Transfer.UploadFilesAsync(transferName, importFilePaths, uploadOptions).ConfigureAwait(false);

            var importRequest = new ImportTransferRequest
            {
                ContentPermissionSetIds = new List <string>(),
                Metadata       = null,
                LayerSchemaIds = new List <string>()
            };

            await _client.Transfer.ImportAndWaitForCompletionAsync(createTransferResult.Transfer, importRequest, timeout).ConfigureAwait(false);

            // Assert
            var transferResult = await _client.Transfer.SearchFilesByTransferIdAsync(createTransferResult.Transfer.Id).ConfigureAwait(false);

            var contentIds = transferResult.Results.Select(r => r.ContentId).ToList();

            Assert.Equal(importFilePaths.Count, contentIds.Count);

            // Arrange get share
            var contentId       = contentIds.First();
            var outputFormatIds = new List <string> {
                "Original", "Preview"
            };
            var shareContentItems = new List <ShareContent>
            {
                new ShareContent {
                    ContentId = contentId, OutputFormatIds = outputFormatIds
                },
            };

            var request = new ShareEmbedCreateRequest
            {
                Contents       = shareContentItems,
                Description    = "Description of Embed share",
                ExpirationDate = new DateTime(2020, 12, 31),
                Name           = "Embed share"
            };

            var createResult = await _client.Share.CreateAsync(request).ConfigureAwait(false);

            var embedDetail = await _client.Share.GetAsync(createResult.ShareId).ConfigureAwait(false);

            var shareOutput = (ShareOutputEmbed)embedDetail.ContentSelections.Single().Outputs.First();

            // Act
            using (var result = await _client.Share.DownloadAsync(shareOutput.Token, 10, 10).ConfigureAwait(false))
            {
                // Assert
                Assert.NotNull(result);
            }
        }