Merge from ECOMP's repository
[vid.git] / vid-app-common / src / test / java / org / onap / vid / controller / ServicePermissionsTest.java
1 package org.onap.vid.controller;
2
3 import org.jetbrains.annotations.NotNull;
4 import org.onap.vid.aai.model.Permissions;
5 import org.onap.vid.roles.RoleProvider;
6 import org.onap.vid.roles.RoleValidator;
7 import org.springframework.mock.web.MockHttpServletRequest;
8 import org.testng.annotations.DataProvider;
9 import org.testng.annotations.Test;
10
11 import static java.lang.Boolean.FALSE;
12 import static java.lang.Boolean.TRUE;
13 import static org.apache.commons.lang.RandomStringUtils.randomAlphanumeric;
14 import static org.hamcrest.MatcherAssert.assertThat;
15 import static org.hamcrest.Matchers.is;
16 import static org.mockito.ArgumentMatchers.any;
17 import static org.mockito.Mockito.mock;
18 import static org.mockito.Mockito.when;
19
20 public class ServicePermissionsTest {
21
22     @DataProvider
23     public static Object[][] trueAndFalse() {
24         return new Object[][]{{TRUE}, {FALSE}};
25     }
26
27
28     @Test(dataProvider = "trueAndFalse")
29     public void servicePermissions_responseMatchesMockedRoleValidator(boolean expected) {
30         String subscriberId = randomAlphanumeric(8);
31         String serviceType = randomAlphanumeric(8);
32
33         RoleProvider roleProvider = mock(RoleProvider.class);
34         RoleValidator roleValidator = mock(RoleValidator.class);
35         when(roleProvider.getUserRolesValidator(any())).thenReturn(roleValidator);
36         when(roleValidator.isServicePermitted(subscriberId, serviceType)).thenReturn(expected);
37
38         AaiController2 aaiController2 = new AaiController2(null, roleProvider, null);
39
40         Permissions permissions = aaiController2.servicePermissions(unimportantRequest(), subscriberId, serviceType);
41         assertThat(permissions, is(new Permissions(expected)));
42     }
43
44     @NotNull
45     private MockHttpServletRequest unimportantRequest() {
46         return new MockHttpServletRequest("", "");
47     }
48 }