public async Task ShouldUpdateMetadata()
        {
            /// Arrange
            var contentId = await _fixture.GetRandomContentIdAsync(".jpg", 20);

            var request = new ContentMetadataUpdateRequest
            {
                Id        = contentId,
                SchemaIds = new List <string> {
                    "Drive"
                },
                Metadata = new DataDictionary
                {
                    {
                        "Drive",
                        new Dictionary <string, object>
                        {
                            { "location", "test" }
                        }
                    }
                }
            };

            /// Act
            var response = await _client.Contents.UpdateMetadataAsync(contentId, request, true);

            /// Assert
            Assert.True(true);
        }
        public async Task ShouldUpdateMetadataMany()
        {
            /// Arrange
            var contentId1 = await _fixture.GetRandomContentIdAsync(".jpg", 20);

            var contentId2 = await _fixture.GetRandomContentIdAsync(".jpg", 20);

            var request1 = new ContentMetadataUpdateRequest
            {
                Id        = contentId1,
                SchemaIds = new List <string> {
                    "Drive"
                },
                Metadata = new DataDictionary
                {
                    {
                        "Drive",
                        new Dictionary <string, object>
                        {
                            { "location", "Content1" }
                        }
                    }
                }
            };

            var request2 = new ContentMetadataUpdateRequest
            {
                Id        = contentId2,
                SchemaIds = new List <string> {
                    "Drive"
                },
                Metadata = new DataDictionary
                {
                    {
                        "Drive",
                        new Dictionary <string, object>
                        {
                            { "location", "Content2" }
                        }
                    }
                }
            };

            /// Act
            var waitResult = await _client.Contents.UpdateMetadataManyAsync(new ContentMetadataUpdateManyRequest
            {
                AllowMissingDependencies = false,
                Requests = new List <ContentMetadataUpdateRequest> {
                    request1, request2
                }
            });

            var result = await _client.BusinessProcesses.WaitForCompletionAsync(waitResult.Id);

            /// Assert
            Assert.Equal(BusinessProcessLifeCycle.Succeeded, result.BusinessProcess.LifeCycle);
        }
Exemplo n.º 3
0
        private async Task CreateOrUpdateCompoundAssetsAsync(IList <PictureparkAsset> targetAssets)
        {
            foreach (PictureparkAsset targetAsset in targetAssets)
            {
                var targetAssetParts = targetAsset.AssetParts;

                if (targetAssetParts.Count == 0)
                {
                    continue;
                }

                if (string.IsNullOrEmpty(targetAsset.TargetAssetUuid))
                {
                    var contentCreateRequest = new ContentCreateRequest()
                    {
                        ContentSchemaId = nameof(SmintIoCompoundAsset),
                        Content         = GetCompoundAssetsMetadata(targetAsset, targetAssetParts),
                        LayerSchemaIds  = new[] {
                            nameof(SmintIoContentLayer),
                            nameof(SmintIoLicenseLayer)
                        },
                        Metadata = targetAsset.GetMetadata()
                    };

                    await _client.Content.CreateAsync(contentCreateRequest);
                }
                else
                {
                    var contentUpdateRequest = new ContentMetadataUpdateRequest()
                    {
                        Content        = GetCompoundAssetsMetadata(targetAsset, targetAssetParts),
                        LayerSchemaIds = new[] {
                            nameof(SmintIoContentLayer),
                            nameof(SmintIoLicenseLayer)
                        },
                        Metadata = targetAsset.GetMetadata(),
                        LayerSchemasUpdateOptions  = UpdateOption.Merge,
                        ContentFieldsUpdateOptions = UpdateOption.Replace
                    };

                    await _client.Content.UpdateMetadataAsync(targetAsset.TargetAssetUuid, contentUpdateRequest);
                }
            }
        }
        public async Task ShouldSetLayerAndResolveDisplayValues()
        {
            /// Arrange
            var schemas = await _client.Schemas.GenerateSchemasAsync(typeof(PersonShot));

            foreach (var schema in schemas)
            {
                await _client.Schemas.CreateOrUpdateAndWaitForCompletionAsync(schema, true);
            }

            var contentId = await _fixture.GetRandomContentIdAsync(".jpg", 20);

            var request = new ContentMetadataUpdateRequest
            {
                Id        = contentId,
                SchemaIds = new List <string> {
                    "PersonShot"
                },
                Metadata = new DataDictionary
                {
                    {
                        "PersonShot",
                        new Dictionary <string, object>
                        {
                            { "Description", "test description" }
                        }
                    }
                }
            };

            /// Act
            var response = await _client.Contents.UpdateMetadataAsync(contentId, request, true, patterns : new List <DisplayPatternType> {
                DisplayPatternType.Name
            });

            /// Assert
            Assert.Equal("test description", ((JObject)response.Metadata["personShot"])["displayValue"]["name"].ToString());
        }