A self hosted chat application with end-to-end encrypted messaging.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

92 lines
2.8 KiB

package org.ros.chatto;
import static org.junit.Assert.assertArrayEquals;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
import org.ros.chatto.dto.UserRegistrationDTO;
import org.ros.chatto.model.ChatUser;
import org.ros.chatto.model.Role;
import org.ros.chatto.model.UserRole;
import org.ros.chatto.repository.RoleRepository;
import org.ros.chatto.repository.UserRepository;
import org.ros.chatto.repository.UserRepositoryCustom;
import org.ros.chatto.repository.UserRoleRepository;
import org.ros.chatto.repository.UserSessionRepository;
import org.ros.chatto.service.UserService;
import org.ros.chatto.service.UserServiceImpl;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
import lombok.extern.slf4j.Slf4j;
@SpringBootTest
@RunWith(MockitoJUnitRunner.class)
@Slf4j
public class UnitTest {
@InjectMocks
// private RoleService roleService;
// private UserTokenService userTokenService;
@Mock
private UserRoleRepository userRoleRepository;
@Mock
private PasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
@Mock
private RoleRepository roleRepository;
@Mock
private UserRepositoryCustom userRepositoryCustom;
@Mock
private UserSessionRepository userSessionRepository;
@Mock
private UserRepository userRepository;
private UserService userService = new UserServiceImpl(userRepository, userRoleRepository, passwordEncoder, roleRepository,
userSessionRepository);
// private ChatUser chatUser;
@Before
public void setupMock() {
// userRepository = mock(UserRepository.class);
// chatUser = mock(ChatUser.class);
}
@Test
public void userRegistrationTest() {
UserRegistrationDTO userRegistrationDTO = new UserRegistrationDTO();
userRegistrationDTO.setUserName("mickey");
userRegistrationDTO.setPassword("mouse");
ChatUser chatUser = new ChatUser();
chatUser.setUserName("mickey");
// chatUser.setPassword("mouse");
Role role = new Role();
role.setRoleID(2);
role.setName("USER");
when(roleRepository.findByName("USER")).thenReturn(role);
when(userRepository.save(chatUser)).thenReturn(chatUser);
UserRole userRole = userService.registerUser(userRegistrationDTO);
assertArrayEquals(new Object[] { 2, "USER","mickey" },
new Object[] { userRole.getRole().getRoleID(),
userRole.getRole().getName(), userRole.getUser().getUserName() });
verify(userRepository, times(1)).save(chatUser);
verify(userRoleRepository,times(1)).save(userRole);
}
}