@Test public void testQueryStringIsBeingPassedThroughExample2() { // GIVEN mapping.setFromURI("/products/([0-9a-z]+)\\.html\\?visible=(true|false)$"); mapping.setToURI("forward:/shop/$1?dostupna=$2"); final String inputUri = "/products/book.html"; final String inputQueryString = "visible=false"; // WHEN final VirtualURIMapping.MappingResult res = queryAwareMapping.mapURI(inputUri, inputQueryString); // THEN assertNotNull(res); assertEquals("forward:/shop/book?dostupna=false", res.getToURI()); assertEquals(3, res.getLevel()); }
@Test public void testQueryStringIsBeingPassedThroughExample() { // GIVEN mapping.setFromURI("/news/(.*)"); mapping.setToURI("http://noviny.cz/$1"); final String inputUri = "/news/news.html"; final String inputQueryString = "local=true&history=false&sport=true"; // WHEN final VirtualURIMapping.MappingResult res = queryAwareMapping.mapURI(inputUri, inputQueryString); // THEN assertNotNull(res); assertEquals("http://noviny.cz/news.html?local=true&history=false&sport=true", res.getToURI()); assertEquals(2, res.getLevel()); }
@Test public void testQueryStringIsBeingPassedThroughExample3() { // GIVEN mapping.setFromURI("/products/([a-z]+)/pet/(.*)\\?((([0-9a-z]+)=([0-9]+)&)+)(paid)=(true|false)$"); mapping.setToURI("http://petshop.com/$1/$7.html?$3yes=$8"); final String inputUri = "/products/homeanimal/pet/checkout.htm"; final String inputQueryString = "?dog=5&cat=10&skunk=50&paid=true"; // WHEN final VirtualURIMapping.MappingResult res = queryAwareMapping.mapURI(inputUri, inputQueryString); // THEN assertNotNull(res); assertEquals("http://petshop.com/homeanimal/paid.html?dog=5&cat=10&skunk=50&yes=true", res.getToURI()); assertEquals(9, res.getLevel()); }
@Test public void mapURI() throws Exception { // GIVEN mapping.setFromURI("/ActivationHandler"); mapping.setToURI("/.magnolia/activation"); // WHEN VirtualURIMapping.MappingResult result = mapping.mapURI("/ActivationHandler"); // THEN assertNotNull(result); assertEquals("/.magnolia/activation", result.getToURI()); assertEquals(18, result.getLevel()); }
@Test public void testExample() { // GIVEN mapping.setFromURI("/products/([0-9a-z]+)\\.html"); mapping.setToURI("/product/detail.html?productId=$1"); // WHEN final VirtualURIMapping.MappingResult res = mapping.mapURI("/products/magnolia.html"); // THEN assertNotNull(res); assertEquals("/product/detail.html?productId=magnolia", res.getToURI()); assertEquals(2, res.getLevel()); }
@Test public void testRegexSubstitutionWorksAndLevelIsSetToGroupCountPlusOne() { // GIVEN mapping.setFromURI("/foo/(.*?)-([1-9]).html"); mapping.setToURI("/bar.action?foo=$1&id=$2"); // WHEN final VirtualURIMapping.MappingResult res = mapping.mapURI("/foo/chalala-6.html"); // THEN assertNotNull(res); assertEquals("/bar.action?foo=chalala&id=6", res.getToURI()); assertEquals(3, res.getLevel()); }
@Test public void testSupportsMoreThan9Groups() { // GIVEN mapping.setFromURI("/(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)(v)(w)(x)(y)(z).html"); mapping.setToURI("/bar.action?param=$9-$266$10"); // WHEN final VirtualURIMapping.MappingResult res = mapping.mapURI("/abcdefghijklmnopqrstuvwxyz.html"); // THEN assertNotNull(res); // there is no group #266, so we expect group 9, "-", group 26, followed by "6", followed by group 10 assertEquals("/bar.action?param=i-z6j", res.getToURI()); assertEquals(27, res.getLevel()); }