Auth Service Errors Fix
[dcaegen2/platform.git] / mod2 / auth-service / src / test / java / org / onap / dcaegen2 / platform / mod / web / UserControllerTest.java
index 1374e0e..2e0057b 100644 (file)
@@ -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.
 
 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");
     }