X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=mod2%2Fauth-service%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fdcaegen2%2Fplatform%2Fmod%2Fweb%2FUserControllerTest.java;h=2e0057becca6115285042979942e5244e4c5783b;hb=86c9032dcba9a92a9525dd65ecfe910e8c73664a;hp=1374e0e2ac65f753be619cec250edd884da1eded;hpb=15dd0a3541db1e7ac9f38680d9dbe83cf3d303ae;p=dcaegen2%2Fplatform.git diff --git a/mod2/auth-service/src/test/java/org/onap/dcaegen2/platform/mod/web/UserControllerTest.java b/mod2/auth-service/src/test/java/org/onap/dcaegen2/platform/mod/web/UserControllerTest.java index 1374e0e..2e0057b 100644 --- a/mod2/auth-service/src/test/java/org/onap/dcaegen2/platform/mod/web/UserControllerTest.java +++ b/mod2/auth-service/src/test/java/org/onap/dcaegen2/platform/mod/web/UserControllerTest.java @@ -3,7 +3,7 @@ * * ============LICENSE_START======================================================= * * org.onap.dcae * * ================================================================================ - * * Copyright (c) 2020 AT&T Intellectual Property. All rights reserved. + * * Copyright (c) 2020 - 2021 AT&T Intellectual Property. All rights reserved. * * ================================================================================ * * Licensed under the Apache License, Version 2.0 (the "License"); * * you may not use this file except in compliance with the License. @@ -22,22 +22,33 @@ package org.onap.dcaegen2.platform.mod.web; -import org.apache.tools.ant.taskdefs.optional.extension.Specification; +import static org.mockito.Mockito.any; +import static org.mockito.Mockito.doNothing; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; +import static org.onap.dcaegen2.platform.mod.objectmothers.AuthObjectMother.asJsonString; +import static org.onap.dcaegen2.platform.mod.objectmothers.AuthObjectMother.getModUser; +import static org.onap.dcaegen2.platform.mod.objectmothers.UserObjectMother.getUpdateUserRequest; +import static org.onap.dcaegen2.platform.mod.objectmothers.UserObjectMother.getUsers; +import static org.onap.dcaegen2.platform.mod.objectmothers.UserObjectMother.userId; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.patch; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + import org.junit.Assert; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.junit.runner.Request; import org.mockito.Mock; -import org.mockito.Mockito; -import org.onap.dcaegen2.platform.mod.controllers.RoleController; import org.onap.dcaegen2.platform.mod.controllers.UserController; -import org.onap.dcaegen2.platform.mod.models.LoginRequest; import org.onap.dcaegen2.platform.mod.models.ModUser; import org.onap.dcaegen2.platform.mod.models.UpdateUserRequest; import org.onap.dcaegen2.platform.mod.repositories.RoleRepository; import org.onap.dcaegen2.platform.mod.repositories.UserRepository; import org.onap.dcaegen2.platform.mod.security.jwt.AuthEntryPointJwt; import org.onap.dcaegen2.platform.mod.security.jwt.JwtUtils; +import org.onap.dcaegen2.platform.mod.security.services.UserDetailsImpl; import org.onap.dcaegen2.platform.mod.security.services.UserDetailsServiceImpl; import org.onap.dcaegen2.platform.mod.services.MODUserDetailService; import org.springframework.beans.factory.annotation.Autowired; @@ -46,24 +57,8 @@ import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; import org.springframework.security.core.Authentication; import org.springframework.security.test.context.support.WithMockUser; -import org.springframework.test.web.client.RequestMatcher; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MvcResult; -import org.springframework.test.web.servlet.ResultMatcher; - -import java.util.Optional; - -import static org.hamcrest.Matchers.notNullValue; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.Mockito.*; -import static org.onap.dcaegen2.platform.mod.objectmothers.AuthObjectMother.asJsonString; -import static org.onap.dcaegen2.platform.mod.objectmothers.AuthObjectMother.getModUser; -import static org.onap.dcaegen2.platform.mod.objectmothers.RoleObjectMother.getRoles; -import static org.onap.dcaegen2.platform.mod.objectmothers.UserObjectMother.*; -import static org.springframework.test.web.client.match.MockRestRequestMatchers.content; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; /** * @author @@ -107,16 +102,17 @@ public class UserControllerTest { @Test void test_getUsername() throws Exception { - when(userRepository.findByUsername(any())).thenReturn(Optional.of(new ModUser())); + when(userDetailsService.loadUserByUsername(userId)).thenReturn(UserDetailsImpl.build(new ModUser())); MvcResult result = mockMvc.perform(get("/api/users/" + userId) .contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isOk()).andReturn(); Assert.assertNotNull(result.getResponse().getContentAsString()); - verify(userRepository, times(1)).findByUsername(any()); + verify(userDetailsService, times(1)).loadUserByUsername(userId); } + @WithMockUser(roles="ADMIN") @Test void test_getAllUsers() throws Exception { @@ -146,7 +142,7 @@ public class UserControllerTest { } - @WithMockUser(username="ADMIN") + @WithMockUser(roles="ADMIN") @Test void test_userUpdateOwnProfile_returnsSuccessResponse() throws Exception { //arrange @@ -155,13 +151,13 @@ public class UserControllerTest { when(userDetailsService.adminUpdateUser(userId,updateUserRequest,"token")).thenReturn(getModUser()); mockMvc.perform(patch("/api/users/admin/" + userId) - //.header("Authorization", "token") + .header("Authorization", "token") .contentType(MediaType.APPLICATION_JSON) .content(asJsonString(updateUserRequest)).accept(MediaType.APPLICATION_JSON)) //.andExpect(jsonPath("$.message", notNullValue())) .andExpect(status().isOk()).andReturn(); - verify(userDetailsService, times(1)).adminUpdateUser(anyString(),updateUserRequest,anyString()); + verify(userDetailsService, times(1)).adminUpdateUser(userId,updateUserRequest,"token"); }