1 package com.atlassian.plugins.rest.module.scope;
2
3 import com.atlassian.plugin.scope.ScopeManager;
4 import com.atlassian.plugins.rest.module.RestModuleDescriptor;
5 import com.sun.jersey.spi.container.ContainerRequest;
6 import org.junit.Test;
7 import org.junit.runner.RunWith;
8 import org.mockito.InjectMocks;
9 import org.mockito.Mock;
10 import org.mockito.runners.MockitoJUnitRunner;
11
12 import java.util.Optional;
13
14 import static org.hamcrest.CoreMatchers.equalTo;
15 import static org.junit.Assert.assertThat;
16 import static org.mockito.Mockito.when;
17
18 @RunWith(MockitoJUnitRunner.class)
19 public class ScopeResourceFilterTest {
20
21 @Mock
22 ScopeManager scopeManager;
23
24 @Mock
25 RestModuleDescriptor restModuleDescriptor;
26
27 @Mock
28 ContainerRequest request;
29
30 @InjectMocks
31 public ScopeResourceFilter scopeResourceFilter;
32
33 @Test
34 public void testReturnRequestIfNoScopeInDescriptor() throws Exception {
35 when(restModuleDescriptor.getScopeKey()).thenReturn(Optional.<String>empty());
36
37 assertThat(request, equalTo(scopeResourceFilter.filter(request)));
38 }
39
40 @Test
41 public void testReturnRequestIfScopeIsActive() throws Exception {
42 when(restModuleDescriptor.getScopeKey()).thenReturn(Optional.of("jsd"));
43 when(scopeManager.isScopeActive("jsd")).thenReturn(true);
44
45 assertThat(request, equalTo(scopeResourceFilter.filter(request)));
46 }
47
48
49 @Test(expected = ScopeCheckFailedException.class)
50 public void testFailRequestIfScopeIsNotActive() throws Exception {
51 when(restModuleDescriptor.getScopeKey()).thenReturn(Optional.of("jsd"));
52 when(scopeManager.isScopeActive("jsd")).thenReturn(false);
53
54 assertThat(request, equalTo(scopeResourceFilter.filter(request)));
55 }
56 }