1 package com.atlassian.sal.api.xsrf;
2
3 import org.junit.Before;
4 import org.junit.Test;
5 import org.junit.runner.RunWith;
6 import org.mockito.Mock;
7 import org.mockito.runners.MockitoJUnitRunner;
8
9 import javax.servlet.http.HttpServletRequest;
10
11 import static org.junit.Assert.assertEquals;
12 import static org.mockito.Mockito.when;
13
14 @RunWith(MockitoJUnitRunner.class)
15 public class TestXsrfHeaderValidator
16 {
17 private static final String TOKEN_VALUE = "no-check";
18 private XsrfHeaderValidator xsrfHeaderValidator;
19
20 private @Mock
21 HttpServletRequest request;
22
23 @Before
24 public void setUp()
25 {
26 xsrfHeaderValidator = new XsrfHeaderValidator();
27 }
28
29 @Test
30 public void testIsValidHeaderValueWithNull()
31 {
32 assertEquals(false, xsrfHeaderValidator.isValidHeaderValue(null));
33 }
34
35 @Test
36 public void testIsValidHeaderValueWithIncorrectValue()
37 {
38 assertEquals(false, xsrfHeaderValidator.isValidHeaderValue("a"));
39 }
40
41 @Test
42 public void testIsValidHeaderValueWithCorrectValue()
43 {
44 assertEquals(true, xsrfHeaderValidator.isValidHeaderValue(
45 TOKEN_VALUE));
46 }
47
48 @Test
49 public void testRequestHasValidXsrfHeaderWithValidValue()
50 {
51 when(request.getHeader(XsrfHeaderValidator.TOKEN_HEADER)
52 ).thenReturn(TOKEN_VALUE);
53 assertEquals(true,
54 xsrfHeaderValidator.requestHasValidXsrfHeader(request));
55 }
56
57 @Test
58 public void testRequestHasValidXsrfHeaderWithInvalidValue()
59 {
60 when(request.getHeader(XsrfHeaderValidator.TOKEN_HEADER)
61 ).thenReturn("a");
62 assertEquals(false,
63 xsrfHeaderValidator.requestHasValidXsrfHeader(request));
64 }
65
66 }