Esempio n. 1
0
        public async Task ActionInvokerSerializeEnum_EnumIsSerializedAsString()
        {
            var httpClient    = new FakeManagementHttpClient();
            var actionInvoker = new ActionInvoker(httpClient, new MessageCreator("{api_key}"));

            var assetUpsertModel = new AssetUpsertModel()
            {
                Title        = "Asset",
                Descriptions = new []
                {
                    new AssetDescription()
                    {
                        Description = "Description",
                        Language    = LanguageIdentifier.DEFAULT_LANGUAGE
                    },
                },
                FileReference = new FileReference()
                {
                    Id   = "ab7bdf75-781b-4bf9-aed8-501048860402",
                    Type = FileReferenceTypeEnum.Internal
                }
            };

            await actionInvoker.InvokeMethodAsync <AssetUpsertModel, dynamic>("{endpoint_url}", HttpMethod.Put, assetUpsertModel);

            var expectedRequestBody = "{\"file_reference\":{\"id\":\"ab7bdf75-781b-4bf9-aed8-501048860402\",\"type\":\"internal\"},\"descriptions\":[{\"language\":{\"id\":\"00000000-0000-0000-0000-000000000000\"},\"description\":\"Description\"}],\"title\":\"Asset\"}";

            Assert.Equal(expectedRequestBody, httpClient.requestBody);
        }
        public void ActionInvokerSerializeElementContainingZero_SerializedJsonContainsZero()
        {
            var httpClient    = new FakeContentManagementHttpClient();
            var actionInvoker = new ActionInvoker(httpClient, new MessageCreator("{api_key}"));

            var contentItemVariantUpsertModel = new ContentItemVariantUpsertModel()
            {
                Elements = new {
                    zero    = new decimal(0),
                    optZero = new decimal?(0),
                },
            };

            var result = actionInvoker.InvokeMethodAsync <ContentItemVariantUpsertModel, dynamic>("{endpoint_url}", HttpMethod.Get, contentItemVariantUpsertModel);

            Assert.Equal("{\"elements\":{\"zero\":0,\"optZero\":0}}", httpClient.requestBody);
        }
        /// <summary>
        /// Inserts or updates given content item variant.
        /// </summary>
        /// <param name="identifier">The identifier of the content item variant.</param>
        /// <param name="contentItemVariantUpsertModel">Represents inserted or updated content item variant.</param>
        /// <returns>The <see cref="ContentItemVariantModel"/> instance that represents inserted or updated content item variant.</returns>
        public async Task <ContentItemVariantModel> UpsertContentItemVariantAsync(ContentItemVariantIdentifier identifier, ContentItemVariantUpsertModel contentItemVariantUpsertModel)
        {
            if (identifier == null)
            {
                throw new ArgumentNullException(nameof(identifier));
            }

            if (contentItemVariantUpsertModel == null)
            {
                throw new ArgumentNullException(nameof(contentItemVariantUpsertModel));
            }

            var endpointUrl = _urlBuilder.BuildVariantsUrl(identifier);
            var response    = await _actionInvoker.InvokeMethodAsync <ContentItemVariantUpsertModel, ContentItemVariantModel>(endpointUrl, HttpMethod.Put, contentItemVariantUpsertModel);

            return(response);
        }
Esempio n. 4
0
    /// <inheritdoc />
    public async Task <AssetModel> CreateAssetAsync(AssetCreateModel asset)
    {
        if (asset == null)
        {
            throw new ArgumentNullException(nameof(asset));
        }

        var endpointUrl = _urlBuilder.BuildAssetsUrl();
        var response    = await _actionInvoker.InvokeMethodAsync <AssetCreateModel, AssetModel>(endpointUrl, HttpMethod.Post, asset);

        return(response);
    }