final VirtualURIMapping.MappingResult result; if (queryString != null && vm instanceof QueryAwareVirtualURIMapping) { result = ((QueryAwareVirtualURIMapping) vm).mapURI(uri, queryString); } else { result = vm.mapURI(uri);
@Test public void testQueryStringMappingFailedOnWrongQueryString() { // GIVEN mapping.setFromURI("/failed/string.html\\?([0-9a-z]+)=([0-9]+)"); mapping.setToURI("http://bookshop.com/$1.html?piece=$2"); final String inputUri = "/failed/string.html"; final String inputQueryString = "godfather=true"; // WHEN final VirtualURIMapping.MappingResult res = queryAwareMapping.mapURI(inputUri, inputQueryString); // THEN assertNull(res); }
@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 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 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()); }