1   package com.atlassian.security.auth.trustedapps;
2   
3   import java.util.Arrays;
4   import java.util.Collections;
5   import java.util.HashSet;
6   
7   import junit.framework.TestCase;
8   
9   public class TestDefaultURLMatcher extends TestCase
10  {
11      public void testDefaultURLMatcher() throws Exception
12      {
13          final DefaultURLMatcher matcher = new DefaultURLMatcher(new HashSet<String>(Arrays.asList("/docs", "/admin/info", "/logs")));
14  
15          assertURLMatch(true, matcher, "/admin/info.html");
16          assertURLMatch(true, matcher, "/docs/index.html");
17          assertURLMatch(false, matcher, "/");
18          assertURLMatch(false, matcher, "/doc");
19          assertURLMatch(false, matcher, "/admin");
20          assertURLMatch(false, matcher, "/admin/deleteTask");
21      }
22  
23      public void testDefaultURLMatcherAgainstEmptySet() throws Exception
24      {
25          final DefaultURLMatcher matcher = new DefaultURLMatcher(Collections.<String> emptySet());
26  
27          assertURLMatch(true, matcher, "/admin/info.html");
28          assertURLMatch(true, matcher, "/docs/index.html");
29          assertURLMatch(true, matcher, "/");
30          assertURLMatch(true, matcher, "/doc");
31          assertURLMatch(true, matcher, "/admin");
32          assertURLMatch(true, matcher, "/admin/deleteTask");
33      }
34  
35      private void assertURLMatch(final boolean expected, final DefaultURLMatcher matcher, final String path) throws Exception
36      {
37          assertEquals(expected, matcher.match(path));
38      }
39  }