View Javadoc

1   package com.atlassian.vcache.internal;
2   
3   import org.junit.Rule;
4   import org.junit.Test;
5   import org.junit.rules.ExpectedException;
6   
7   import static org.hamcrest.Matchers.is;
8   import static org.junit.Assert.assertThat;
9   
10  public class NameValidatorTest
11  {
12      @Rule
13      public ExpectedException thrown = ExpectedException.none();
14  
15      @Test
16      public void isValidKeyName_valid() throws Exception
17      {
18          assertThat(NameValidator.isValidKeyName("abcdef"), is(true));
19          assertThat(NameValidator.isValidKeyName("1"), is(true));
20          assertThat(NameValidator.isValidKeyName("dot.dot"), is(true));
21          assertThat(NameValidator.isValidKeyName("slash/allow"), is(true));
22          assertThat(NameValidator.isValidKeyName("minus-minus"), is(true));
23          assertThat(NameValidator.isValidKeyName("under_score"), is(true));
24          assertThat(NameValidator.isValidKeyName("dollar$cents"), is(true));
25      }
26  
27      @Test
28      public void isValidKeyName_invalid() throws Exception
29      {
30          assertThat(NameValidator.isValidKeyName(null), is(false));
31          assertThat(NameValidator.isValidKeyName(""), is(false));
32          assertThat(NameValidator.isValidKeyName("pipe|may|be|used|as|the|separator"), is(false));
33          assertThat(NameValidator.isValidKeyName("no spaces"), is(false));
34          assertThat(NameValidator.isValidKeyName("(yet)"), is(false));
35      }
36  
37      @Test
38      public void requireValidKeyName_valid()
39      {
40          final String validated = NameValidator.requireValidKeyName("abc");
41          assertThat(validated, is("abc"));
42      }
43  
44      @Test
45      public void requireValidKeyName_invalid()
46      {
47          thrown.expect(IllegalArgumentException.class);
48          thrown.expectMessage("Invalid key name: I'll buy that for a $1");
49  
50          NameValidator.requireValidKeyName("I'll buy that for a $1");
51      }
52  
53      @Test
54      public void isValidCacheName_valid() throws Exception
55      {
56          assertThat(NameValidator.isValidCacheName("abcdef"), is(true));
57      }
58  
59      @Test
60      public void isValidCacheName_invalid() throws Exception
61      {
62          assertThat(NameValidator.isValidCacheName("%%%"), is(false));
63      }
64  
65      @Test
66      public void requireValidCacheName_valid()
67      {
68          final String validated = NameValidator.requireValidCacheName("war$is-over");
69          assertThat(validated, is("war$is-over"));
70      }
71  
72      @Test
73      public void requireValidCacheName_invalid()
74      {
75          thrown.expect(IllegalArgumentException.class);
76          thrown.expectMessage("Invalid cache name: I'll buy that for a $2");
77  
78          NameValidator.requireValidCacheName("I'll buy that for a $2");
79      }
80  }