@Test public void testGracefullyFailingOnIncompleteConfig() { // GIVEN mapping.setFromURI(""); mapping.setToURI("/foo.action?param=$0&id=$5"); // WHEN final VirtualURIMapping.MappingResult res = mapping.mapURI("/foo/bar.html"); // THEN assertNull(res); }
private void setVirtualURIMappingsToVirtualManager() throws NoSuchFieldException, IllegalAccessException { DefaultVirtualURIMapping virtualURIMapping = new DefaultVirtualURIMapping(); virtualURIMapping.setFromURI("originalURI"); virtualURIMapping.setToURI("newURI"); ArrayList<VirtualURIMapping> mappings = new ArrayList<>(); mappings.add(virtualURIMapping); Field f = virtualURIManager.getClass().getDeclaredField("virtualUriMappings"); f.setAccessible(true); f.set(virtualURIManager, new AtomicReference<>(mappings)); f.setAccessible(false); }
private void assertHasDefaultMapping(VirtualURIManager manager, String from, String to) { for (VirtualURIMapping virtualURIMapping : manager.getURIMappings()) { if (virtualURIMapping instanceof DefaultVirtualURIMapping) { DefaultVirtualURIMapping mapping = (DefaultVirtualURIMapping) virtualURIMapping; if (mapping.getFromURI().equals(from) && mapping.getToURI().equals(to)) { return; } } } fail("Virtual URI mapping from " + from + " to " + to + " is not present"); } }
@Test public void validateURIWhenToURIIsNull() throws Exception { // GIVEN mapping.setFromURI("/ActivationHandler"); mapping.setToURI(null); // WHEN - THEN assertFalse(mapping.isValid()); } }
@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 validateURIWhenToURIIsNotSet() throws Exception { // GIVEN mapping.setFromURI("/ActivationHandler"); // WHEN - THEN assertFalse(mapping.isValid()); }
@Override public MappingResult mapURI(String uri) { MappingResult result = super.mapURI(uri); if (result != null) { String destination = toURI; String hostMapping = this.tryToMapHost(); if (hostMapping != null) { destination = hostMapping; } result.setToURI(destination); return result; } return null; }
@Test public void validateURIWhenPropertiesAreNotSet() throws Exception { // WHEN - THEN assertFalse(mapping.isValid()); }
@Override public String toString() { return "[" + super.toString() + "[hosts:" + hosts.toString() + "]]"; }
@Test public void validateURIWhenPropertiesAreNull() throws Exception { // GIVEN mapping.setFromURI(null); mapping.setToURI(null); // WHEN - THEN assertFalse(mapping.isValid()); }
@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 validateURIWhenToURIIsNotSet() throws Exception { // GIVEN mapping.setFromURI("/ActivationHandler"); // WHEN - THEN assertFalse(mapping.isValid()); }
@Test public void validateURIWhenPropertiesAreNotSet() throws Exception { // WHEN - THEN assertFalse(mapping.isValid()); }
@Test public void testGracefullyFailingOnWrongRegexGroup() { // GIVEN mapping.setFromURI("/foo/([a-z]+)/detail/([0-9]+)\\.html"); mapping.setToURI("/foo.action?param=$0&id=$5"); final String inputUri = "/foo/bar/detail/123.html"; // WHEN final VirtualURIMapping.MappingResult res = mapping.mapURI(inputUri); // THEN assertNull(res); }
@Test public void validateURIWhenPropertiesAreNull() throws Exception { // GIVEN mapping.setFromURI(null); mapping.setToURI(null); // WHEN - THEN assertFalse(mapping.isValid()); } }
@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 testExample2() { // GIVEN mapping.setFromURI("^/stk-resources/comics/resources/comics/css/(.*)\\.css$"); mapping.setToURI("forward:/docroot/comics/css/$1.css"); // WHEN final VirtualURIMapping.MappingResult res = mapping.mapURI("/stk-resources/comics/resources/comics/css/style.css"); // THEN assertNotNull(res); assertEquals("forward:/docroot/comics/css/style.css", res.getToURI()); }
@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 testExample3() { // GIVEN mapping.setFromURI("^/stk-resources/comics/resources/comics/css(.*)/(.*)\\.css$"); mapping.setToURI("forward:/docroot/comics/css/$2.css"); // WHEN final VirtualURIMapping.MappingResult res = mapping.mapURI("/stk-resources/comics/resources/comics/css\b/style.css"); // THEN assertNotNull(res); assertEquals("forward:/docroot/comics/css/style.css", res.getToURI()); }