spring-boot-realworld-examp.../src/test/java/io/spring/api/TestWithCurrentUser.java

57 lines
1.7 KiB
Java
Raw Normal View History

2017-08-15 09:47:18 +07:00
package io.spring.api;
2017-08-18 16:08:27 +07:00
import io.spring.application.data.UserData;
2017-08-24 09:39:09 +07:00
import io.spring.core.service.JwtService;
2017-08-15 09:47:18 +07:00
import io.spring.core.user.User;
import io.spring.core.user.UserRepository;
2017-08-24 09:39:09 +07:00
import io.spring.infrastructure.mybatis.readservice.UserReadService;
import org.junit.Before;
import org.junit.runner.RunWith;
2017-08-15 09:47:18 +07:00
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.test.context.junit4.SpringRunner;
2017-08-15 09:47:18 +07:00
import java.util.Optional;
2018-05-10 13:50:44 +07:00
import static org.mockito.ArgumentMatchers.eq;
2017-08-15 09:47:18 +07:00
import static org.mockito.Mockito.when;
@RunWith(SpringRunner.class)
2017-08-25 10:34:41 +07:00
abstract class TestWithCurrentUser {
2017-08-15 09:47:18 +07:00
@MockBean
protected UserRepository userRepository;
@MockBean
protected UserReadService userReadService;
protected User user;
protected UserData userData;
protected String token;
2017-08-16 14:58:51 +07:00
protected String email;
protected String username;
protected String defaultAvatar;
2017-08-15 09:47:18 +07:00
2017-08-24 09:39:09 +07:00
@MockBean
2017-08-15 17:16:06 +07:00
protected JwtService jwtService;
2017-08-15 09:47:18 +07:00
2017-08-16 14:58:51 +07:00
protected void userFixture() {
email = "john@jacob.com";
username = "johnjacob";
defaultAvatar = "https://static.productionready.io/images/smiley-cyrus.jpg";
2017-08-15 09:47:18 +07:00
user = new User(email, username, "123", "", defaultAvatar);
when(userRepository.findByUsername(eq(username))).thenReturn(Optional.of(user));
2017-08-18 16:08:27 +07:00
when(userRepository.findById(eq(user.getId()))).thenReturn(Optional.of(user));
2017-08-15 09:47:18 +07:00
userData = new UserData(user.getId(), email, username, "", defaultAvatar);
2017-08-18 16:08:27 +07:00
when(userReadService.findById(eq(user.getId()))).thenReturn(userData);
2017-08-15 09:47:18 +07:00
2017-08-24 09:39:09 +07:00
token = "token";
when(jwtService.getSubFromToken(eq(token))).thenReturn(Optional.of(user.getId()));
}
@Before
public void setUp() throws Exception {
userFixture();
2017-08-15 09:47:18 +07:00
}
}