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); }
/// <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); }