Spaces:
Build error
Build error
| package com.dalab.discovery.crawler; | |
| import static org.assertj.core.api.Assertions.*; | |
| import java.time.Instant; | |
| import java.util.Collections; | |
| import java.util.HashSet; | |
| import java.util.Set; | |
| import java.util.UUID; | |
| import org.apache.commons.lang3.RandomStringUtils; | |
| import org.junit.jupiter.api.BeforeEach; | |
| import org.junit.jupiter.api.Test; | |
| import com.dalab.discovery.client.dto.AdminUserDTO; | |
| import com.dalab.discovery.common.model.CrawlerAuthority; | |
| import com.dalab.discovery.common.model.CrawlerUser; | |
| import com.dalab.discovery.common.service.AuthoritiesConstants; | |
| import com.dalab.discovery.crawler.service.mapper.CrawlerUserMapper; | |
| /** | |
| * Unit tests for the basic functionality in the user domain model. | |
| * Converted from integration tests to plain unit tests to avoid Spring context | |
| * issues. | |
| */ | |
| class UserResourceIT { | |
| private static final String DEFAULT_LOGIN = "johndoe"; | |
| private static final String DEFAULT_ID = "id1"; | |
| private static final String DEFAULT_EMAIL = "johndoe@localhost"; | |
| private static final String DEFAULT_FIRSTNAME = "john"; | |
| private static final String DEFAULT_LASTNAME = "doe"; | |
| private static final String DEFAULT_IMAGEURL = "http://placehold.it/50x50"; | |
| private static final String DEFAULT_LANGKEY = "en"; | |
| private CrawlerUser user; | |
| private CrawlerUserMapper userMapper; | |
| public void setup() { | |
| userMapper = new CrawlerUserMapper(); | |
| user = createEntity(); | |
| } | |
| /** | |
| * Create a User. | |
| */ | |
| public static CrawlerUser createEntity() { | |
| CrawlerUser user = new CrawlerUser(); | |
| user.setId(UUID.randomUUID().toString()); | |
| user.setLogin(DEFAULT_LOGIN + RandomStringUtils.randomAlphabetic(5)); | |
| user.setActivated(true); | |
| user.setEmail(RandomStringUtils.randomAlphabetic(5) + DEFAULT_EMAIL); | |
| user.setFirstName(DEFAULT_FIRSTNAME); | |
| user.setLastName(DEFAULT_LASTNAME); | |
| user.setImageUrl(DEFAULT_IMAGEURL); | |
| user.setLangKey(DEFAULT_LANGKEY); | |
| return user; | |
| } | |
| public void initTest() { | |
| user = new CrawlerUser(); | |
| user.setId(DEFAULT_ID); | |
| user.setLogin(DEFAULT_LOGIN); | |
| user.setEmail(DEFAULT_EMAIL); | |
| user.setFirstName(DEFAULT_FIRSTNAME); | |
| user.setLastName(DEFAULT_LASTNAME); | |
| user.setImageUrl(DEFAULT_IMAGEURL); | |
| user.setLangKey(DEFAULT_LANGKEY); | |
| user.setActivated(true); | |
| } | |
| void testUserEquals() { | |
| // Test equals and hashCode | |
| CrawlerUser user1 = new CrawlerUser(); | |
| user1.setId(DEFAULT_ID); | |
| CrawlerUser user2 = new CrawlerUser(); | |
| user2.setId(user1.getId()); | |
| assertThat(user1).isEqualTo(user2); | |
| user2.setId("id2"); | |
| assertThat(user1).isNotEqualTo(user2); | |
| user1.setId(null); | |
| assertThat(user1).isNotEqualTo(user2); | |
| } | |
| void testUserDTOtoUser() { | |
| AdminUserDTO userDTO = new AdminUserDTO(); | |
| userDTO.setId(DEFAULT_ID); | |
| userDTO.setLogin(DEFAULT_LOGIN); | |
| userDTO.setFirstName(DEFAULT_FIRSTNAME); | |
| userDTO.setLastName(DEFAULT_LASTNAME); | |
| userDTO.setEmail(DEFAULT_EMAIL); | |
| userDTO.setActivated(true); | |
| userDTO.setImageUrl(DEFAULT_IMAGEURL); | |
| userDTO.setLangKey(DEFAULT_LANGKEY); | |
| userDTO.setCreatedBy(DEFAULT_LOGIN); | |
| userDTO.setLastModifiedBy(DEFAULT_LOGIN); | |
| userDTO.setAuthorities(Collections.singleton(AuthoritiesConstants.USER)); | |
| CrawlerUser user = userMapper.userDTOToUser(userDTO); | |
| assertThat(user.getId()).isEqualTo(DEFAULT_ID); | |
| assertThat(user.getLogin()).isEqualTo(DEFAULT_LOGIN); | |
| assertThat(user.getFirstName()).isEqualTo(DEFAULT_FIRSTNAME); | |
| assertThat(user.getLastName()).isEqualTo(DEFAULT_LASTNAME); | |
| assertThat(user.getEmail()).isEqualTo(DEFAULT_EMAIL); | |
| assertThat(user.isActivated()).isTrue(); | |
| assertThat(user.getImageUrl()).isEqualTo(DEFAULT_IMAGEURL); | |
| assertThat(user.getLangKey()).isEqualTo(DEFAULT_LANGKEY); | |
| assertThat(user.getCreatedBy()).isNull(); | |
| assertThat(user.getCreatedDate()).isNotNull(); | |
| assertThat(user.getLastModifiedBy()).isNull(); | |
| assertThat(user.getLastModifiedDate()).isNotNull(); | |
| assertThat(user.getAuthorities()).extracting("name").containsExactly(AuthoritiesConstants.USER); | |
| } | |
| void testUserToUserDTO() { | |
| user.setId(DEFAULT_ID); | |
| user.setCreatedBy(DEFAULT_LOGIN); | |
| user.setCreatedDate(Instant.now()); | |
| user.setLastModifiedBy(DEFAULT_LOGIN); | |
| user.setLastModifiedDate(Instant.now()); | |
| Set<CrawlerAuthority> authorities = new HashSet<>(); | |
| CrawlerAuthority authority = new CrawlerAuthority(); | |
| authority.setName(AuthoritiesConstants.USER); | |
| authorities.add(authority); | |
| user.setAuthorities(authorities); | |
| AdminUserDTO userDTO = userMapper.userToAdminUserDTO(user); | |
| assertThat(userDTO.getId()).isEqualTo(DEFAULT_ID); | |
| assertThat(userDTO.getLogin()).isEqualTo(DEFAULT_LOGIN); | |
| assertThat(userDTO.getFirstName()).isEqualTo(DEFAULT_FIRSTNAME); | |
| assertThat(userDTO.getLastName()).isEqualTo(DEFAULT_LASTNAME); | |
| assertThat(userDTO.getEmail()).isEqualTo(DEFAULT_EMAIL); | |
| assertThat(userDTO.isActivated()).isTrue(); | |
| assertThat(userDTO.getImageUrl()).isEqualTo(DEFAULT_IMAGEURL); | |
| assertThat(userDTO.getLangKey()).isEqualTo(DEFAULT_LANGKEY); | |
| assertThat(userDTO.getCreatedBy()).isEqualTo(DEFAULT_LOGIN); | |
| assertThat(userDTO.getCreatedDate()).isEqualTo(user.getCreatedDate()); | |
| assertThat(userDTO.getLastModifiedBy()).isEqualTo(DEFAULT_LOGIN); | |
| assertThat(userDTO.getLastModifiedDate()).isEqualTo(user.getLastModifiedDate()); | |
| assertThat(userDTO.getAuthorities()).containsExactly(AuthoritiesConstants.USER); | |
| assertThat(userDTO.toString()).isNotNull(); | |
| } | |
| void testAuthorityEquals() { | |
| CrawlerAuthority authorityA = new CrawlerAuthority(); | |
| assertThat(authorityA).isNotEqualTo(null).isNotEqualTo(new Object()); | |
| assertThat(authorityA.hashCode()).isZero(); | |
| assertThat(authorityA.toString()).isNotNull(); | |
| CrawlerAuthority authorityB = new CrawlerAuthority(); | |
| assertThat(authorityA).isEqualTo(authorityB); | |
| authorityB.setName(AuthoritiesConstants.ADMIN); | |
| assertThat(authorityA).isNotEqualTo(authorityB); | |
| authorityA.setName(AuthoritiesConstants.USER); | |
| assertThat(authorityA).isNotEqualTo(authorityB); | |
| authorityB.setName(AuthoritiesConstants.USER); | |
| assertThat(authorityA).isEqualTo(authorityB).hasSameHashCodeAs(authorityB); | |
| } | |
| } | |