public async void TestItemByIdRequestMutationDoesNotAffectSession() { string homeId = this.env.Items.Home.Id; IQueryParameters payload = new QueryParameters(PayloadType.Min, null, null); MockGetItemsByIdParameters mockMutableRequest = new MockGetItemsByIdParameters(); mockMutableRequest.ItemId = homeId; mockMutableRequest.QueryParameters = payload; mockMutableRequest.ItemSource = this.itemSource; try { Task <ScItemsResponse> loadItemsTask = this.session.ReadItemAsync(mockMutableRequest); // await Task.Factory.StartNew(() => mockMutableRequest.ItemId = this.env.Items.MediaLibrary.Id); ScItemsResponse response = await loadItemsTask; var item = response[0]; Assert.AreEqual(homeId, item.Id); } catch (LoadDataFromNetworkException) { //IDLE } catch (Exception ex) { Debug.WriteLine(ex.Message); } finally { Assert.AreEqual(1, this.itemSource.CopyInvocationCount); Assert.AreEqual(1, mockMutableRequest.CopyInvocationCount); } }
public void TestInvaliItemIdCausesArgumentException() { MockGetItemsByIdParameters mutableParameters = new MockGetItemsByIdParameters(); mutableParameters.SessionSettings = this.sessionConfig; mutableParameters.ItemSource = LegacyConstants.DefaultSource(); mutableParameters.ItemId = "someInvalidItemId"; mutableParameters.QueryParameters = this.payload; IReadItemsByIdRequest parameters = mutableParameters; TestDelegate action = () => this.builder.GetUrlForRequest(parameters); Assert.Throws <ArgumentException>(action); }
public void TestUrlBuilderAddsItemSource() { MockGetItemsByIdParameters mutableParameters = new MockGetItemsByIdParameters(); mutableParameters.SessionSettings = this.sitecoreShellConfig; mutableParameters.ItemSource = LegacyConstants.DefaultSource(); mutableParameters.ItemId = "110d559f-dea5-42ea-9c1c-8a5df7e70ef9"; mutableParameters.QueryParameters = this.payload; IReadItemsByIdRequest parameters = mutableParameters; string result = this.builder.GetUrlForRequest(parameters); string expected = "https://mobiledev1ua1.dk.sitecore.net:7119/sitecore/api/ssc/item/110d559f-dea5-42ea-9c1c-8a5df7e70ef9?database=web&language=en"; Assert.AreEqual(expected, result); }
public void TestNullPayloadStructIsIgnored() { MockGetItemsByIdParameters mutableParameters = new MockGetItemsByIdParameters(); mutableParameters.SessionSettings = this.sessionConfig; mutableParameters.ItemSource = LegacyConstants.DefaultSource(); mutableParameters.ItemId = "{ xxx }"; mutableParameters.QueryParameters = null; IReadItemsByIdRequest parameters = mutableParameters; string result = this.builder.GetUrlForRequest(parameters); string expected = "http://sitecore.net/-/item/v1?sc_database=web&language=en&sc_itemid=%7b%20%20%20xxx%20%20%20%7d"; Assert.AreEqual(expected, result); }
public void TestUrlBuilderAddsItemSource() { MockGetItemsByIdParameters mutableParameters = new MockGetItemsByIdParameters(); mutableParameters.SessionSettings = this.sitecoreShellConfig; mutableParameters.ItemSource = LegacyConstants.DefaultSource(); mutableParameters.ItemId = "{ xxx }"; mutableParameters.QueryParameters = this.payload; IReadItemsByIdRequest parameters = mutableParameters; string result = this.builder.GetUrlForRequest(parameters); string expected = "http://mobiledev1ua1.dk.sitecore.net:7119/-/item/v234%2fsitecore%2fshell?sc_database=web&language=en&payload=min&sc_itemid=%7b%20%20%20xxx%20%20%20%7d"; Assert.AreEqual(expected, result); }
public void TestEmptyFieldEntriesCaseCauseException() { MockGetItemsByIdParameters mutableParameters = new MockGetItemsByIdParameters(); mutableParameters.SessionSettings = this.sitecoreShellConfig; mutableParameters.ItemSource = LegacyConstants.DefaultSource(); mutableParameters.ItemId = "{ xxx }"; string[] fields = { "x", "y", "" }; IQueryParameters duplicatedFields = new QueryParameters(fields); mutableParameters.QueryParameters = duplicatedFields; IReadItemsByIdRequest parameters = mutableParameters; Assert.Throws <ArgumentException>(() => this.builder.GetUrlForRequest(parameters)); }
public void TestDuplicateFieldsWithDifferentCaseCauseException() { MockGetItemsByIdParameters mutableParameters = new MockGetItemsByIdParameters(); mutableParameters.SessionSettings = this.sitecoreShellConfig; mutableParameters.ItemSource = LegacyConstants.DefaultSource(); mutableParameters.ItemId = "110d559f-dea5-42ea-9c1c-8a5df7e70ef9"; string[] fields = { "x", "y", "X" }; IQueryParameters duplicatedFields = new QueryParameters(fields); mutableParameters.QueryParameters = duplicatedFields; IReadItemsByIdRequest parameters = mutableParameters; Assert.Throws <ArgumentException>(() => this.builder.GetUrlForRequest(parameters)); }