public void TestCustomMediaHook() { SessionConfigPOD sessionConfig = new SessionConfigPOD(); sessionConfig.InstanceUrl = "htTP://CUSTOM.hoST"; sessionConfig.ItemWebApiVersion = "v1"; sessionConfig.Site = "/sitecore/shell"; sessionConfig.MediaLibraryRoot = "/SiteCore/Other Media Library"; sessionConfig.DefaultMediaResourceExtension = "ZIP"; sessionConfig.MediaPrefix = "~/MediaXyZ"; ISessionConfig sessionSettings = sessionConfig; IMediaLibrarySettings mediaSettings = sessionConfig; ItemSource itemSource = LegacyConstants.DefaultSource(); this.builder = new MediaItemUrlBuilder(this.restGrammar, this.webApiGrammar, sessionSettings, mediaSettings, itemSource); var customBuilder = new MediaItemUrlBuilder( this.restGrammar, this.webApiGrammar, sessionSettings, mediaSettings, itemSource); string result = customBuilder.BuildUrlStringForPath("~/mediaXYZ/1.png.ashx", null); string expected = "http://custom.host/~/mediaxyz/1.png.ashx?db=web&la=en"; Assert.AreEqual(expected, result); }
public void TestDefaultSource() { ItemSource defaultSource = LegacyConstants.DefaultSource(); Assert.AreEqual(defaultSource.Database, "web"); Assert.AreEqual(defaultSource.Language, "en"); }
public void TestSerializeDafaultSource() { ItemSource data = LegacyConstants.DefaultSource(); ItemSourceUrlBuilder builder = new ItemSourceUrlBuilder(RestServiceGrammar.ItemWebApiV2Grammar(), WebApiUrlParameters.ItemWebApiV2UrlParameters(), data); string expected = "sc_database=web&language=en"; Assert.AreEqual(expected, builder.BuildUrlQueryString()); }
public void TestMergerReturnsInputSourceCopyForNilDefault() { ItemSource defaultSource = LegacyConstants.DefaultSource(); var merger = new ItemSourceFieldMerger(null); IItemSource result = merger.FillItemSourceGaps(defaultSource); Assert.AreNotSame(defaultSource, result); Assert.AreEqual(defaultSource, result); }
public void TestApiSessionConstructorRequiresConfig() { ItemSource defaultSource = LegacyConstants.DefaultSource(); TestDelegate initSessionAction = () => { ScApiSession result = new ScApiSession(null, null, this.credentials, this.mediaSettings, defaultSource); Debug.WriteLine(result); }; Assert.Throws <ArgumentNullException>(initSessionAction); }
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)); }
public async void TestGetItemByQueryWithCorrectField() { var requestBuilder = ItemWebApiRequestBuilder.ReadItemsRequestWithSitecoreQuery("/sitecore//*[@Title='English version 2 web']"); var request = requestBuilder.Payload(PayloadType.Content).Build(); var response = await sessionAuthenticatedUser.ReadItemAsync(request); testData.AssertItemsCount(1, response); var resultItem = response[0]; var expectedSource = new ItemSource(LegacyConstants.DefaultSource().Database, LegacyConstants.DefaultSource().Language, 2); testData.AssertItemsAreEqual(testData.Items.ItemWithVersions, resultItem); testData.AssertItemSourcesAreEqual(expectedSource, resultItem.Source); }
public void TestBuildentityActionCanNotBeNull() { MockReadEntitiesByPathParameters mutableParameters = new MockReadEntitiesByPathParameters(); mutableParameters.ItemSource = LegacyConstants.DefaultSource(); mutableParameters.SessionSettings = this.sessionConfig; mutableParameters.EntitySource = new EntitySource("Namespace", null, "Controller", null); IBaseEntityRequest request = mutableParameters; TestDelegate action = () => this.getEntityBuilder.GetUrlForRequest(request); Assert.Throws <ArgumentNullException>(action); }
public void SetUp() { this.env = TestEnvironment.DefaultTestEnvironment(); this.mediaSettings = new MediaLibrarySettings( "/sitecore/media library", "ashx", "~/media/"); var config = new SessionConfig(this.env.InstanceUrl); var defaultSource = LegacyConstants.DefaultSource(); this.session = new ScTestApiSession(config, null, this.env.Users.Admin, mediaSettings, defaultSource); }
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 TestBuildWithoutPayloadIsAllowed() { MockGetItemsByPathParameters mutableParameters = new MockGetItemsByPathParameters(); mutableParameters.ItemSource = LegacyConstants.DefaultSource(); mutableParameters.ItemPath = "/path/TO/iTEm"; mutableParameters.SessionSettings = this.sessionConfig; mutableParameters.QueryParameters = null; IReadItemsByPathRequest request = mutableParameters; string result = this.builder.GetUrlForRequest(request); string expected = "https://mobiledev1ua1.dk.sitecore.net/sitecore/api/ssc/item?database=web&language=en&path=%2fpath%2fto%2fitem"; Assert.AreEqual(expected, result); }
public void TestBuildWithEmptyPathCausesArgumentException() { MockGetItemsByPathParameters mutableParameters = new MockGetItemsByPathParameters(); mutableParameters.ItemSource = LegacyConstants.DefaultSource(); mutableParameters.ItemPath = ""; mutableParameters.SessionSettings = this.sessionConfig; mutableParameters.QueryParameters = this.payload; IReadItemsByPathRequest request = mutableParameters; TestDelegate action = () => this.builder.GetUrlForRequest(request); Assert.Throws <ArgumentException>(action); }
public void TestBuildentityControllerCanNotBeNull() { MockReadEntityByIdParameters mutableParameters = new MockReadEntityByIdParameters(); mutableParameters.ItemSource = LegacyConstants.DefaultSource(); mutableParameters.SessionSettings = this.sessionConfig; mutableParameters.EntitySource = new EntitySource("Namespace", null, null, "action"); mutableParameters.EntityID = "bla"; IReadEntityByIdRequest request = mutableParameters; TestDelegate action = () => this.entitybyIdBuilder.GetUrlForRequest(request); Assert.Throws <ArgumentNullException>(action); }
public void SetUp() { IRestServiceGrammar restGrammar = RestServiceGrammar.ItemSSCV2Grammar(); ISSCUrlParameters webApiGrammar = SSCUrlParameters.ItemSSCV2UrlParameters(); this.builder = new UpdateItemByIdUrlBuilder(restGrammar, webApiGrammar); SessionConfigPOD mutableSessionConfig = new SessionConfigPOD(); mutableSessionConfig.InstanceUrl = "mobiledev1ua1.dk.sitecore.net:7119"; ItemSource source = LegacyConstants.DefaultSource(); this.requestMerger = new UserRequestMerger(mutableSessionConfig, source, null); }
public void TestBuildWithValidPath() { MockReadEntitiesByPathParameters mutableParameters = new MockReadEntitiesByPathParameters(); mutableParameters.ItemSource = LegacyConstants.DefaultSource(); mutableParameters.SessionSettings = this.sessionConfig; mutableParameters.EntitySource = new EntitySource("namespace", "controller", "id", "action"); IBaseEntityRequest request = mutableParameters; string result = this.getEntityBuilder.GetUrlForRequest(request); string expected = "https://mobiledev1ua1.dk.sitecore.net/sitecore/api/ssc/namespace/controller/id/action"; Assert.AreEqual(expected, result); }
public async void TestOverrideLanguageInRequestByQuery() { const string Language = "da"; var requestBuilder = ItemWebApiRequestBuilder.ReadItemsRequestWithSitecoreQuery("/sitecore/content/Home/*"); var request = requestBuilder .Language(Language) .Build(); var response = await sessionAuthenticatedUser.ReadItemAsync(request); testData.AssertItemsCount(4, response); var resultItem = response[3]; var expectedSource = new ItemSource(LegacyConstants.DefaultSource().Database, Language, 1); testData.AssertItemSourcesAreEqual(expectedSource, resultItem.Source); }
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 TestBuildWithUnEscapedPath() { MockGetItemsByPathParameters mutableParameters = new MockGetItemsByPathParameters(); mutableParameters.ItemSource = LegacyConstants.DefaultSource(); mutableParameters.ItemPath = "/path TO iTEm"; mutableParameters.SessionSettings = this.sessionConfig; mutableParameters.QueryParameters = this.payload; IReadItemsByPathRequest request = mutableParameters; string result = this.builder.GetUrlForRequest(request); string expected = "http://mobiledev1ua1.dk.sitecore.net/-/item/v2%2fpath%20to%20item?sc_database=web&language=en&payload=content"; 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 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 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 TestNullPayloadIsNotReplacedWithDefault() { MockGetItemsByPathParameters mutableParameters = new MockGetItemsByPathParameters(); mutableParameters.ItemSource = LegacyConstants.DefaultSource(); mutableParameters.ItemPath = "/path/TO/iTEm"; mutableParameters.SessionSettings = this.sessionConfig; mutableParameters.QueryParameters = new QueryParameters(null, null, null); IReadItemsByPathRequest request = mutableParameters; string result = this.builder.GetUrlForRequest(request); string expected = "http://mobiledev1ua1.dk.sitecore.net/-/item/v2%2fpath%2fto%2fitem?sc_database=web&language=en"; Assert.AreEqual(expected, result); }
public async void TestOverrideDatabaseInRequestByPath() { const string Db = "master"; var requestBuilder = ItemSSCRequestBuilder.ReadItemsRequestWithPath(testData.Items.ItemWithVersions.Path); var request = requestBuilder.Database(Db).Build(); var response = await sessionAuthenticatedUser.ReadItemAsync(request); testData.AssertItemsCount(1, response); var resultItem = response[0]; var expectedSource = new ItemSource(Db, LegacyConstants.DefaultSource().Language, 2); testData.AssertItemsAreEqual(testData.Items.ItemWithVersions, resultItem); testData.AssertItemSourcesAreEqual(expectedSource, resultItem.Source); }
public void TestBuildentityIdCanBeNull() { MockReadEntityByIdParameters mutableParameters = new MockReadEntityByIdParameters(); mutableParameters.ItemSource = LegacyConstants.DefaultSource(); mutableParameters.SessionSettings = this.sessionConfig; mutableParameters.EntitySource = new EntitySource("namespace", "controller", null, "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/action('bla')"; Assert.AreEqual(expected, result); }
public void SetUp() { IRestServiceGrammar restGrammar = RestServiceGrammar.ItemWebApiV2Grammar(); IWebApiUrlParameters webApiGrammar = WebApiUrlParameters.ItemWebApiV2UrlParameters(); this.builder = new UpdateItemByPathUrlBuilder(restGrammar, webApiGrammar); SessionConfigPOD mutableSessionConfig = new SessionConfigPOD(); mutableSessionConfig.ItemWebApiVersion = "v234"; mutableSessionConfig.InstanceUrl = "mobiledev1ua1.dk.sitecore.net:7119"; mutableSessionConfig.Site = "/sitecore/shell"; ItemSource source = LegacyConstants.DefaultSource(); this.requestMerger = new UserRequestMerger(mutableSessionConfig, source); }
public void Setup() { TestEnvironment env = TestEnvironment.DefaultTestEnvironment(); this.env = env; this.mediaSettings = new MediaLibrarySettings( "/sitecore/media library", "ashx", "~/media/"); var connection = new SessionConfig(this.env.InstanceUrl); var defaultSource = LegacyConstants.DefaultSource(); this.session = new ScTestApiSession(connection, env.Users.Admin, this.mediaSettings, defaultSource); this.itemSource = new MutableItemSource("master", "en", 3872); }
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)); }
public void TestDuplicateFieldsCauseException() { var mutableParameters = new MockGetItemsByPathParameters(); mutableParameters.SessionSettings = this.sessionConfig; mutableParameters.ItemSource = LegacyConstants.DefaultSource(); mutableParameters.ItemPath = "/aaa/bbb/ccc/ddd"; string[] fields = { "x", "y", "x" }; IQueryParameters duplicatedFields = new QueryParameters(fields); mutableParameters.QueryParameters = duplicatedFields; IReadItemsByPathRequest parameters = mutableParameters; Assert.Throws <ArgumentException>(() => this.builder.GetUrlForRequest(parameters)); }
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)); }