public IReadEntityByIdRequest FillReadEntityByIdGaps(IReadEntityByIdRequest userRequest) { IEntitySource newSource = this.EntitySourceMerger.FillEntitySourceGaps(userRequest.EntitySource); ISessionConfig mergedSessionConfig = this.SessionConfigMerger.FillSessionConfigGaps(userRequest.SessionSettings); ReadEntityByIdParameters newRequest = new ReadEntityByIdParameters(userRequest.EntityID, newSource, userRequest.ParametersRawValuesByName, mergedSessionConfig); return(newRequest); }
public async Task <ScEntityResponse> ReadEntityAsync(IReadEntityByIdRequest request, CancellationToken cancelToken = default(CancellationToken)) { IReadEntityByIdRequest requestCopy = request.DeepCopyReadEntitiesByIdRequest(); //await this.GetPublicKeyAsync(cancelToken); IReadEntityByIdRequest autocompletedRequest = this.requestMerger.FillReadEntityByIdGaps(requestCopy); var urlBuilder = new EntityByIdUrlBuilder <IReadEntityByIdRequest>(this.restGrammar, this.sscGrammar); var taskFlow = new GetEntityByIdTask(urlBuilder, this.httpClient); return(await RestApiCallFlow.LoadRequestFromNetworkFlow(autocompletedRequest, taskFlow, cancelToken)); }
public void TestBuildentityActionCanNotBeNull() { MockReadEntityByIdParameters mutableParameters = new MockReadEntityByIdParameters(); mutableParameters.ItemSource = LegacyConstants.DefaultSource(); mutableParameters.SessionSettings = this.sessionConfig; mutableParameters.EntitySource = new EntitySource("Namespace", null, "Controller", null); mutableParameters.EntityID = "bla"; IReadEntityByIdRequest request = mutableParameters; TestDelegate action = () => this.entitybyIdBuilder.GetUrlForRequest(request); Assert.Throws <ArgumentNullException>(action); }
public void TestBuildWithValidPath() { MockReadEntityByIdParameters mutableParameters = new MockReadEntityByIdParameters(); mutableParameters.ItemSource = LegacyConstants.DefaultSource(); mutableParameters.SessionSettings = this.sessionConfig; mutableParameters.EntitySource = new EntitySource("namespace", "controller", "id", "action"); mutableParameters.EntityID = "bla"; IReadEntityByIdRequest request = mutableParameters; string result = this.entitybyIdBuilder.GetUrlForRequest(request); string expected = "https://mobiledev1ua1.dk.sitecore.net/sitecore/api/ssc/namespace/controller/id/action('bla')"; Assert.AreEqual(expected, result); }
public void TestBuildCustomParametersIsCaseSensitive() { MockReadEntityByIdParameters mutableParameters = new MockReadEntityByIdParameters(); mutableParameters.ItemSource = LegacyConstants.DefaultSource(); mutableParameters.SessionSettings = this.sessionConfig; mutableParameters.EntitySource = new EntitySource("namespace", "controller", "id", "action"); mutableParameters.ParametersRawValuesByName = new Dictionary <string, string>() { { "fIeLd1", "VaLuE1" }, { "FiElD2", "vAlUe2" } }; mutableParameters.EntityID = "bla"; IReadEntityByIdRequest request = mutableParameters; string result = this.entitybyIdBuilder.GetUrlForRequest(request); string expected = "https://mobiledev1ua1.dk.sitecore.net/sitecore/api/ssc/namespace/controller/id/action('bla')?fIeLd1=VaLuE1&FiElD2=vAlUe2"; Assert.AreEqual(expected, result); }
public async Task <ScEntityResponse> ReadEntityAsync(IReadEntityByIdRequest request, CancellationToken cancelToken = default(CancellationToken)) { return(await this.InvokeNoThrow(this.workerSession.ReadEntityAsync(request, cancelToken))); }