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 private static final String TOKEN_VALUE = "no-check";
17 private XsrfHeaderValidator xsrfHeaderValidator;
18
19 private
20 @Mock
21 HttpServletRequest request;
22
23 @Before
24 public void setUp() {
25 xsrfHeaderValidator = new XsrfHeaderValidator();
26 }
27
28 @Test
29 public void testIsValidHeaderValueWithNull() {
30 assertEquals(false, xsrfHeaderValidator.isValidHeaderValue(null));
31 }
32
33 @Test
34 public void testIsValidHeaderValueWithIncorrectValue() {
35 assertEquals(false, xsrfHeaderValidator.isValidHeaderValue("a"));
36 }
37
38 @Test
39 public void testIsValidHeaderValueWithCorrectValue() {
40 assertEquals(true, xsrfHeaderValidator.isValidHeaderValue(
41 TOKEN_VALUE));
42 }
43
44 @Test
45 public void testRequestHasValidXsrfHeaderWithValidValue() {
46 when(request.getHeader(XsrfHeaderValidator.TOKEN_HEADER)
47 ).thenReturn(TOKEN_VALUE);
48 assertEquals(true,
49 xsrfHeaderValidator.requestHasValidXsrfHeader(request));
50 }
51
52 @Test
53 public void testRequestHasValidXsrfHeaderWithInvalidValue() {
54 when(request.getHeader(XsrfHeaderValidator.TOKEN_HEADER)
55 ).thenReturn("a");
56 assertEquals(false,
57 xsrfHeaderValidator.requestHasValidXsrfHeader(request));
58 }
59
60 }