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