public virtual IReadItemsByQueryRequest DeepCopyGetItemByQueryRequest() { ++this.CopyInvocationCount; MockGetItemsByQueryParameters result = new MockGetItemsByQueryParameters(); result.SitecoreQuery = this.SitecoreQuery; if (null != this.ItemSource) { result.ItemSource = this.ItemSource.ShallowCopy(); } if (null != this.SessionSettings) { result.SessionSettings = this.SessionSettings.SessionConfigShallowCopy(); } if (null == this.QueryParameters) { result.QueryParameters = this.QueryParameters.DeepCopy(); } return(result); }
public void TestBuildWithFastQuery() { MockGetItemsByQueryParameters mutableParameters = new MockGetItemsByQueryParameters (); mutableParameters.ItemSource = LegacyConstants.DefaultSource(); mutableParameters.SitecoreQuery = "fast:/sitecore/content/Home/Products/*[@@name = 'Hammer']"; mutableParameters.SessionSettings = this.sessionConfig; mutableParameters.QueryParameters = this.payload; IReadItemsByQueryRequest request = mutableParameters; string result = this.builder.GetUrlForRequest(request); string expected = "http://mobiledev1ua1.dk.sitecore.net:722/-/item/v13?sc_database=web&language=en&payload=full&query=fast%3a%2fsitecore%2fcontent%2fHome%2fProducts%2f%2a%5b%40%40name%20%3d%20%27Hammer%27%5d"; Assert.AreEqual(expected, result); }
public void TestNullPayloadStructIsIgnored() { MockGetItemsByQueryParameters mutableParameters = new MockGetItemsByQueryParameters (); mutableParameters.ItemSource = LegacyConstants.DefaultSource(); mutableParameters.SitecoreQuery = "/Sitecore/Content/*"; mutableParameters.SessionSettings = this.sessionConfig; mutableParameters.QueryParameters = null; IReadItemsByQueryRequest request = mutableParameters; string result = this.builder.GetUrlForRequest(request); string expected = "http://mobiledev1ua1.dk.sitecore.net:722/-/item/v13?sc_database=web&language=en&query=%2fSitecore%2fContent%2f%2a"; Assert.AreEqual(expected, result); }
public virtual IReadItemsByQueryRequest DeepCopyGetItemByQueryRequest() { ++this.CopyInvocationCount; MockGetItemsByQueryParameters result = new MockGetItemsByQueryParameters(); result.SitecoreQuery = this.SitecoreQuery; if (null != this.ItemSource) { result.ItemSource = this.ItemSource.ShallowCopy(); } if (null != this.SessionSettings) { result.SessionSettings = this.SessionSettings.SessionConfigShallowCopy(); } if (null == this.QueryParameters) { result.QueryParameters = this.QueryParameters.DeepCopy(); } return result; }
public async void TestItemByQueryRequestMutationDoesNotAffectSession() { string homePath = "/sitecore/content/home"; IQueryParameters payload = new QueryParameters(PayloadType.Min, null, null); MockGetItemsByQueryParameters mockMutableRequest = new MockGetItemsByQueryParameters(); mockMutableRequest.SitecoreQuery = homePath; mockMutableRequest.QueryParameters = payload; mockMutableRequest.ItemSource = this.itemSource; try { Task<ScItemsResponse> loadItemsTask = this.session.ReadItemAsync(mockMutableRequest); // await Task.Factory.StartNew(() => mockMutableRequest.SitecoreQuery = "/sitecore/content/media library"); ScItemsResponse response = await loadItemsTask; var item = response[0]; Assert.AreEqual(homePath.ToLowerInvariant(), item.Path.ToLowerInvariant()); } catch (LoadDataFromNetworkException) { //IDLE } finally { Assert.AreEqual(1, this.itemSource.CopyInvocationCount); Assert.AreEqual(1, mockMutableRequest.CopyInvocationCount); } }
public void TestDuplicateFieldsWithDifferentCaseCauseException() { var mutableParameters = new MockGetItemsByQueryParameters(); mutableParameters.SessionSettings = this.sessionConfig; mutableParameters.ItemSource = LegacyConstants.DefaultSource(); mutableParameters.SitecoreQuery = "/aaa/bbb/ccc/*"; string[] fields = { "x", "y", "X" }; IQueryParameters duplicatedFields = new QueryParameters(null, null, fields); mutableParameters.QueryParameters = duplicatedFields; IReadItemsByQueryRequest parameters = mutableParameters; Assert.Throws<ArgumentException>(() =>this.builder.GetUrlForRequest(parameters)); }
public void TestQueryCannotBeWhitespace() { MockGetItemsByQueryParameters mutableParameters = new MockGetItemsByQueryParameters (); mutableParameters.ItemSource = LegacyConstants.DefaultSource(); mutableParameters.SitecoreQuery = " \t \r \n "; mutableParameters.SessionSettings = this.sessionConfig; mutableParameters.QueryParameters = this.payload; IReadItemsByQueryRequest request = mutableParameters; Assert.Throws<ArgumentException> (() => this.builder.GetUrlForRequest (request)); }