/* * Copyright 2013 eXo Platform SAS * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package juzu.impl.router; import org.junit.Test; import java.util.Collections; import java.util.HashMap; import java.util.Map; /** * @author <a href="mailto:julien.viet@exoplatform.com">Julien Viet</a> * @version $Revision$ */ public class PortalConfigurationTestCase extends AbstractControllerTestCase { /** . */ private RouterAssert router; /** . */ private Route portal; /** . */ private Route group; /** . */ private Route user; @Override public void setUp() throws Exception { this.router = new RouterAssert(); Map<String, PathParam.Builder> params = Collections.singletonMap(Names.GTN_PATH, PathParam.matching(".*").preservePath(true)); portal = router.append("/private/{gtn:sitetype}/{gtn:sitename}{gtn:path}", params); group = router.append("/groups/{gtn:sitetype}/{gtn:sitename}{gtn:path}", params); user = router.append("/users/{gtn:sitetype}/{gtn:sitename}{gtn:path}", params); } @Test public void testComponent() throws Exception { Map<String, String> expectedParameters = new HashMap<String, String>(); expectedParameters.put(Names.GTN_SITENAME, "classic"); expectedParameters.put(Names.GTN_SITETYPE, "portal"); expectedParameters.put(Names.GTN_PATH, "/"); // router.assertRoute(portal, expectedParameters, "/private/portal/classic/"); assertEquals("/private/portal/classic/", portal.matches(expectedParameters).render()); } @Test public void testPrivateClassic() throws Exception { Map<String, String> expectedParameters = new HashMap<String, String>(); expectedParameters.put(Names.GTN_SITENAME, "classic"); expectedParameters.put(Names.GTN_SITETYPE, "portal"); expectedParameters.put(Names.GTN_PATH, ""); // router.assertRoute(portal, expectedParameters, "/private/portal/classic"); assertEquals("/private/portal/classic", portal.matches(expectedParameters).render()); } @Test public void testPrivateClassicSlash() throws Exception { Map<String, String> expectedParameters = new HashMap<String, String>(); expectedParameters.put(Names.GTN_SITENAME, "classic"); expectedParameters.put(Names.GTN_SITETYPE, "portal"); expectedParameters.put(Names.GTN_PATH, "/"); // router.assertRoute(portal, expectedParameters, "/private/portal/classic/"); assertEquals("/private/portal/classic/", portal.matches(expectedParameters).render()); } @Test public void testPrivateClassicHome() throws Exception { Map<String, String> expectedParameters = new HashMap<String, String>(); expectedParameters.put(Names.GTN_SITENAME, "classic"); expectedParameters.put(Names.GTN_SITETYPE, "portal"); expectedParameters.put(Names.GTN_PATH, "/home"); // router.assertRoute(portal, expectedParameters, "/private/portal/classic/home"); assertEquals("/private/portal/classic/home", portal.matches(expectedParameters).render()); } @Test public void testSiteType() throws Exception { Map<String, String> expectedParameters = new HashMap<String, String>(); expectedParameters.put(Names.GTN_SITETYPE, "group"); expectedParameters.put(Names.GTN_SITENAME, "platform"); expectedParameters.put(Names.GTN_PATH, "/administration/registry"); // router.assertRoute(portal, expectedParameters, "/private/group/platform/administration/registry"); assertEquals("/private/group/platform/administration/registry", portal.matches(expectedParameters).render()); Map<String, String> expectedParameters1 = new HashMap<String, String>(); expectedParameters1.put(Names.GTN_SITETYPE, "user"); expectedParameters1.put(Names.GTN_SITENAME, "root"); expectedParameters1.put(Names.GTN_PATH, "/tab_0"); // router.assertRoute(portal, expectedParameters1, "/private/user/root/tab_0"); assertEquals("/private/user/root/tab_0", portal.matches(expectedParameters1).render()); } }