mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-17 10:41:06 +01:00
Enhance unit tests and use guice for injection
This commit is contained in:
@@ -1,23 +1,46 @@
|
||||
package sonia.scm.api.rest.resources;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
import sonia.scm.user.User;
|
||||
|
||||
import javax.ws.rs.core.UriInfo;
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
public class User2UserDtoMapperTest {
|
||||
|
||||
private final User2UserDtoMapper mapper = Mappers.getMapper(User2UserDtoMapper.class);
|
||||
private final UriInfo uriInfo = mock(UriInfo.class);
|
||||
|
||||
@Test
|
||||
public void shouldMapLinks() {
|
||||
public void shouldMapLinks() throws URISyntaxException {
|
||||
URI link = new URI("link");
|
||||
when(uriInfo.getAbsolutePath()).thenReturn(link);
|
||||
|
||||
User user = new User();
|
||||
user.setName("abc");
|
||||
UserDto userDto = User2UserDtoMapper.INSTANCE.userToUserDto(user, mock(UriInfo.class));
|
||||
assertEquals("abc" , userDto.getName());
|
||||
assertNotNull("expected map with links", userDto.getLinks());
|
||||
|
||||
UserDto userDto = mapper.userToUserDto(user, uriInfo);
|
||||
assertEquals("expected map with self links", link, userDto.getLinks().get("self").getHref());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldMapFields() {
|
||||
User user = new User();
|
||||
user.setName("abc");
|
||||
UserDto userDto = mapper.userToUserDto(user, uriInfo);
|
||||
assertEquals("abc" , userDto.getName());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldRemovePassword() {
|
||||
User user = new User();
|
||||
user.setPassword("password");
|
||||
UserDto userDto = mapper.userToUserDto(user, uriInfo);
|
||||
assertEquals(UserResource.DUMMY_PASSWORT , userDto.getPassword());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
package sonia.scm.api.rest.resources;
|
||||
|
||||
import org.apache.shiro.authc.credential.PasswordService;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import sonia.scm.user.User;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.mockito.Mockito.when;
|
||||
import static org.mockito.MockitoAnnotations.initMocks;
|
||||
|
||||
public class UserDto2UserMapperTest {
|
||||
|
||||
@Mock
|
||||
private PasswordService passwordService;
|
||||
@InjectMocks
|
||||
private UserDto2UserMapperImpl mapper;
|
||||
|
||||
@Test
|
||||
public void shouldMapFields() {
|
||||
UserDto dto = new UserDto();
|
||||
dto.setName("abc");
|
||||
User user = mapper.userDtoToUser(dto, "original password");
|
||||
assertEquals("abc" , user.getName());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldEncodePassword() {
|
||||
when(passwordService.encryptPassword("unencrypted")).thenReturn("encrypted");
|
||||
|
||||
UserDto dto = new UserDto();
|
||||
dto.setPassword("unencrypted");
|
||||
User user = mapper.userDtoToUser(dto, "original password");
|
||||
assertEquals("encrypted" , user.getPassword());
|
||||
}
|
||||
|
||||
@Before
|
||||
public void init() {
|
||||
initMocks(this);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user