public void TestCorrectParamsWithFields() { ICreateItemByIdRequest request = ItemWebApiRequestBuilder.CreateItemRequestWithParentId("{110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}") .ItemTemplatePath("/Sample/Sample Item") .ItemName("item name") .AddFieldsRawValuesByNameToSet("field1", "value1") .AddFieldsRawValuesByNameToSet("field2", "value2") .Build(); ICreateItemByIdRequest autocompletedRequest = this.requestMerger.FillCreateItemByIdGaps(request); string result = this.builder.GetUrlForRequest(autocompletedRequest); string expected = "http://mobiledev1ua1.dk.sitecore.net:7119/-/item/v234%2fsitecore%2fshell" + "?sc_database=web" + "&language=en" + "&template=sample%2fsample%20item" + "&name=item%20name" + "&sc_itemid=%7b110d559f-dea5-42ea-9c1c-8a5df7e70ef9%7d"; string fieldsResult = this.builder.GetFieldValuesList(autocompletedRequest); string expectedFieldsResult = "field1=value1&field2=value2"; Assert.AreEqual(expected, result); Assert.AreEqual(expectedFieldsResult, fieldsResult); }
public void TestFieldsAppending() { Dictionary <string, string> fields = new Dictionary <string, string>(); fields.Add("field1", "VaLuE1"); fields.Add("field2", "VaLuE2"); ICreateItemByIdRequest request = ItemWebApiRequestBuilder.CreateItemRequestWithParentId("{110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}") .ItemTemplatePath("/Sample/Sample Item") .ItemName("ItEmNaMe") .Database("db") .Language("lg") .Payload(PayloadType.Full) .AddFieldsRawValuesByNameToSet(fields) .AddFieldsRawValuesByNameToSet("field3", "VaLuE3") .Build(); ICreateItemByIdRequest autocompletedRequest = this.requestMerger.FillCreateItemByIdGaps(request); string result = this.builder.GetUrlForRequest(autocompletedRequest); string expected = "http://mobiledev1ua1.dk.sitecore.net:7119/-/item/v234%2fsitecore%2fshell" + "?sc_database=db" + "&language=lg" + "&payload=full" + "&template=sample%2fsample%20item" + "&name=ItEmNaMe" + "&sc_itemid=%7b110d559f-dea5-42ea-9c1c-8a5df7e70ef9%7d"; string fieldsResult = this.builder.GetFieldValuesList(autocompletedRequest); string expectedFieldsResult = "field1=VaLuE1&field2=VaLuE2&field3=VaLuE3"; Assert.AreEqual(expected, result); Assert.AreEqual(expectedFieldsResult, fieldsResult); }
public ICreateItemByIdRequest FillCreateItemByIdGaps(ICreateItemByIdRequest userRequest) { IItemSource mergedSource = this.ItemSourceMerger.FillItemSourceGaps(userRequest.ItemSource); ISessionConfig mergedSessionConfig = this.SessionConfigMerger.FillSessionConfigGaps(userRequest.SessionSettings); CreateItemParameters createParams = new CreateItemParameters(userRequest.ItemName, userRequest.ItemTemplate, userRequest.FieldsRawValuesByName); return(new CreateItemByIdParameters(mergedSessionConfig, mergedSource, userRequest.QueryParameters, createParams, userRequest.ItemId)); }
public async Task <ScItemsResponse> CreateItemAsync(ICreateItemByIdRequest request, CancellationToken cancelToken = default(CancellationToken)) { ICreateItemByIdRequest requestCopy = request.DeepCopyCreateItemByIdRequest(); using (ICredentialsHeadersCryptor cryptor = await this.GetCredentialsCryptorAsync(cancelToken)) { ICreateItemByIdRequest autocompletedRequest = this.requestMerger.FillCreateItemByIdGaps(requestCopy); var urlBuilder = new CreateItemByIdUrlBuilder(this.restGrammar, this.webApiGrammar); var taskFlow = new CreateItemByIdTask(urlBuilder, this.httpClient, cryptor); return(await RestApiCallFlow.LoadRequestFromNetworkFlow(autocompletedRequest, taskFlow, cancelToken)); } }
public ICreateItemByIdRequest FillCreateItemByIdGaps(ICreateItemByIdRequest userRequest) { IItemSource mergedSource = this.ItemSourceMerger.FillItemSourceGaps(userRequest.ItemSource); ISessionConfig mergedSessionConfig = this.SessionConfigMerger.FillSessionConfigGaps(userRequest.SessionSettings); CreateItemParameters createParams = new CreateItemParameters(userRequest.ItemName, userRequest.ItemTemplate, userRequest.FieldsRawValuesByName); return new CreateItemByIdParameters(mergedSessionConfig, mergedSource, userRequest.QueryParameters, createParams, userRequest.ItemId); }
public async Task<ScItemsResponse> CreateItemAsync(ICreateItemByIdRequest request, CancellationToken cancelToken = default(CancellationToken)) { ICreateItemByIdRequest requestCopy = request.DeepCopyCreateItemByIdRequest(); using (ICredentialsHeadersCryptor cryptor = await this.GetCredentialsCryptorAsync(cancelToken)) { ICreateItemByIdRequest autocompletedRequest = this.requestMerger.FillCreateItemByIdGaps(requestCopy); var urlBuilder = new CreateItemByIdUrlBuilder(this.restGrammar, this.webApiGrammar); var taskFlow = new CreateItemByIdTask(urlBuilder, this.httpClient, cryptor); return await RestApiCallFlow.LoadRequestFromNetworkFlow(autocompletedRequest, taskFlow, cancelToken); } }
public async Task <ScItemsResponse> CreateItemAsync(ICreateItemByIdRequest request, CancellationToken cancelToken = default(CancellationToken)) { return(await this.InvokeNoThrow(this.workerSession.CreateItemAsync(request, cancelToken))); }