iot-gateway/src/test/java/com/zsc/edu/gateway/MockMvcConfigBase.java

66 lines
2.4 KiB
Java
Raw Normal View History

2024-11-01 17:19:12 +08:00
package com.zsc.edu.gateway;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.zsc.edu.gateway.domain.DeptBuilder;
import com.zsc.edu.gateway.domain.RoleBuilder;
import com.zsc.edu.gateway.domain.UserBuilder;
import com.zsc.edu.gateway.framework.security.CustomAccessDeniedHandler;
import com.zsc.edu.gateway.framework.security.CustomAuthenticationFailureHandler;
import com.zsc.edu.gateway.framework.security.UserDetailsImpl;
import com.zsc.edu.gateway.modules.system.entity.Dept;
import com.zsc.edu.gateway.modules.system.entity.Role;
import com.zsc.edu.gateway.modules.system.entity.User;
import com.zsc.edu.gateway.modules.system.mapper.RoleMapper;
import com.zsc.edu.gateway.modules.system.mapper.UserMapper;
import com.zsc.edu.gateway.modules.system.service.UserService;
import jakarta.annotation.Resource;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.security.core.session.SessionRegistry;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.web.servlet.MockMvc;
import javax.sql.DataSource;
import java.util.HashSet;
/**
* @author pengzheng
*/
@ExtendWith(SpringExtension.class)
//@AutoConfigureRestDocs
//@ActiveProfiles("test")
abstract public class MockMvcConfigBase {
protected static UserDetailsImpl userDetails;
protected static User user;
@MockBean
protected DataSource dataSource;
@MockBean
protected SessionRegistry sessionRegistry;
@MockBean
protected UserMapper userMapper;
@MockBean
protected RoleMapper roleMapper;
@MockBean
private UserService userService;
@MockBean
protected CustomAuthenticationFailureHandler customAuthenticationFailureHandler;
@MockBean
protected CustomAccessDeniedHandler customAccessDeniedHandler;
@Resource
protected MockMvc mockMvc;
@Resource
protected ObjectMapper objectMapper;
@BeforeAll
public static void setup() {
Dept dept = DeptBuilder.aDept().name("Platform").build();
Role role = RoleBuilder.aRole().authorities(new HashSet<>()).build();
// Role role = RoleBuilder.aRole().authorities(new HashSet<>(Arrays.asList(Authority))).build();
user = UserBuilder.anUser().username("admin").dept(dept).role(role).build();
userDetails = UserDetailsImpl.from(user);
}
}