1 package org.onap.vid.controller;
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;
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;
20 public class ServicePermissionsTest {
23 public static Object[][] trueAndFalse() {
24 return new Object[][]{{TRUE}, {FALSE}};
28 @Test(dataProvider = "trueAndFalse")
29 public void servicePermissions_responseMatchesMockedRoleValidator(boolean expected) {
30 String subscriberId = randomAlphanumeric(8);
31 String serviceType = randomAlphanumeric(8);
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);
38 AaiController2 aaiController2 = new AaiController2(null, roleProvider, null);
40 Permissions permissions = aaiController2.servicePermissions(unimportantRequest(), subscriberId, serviceType);
41 assertThat(permissions, is(new Permissions(expected)));
45 private MockHttpServletRequest unimportantRequest() {
46 return new MockHttpServletRequest("", "");