Skip to content
Snippets Groups Projects
Commit 85112bf8 authored by Tobias Grantner's avatar Tobias Grantner
Browse files

Fixed identifier service tests

parent 6a7e66cb
No related branches found
No related tags found
2 merge requests!106Dev,!100Resolve "Fix all unit tests"
app.version: '@project.version@'
spring:
main.banner-mode: off
datasource:
url: jdbc:postgresql://localhost:5432/fda
driver-class-name: org.postgresql.Driver
username: postgres
password: postgres
jpa:
show-sql: false
database-platform: org.hibernate.dialect.PostgreSQLDialect
hibernate:
ddl-auto: validate
open-in-view: false
properties:
hibernate:
jdbc:
time_zone: UTC
application:
name: authentication-service
cloud:
loadbalancer.ribbon.enabled: false
server.port: 9096
logging:
pattern.console: "%d %highlight(%-5level) %msg%n"
level:
root: warn
at.tuwien.: debug
at.tuwien.auth.UserPermissionEvaluator: trace
org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver: debug
eureka:
instance.hostname: authentication-service
client.serviceUrl.defaultZone: http://localhost:9090/eureka/
fda:
ready.path: ./ready
website: localhost:3000
gateway.endpoint: http://localhost:9095
\ No newline at end of file
...@@ -11,11 +11,13 @@ import at.tuwien.entities.database.Database; ...@@ -11,11 +11,13 @@ import at.tuwien.entities.database.Database;
import at.tuwien.entities.database.table.Table; import at.tuwien.entities.database.table.Table;
import at.tuwien.entities.identifier.Creator; import at.tuwien.entities.identifier.Creator;
import at.tuwien.entities.identifier.Identifier; import at.tuwien.entities.identifier.Identifier;
import at.tuwien.entities.identifier.IdentifierType;
import at.tuwien.entities.identifier.VisibilityType; import at.tuwien.entities.identifier.VisibilityType;
import at.tuwien.entities.user.User; import at.tuwien.entities.user.User;
import org.springframework.test.context.TestPropertySource; import org.springframework.test.context.TestPropertySource;
import java.time.Instant; import java.time.Instant;
import java.time.temporal.ChronoUnit;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -27,12 +29,19 @@ public abstract class BaseUnitTest { ...@@ -27,12 +29,19 @@ public abstract class BaseUnitTest {
public final static String USER_1_PASSWORD = "junit"; public final static String USER_1_PASSWORD = "junit";
public final static String USER_1_EMAIL = "junit@example.com"; public final static String USER_1_EMAIL = "junit@example.com";
public final static Boolean USER_1_EMAIL_VERIFIED = true; public final static Boolean USER_1_EMAIL_VERIFIED = true;
public final static Boolean USER_1_THEME_DARK = false;
public final static Instant USER_1_CREATED = Instant.now()
.minus(1, ChronoUnit.DAYS);
public final static Instant USER_1_LAST_MODIFIED = USER_1_CREATED;
public final static User USER_1 = User.builder() public final static User USER_1 = User.builder()
.username(USER_1_USERNAME) .username(USER_1_USERNAME)
.password(USER_1_PASSWORD) .password(USER_1_PASSWORD)
.email(USER_1_EMAIL) .email(USER_1_EMAIL)
.emailVerified(USER_1_EMAIL_VERIFIED) .emailVerified(USER_1_EMAIL_VERIFIED)
.themeDark(USER_1_THEME_DARK)
.created(USER_1_CREATED)
.lastModified(USER_1_LAST_MODIFIED)
.build(); .build();
public final static Long DATABASE_1_ID = 1L; public final static Long DATABASE_1_ID = 1L;
...@@ -45,7 +54,7 @@ public abstract class BaseUnitTest { ...@@ -45,7 +54,7 @@ public abstract class BaseUnitTest {
public final static String DATABASE_2_NAME = "Test Database 2"; public final static String DATABASE_2_NAME = "Test Database 2";
public final static String DATABASE_2_INTERNAL_NAME = "test_database_2"; public final static String DATABASE_2_INTERNAL_NAME = "test_database_2";
public final static String DATABASE_2_EXCHANGE = "fda." + DATABASE_2_INTERNAL_NAME; public final static String DATABASE_2_EXCHANGE = "fda." + DATABASE_2_INTERNAL_NAME;
public final static Boolean DATABASE_2_PUBLIC = true; public final static Boolean DATABASE_2_PUBLIC = false;
public final static Long TABLE_1_ID = 1L; public final static Long TABLE_1_ID = 1L;
public final static String TABLE_1_NAME = "Rainfall"; public final static String TABLE_1_NAME = "Rainfall";
...@@ -236,6 +245,7 @@ public abstract class BaseUnitTest { ...@@ -236,6 +245,7 @@ public abstract class BaseUnitTest {
public final static Long IDENTIFIER_1_ID = 1L; public final static Long IDENTIFIER_1_ID = 1L;
public final static Long IDENTIFIER_1_QUERY_ID = QUERY_1_ID; public final static Long IDENTIFIER_1_QUERY_ID = QUERY_1_ID;
public final static Long IDENTIFIER_1_CONTAINER_ID = CONTAINER_1_ID;
public final static Long IDENTIFIER_1_DATABASE_ID = DATABASE_1_ID; public final static Long IDENTIFIER_1_DATABASE_ID = DATABASE_1_ID;
public final static String IDENTIFIER_1_DESCRIPTION = "Selecting all from the weather Australia table"; public final static String IDENTIFIER_1_DESCRIPTION = "Selecting all from the weather Australia table";
public final static String IDENTIFIER_1_TITLE = "Australia weather data"; public final static String IDENTIFIER_1_TITLE = "Australia weather data";
...@@ -251,15 +261,19 @@ public abstract class BaseUnitTest { ...@@ -251,15 +261,19 @@ public abstract class BaseUnitTest {
public final static String IDENTIFIER_1_QUERY = "SELECT `id` FROM `foobar`"; public final static String IDENTIFIER_1_QUERY = "SELECT `id` FROM `foobar`";
public final static String IDENTIFIER_1_NORMALIZED = "SELECT `id` FROM `foobar`"; public final static String IDENTIFIER_1_NORMALIZED = "SELECT `id` FROM `foobar`";
public final static Long IDENTIFIER_1_RESULT_NUMBER = 2L; public final static Long IDENTIFIER_1_RESULT_NUMBER = 2L;
public final static String IDENTIFIER_1_PUBLISHER = "Australian Government";
public final static IdentifierType IDENTIFIER_1_TYPE = IdentifierType.SUBSET;
public final static IdentifierTypeDto IDENTIFIER_1_TYPE_DTO = IdentifierTypeDto.SUBSET;
public final static Long IDENTIFIER_2_ID = 2L; public final static Long IDENTIFIER_2_ID = 2L;
public final static Long IDENTIFIER_2_QUERY_ID = QUERY_2_ID; public final static Long IDENTIFIER_2_QUERY_ID = QUERY_2_ID;
public final static Long IDENTIFIER_2_DATABASE_ID = DATABASE_1_ID; public final static Long IDENTIFIER_2_CONTAINER_ID = CONTAINER_2_ID;
public final static Long IDENTIFIER_2_DATABASE_ID = DATABASE_2_ID;
public final static String IDENTIFIER_2_DESCRIPTION = "Selecting all from the weather Austria table"; public final static String IDENTIFIER_2_DESCRIPTION = "Selecting all from the weather Austria table";
public final static String IDENTIFIER_2_TITLE = "Austria weather data"; public final static String IDENTIFIER_2_TITLE = "Austria weather data";
public final static String IDENTIFIER_2_DOI = "10.1000/183"; public final static String IDENTIFIER_2_DOI = "10.1000/183";
public final static VisibilityType IDENTIFIER_2_VISIBILITY = VisibilityType.EVERYONE; public final static VisibilityType IDENTIFIER_2_VISIBILITY = VisibilityType.SELF;
public final static VisibilityTypeDto IDENTIFIER_2_VISIBILITY_DTO = VisibilityTypeDto.EVERYONE; public final static VisibilityTypeDto IDENTIFIER_2_VISIBILITY_DTO = VisibilityTypeDto.SELF;
public final static Instant IDENTIFIER_2_CREATED = Instant.ofEpochSecond(1641588352); public final static Instant IDENTIFIER_2_CREATED = Instant.ofEpochSecond(1641588352);
public final static Instant IDENTIFIER_2_MODIFIED = Instant.ofEpochSecond(1541588352); public final static Instant IDENTIFIER_2_MODIFIED = Instant.ofEpochSecond(1541588352);
public final static Instant IDENTIFIER_2_EXECUTION = Instant.ofEpochSecond(1541588352); public final static Instant IDENTIFIER_2_EXECUTION = Instant.ofEpochSecond(1541588352);
...@@ -271,11 +285,14 @@ public abstract class BaseUnitTest { ...@@ -271,11 +285,14 @@ public abstract class BaseUnitTest {
public final static String IDENTIFIER_2_QUERY = "SELECT `id` FROM `foobar`"; public final static String IDENTIFIER_2_QUERY = "SELECT `id` FROM `foobar`";
public final static String IDENTIFIER_2_NORMALIZED = "SELECT `id` FROM `foobar`"; public final static String IDENTIFIER_2_NORMALIZED = "SELECT `id` FROM `foobar`";
public final static Long IDENTIFIER_2_RESULT_NUMBER = 2L; public final static Long IDENTIFIER_2_RESULT_NUMBER = 2L;
public final static String IDENTIFIER_2_PUBLISHER = "Austrian Government";
public final static IdentifierType IDENTIFIER_2_TYPE = IdentifierType.SUBSET;
public final static IdentifierTypeDto IDENTIFIER_2_TYPE_DTO = IdentifierTypeDto.SUBSET;
public final static Identifier IDENTIFIER_1 = Identifier.builder() public final static Identifier IDENTIFIER_1 = Identifier.builder()
.id(IDENTIFIER_1_ID) .id(IDENTIFIER_1_ID)
.containerId(CONTAINER_1_ID) .containerId(IDENTIFIER_1_CONTAINER_ID)
.databaseId(DATABASE_1_ID) .databaseId(IDENTIFIER_1_DATABASE_ID)
.queryId(IDENTIFIER_1_QUERY_ID) .queryId(IDENTIFIER_1_QUERY_ID)
.description(IDENTIFIER_1_DESCRIPTION) .description(IDENTIFIER_1_DESCRIPTION)
.title(IDENTIFIER_1_TITLE) .title(IDENTIFIER_1_TITLE)
...@@ -290,12 +307,14 @@ public abstract class BaseUnitTest { ...@@ -290,12 +307,14 @@ public abstract class BaseUnitTest {
.query(IDENTIFIER_1_QUERY) .query(IDENTIFIER_1_QUERY)
.queryNormalized(IDENTIFIER_1_NORMALIZED) .queryNormalized(IDENTIFIER_1_NORMALIZED)
.resultNumber(IDENTIFIER_1_RESULT_NUMBER) .resultNumber(IDENTIFIER_1_RESULT_NUMBER)
.publisher(IDENTIFIER_1_PUBLISHER)
.type(IDENTIFIER_1_TYPE)
.build(); .build();
public final static Identifier IDENTIFIER_2 = Identifier.builder() public final static Identifier IDENTIFIER_2 = Identifier.builder()
.id(IDENTIFIER_2_ID) .id(IDENTIFIER_2_ID)
.containerId(CONTAINER_2_ID) .containerId(IDENTIFIER_2_CONTAINER_ID)
.databaseId(DATABASE_2_ID) .databaseId(IDENTIFIER_2_DATABASE_ID)
.queryId(IDENTIFIER_2_QUERY_ID) .queryId(IDENTIFIER_2_QUERY_ID)
.description(IDENTIFIER_2_DESCRIPTION) .description(IDENTIFIER_2_DESCRIPTION)
.title(IDENTIFIER_2_TITLE) .title(IDENTIFIER_2_TITLE)
...@@ -312,6 +331,8 @@ public abstract class BaseUnitTest { ...@@ -312,6 +331,8 @@ public abstract class BaseUnitTest {
.query(IDENTIFIER_2_QUERY) .query(IDENTIFIER_2_QUERY)
.queryNormalized(IDENTIFIER_2_NORMALIZED) .queryNormalized(IDENTIFIER_2_NORMALIZED)
.resultNumber(IDENTIFIER_2_RESULT_NUMBER) .resultNumber(IDENTIFIER_2_RESULT_NUMBER)
.publisher(IDENTIFIER_2_PUBLISHER)
.type(IDENTIFIER_2_TYPE)
.build(); .build();
public final static Creator CREATOR_1 = Creator.builder() public final static Creator CREATOR_1 = Creator.builder()
...@@ -401,12 +422,16 @@ public abstract class BaseUnitTest { ...@@ -401,12 +422,16 @@ public abstract class BaseUnitTest {
public final static IdentifierCreateDto IDENTIFIER_1_DTO_REQUEST = IdentifierCreateDto.builder() public final static IdentifierCreateDto IDENTIFIER_1_DTO_REQUEST = IdentifierCreateDto.builder()
.qid(IDENTIFIER_1_QUERY_ID) .qid(IDENTIFIER_1_QUERY_ID)
.cid(IDENTIFIER_1_CONTAINER_ID)
.dbid(IDENTIFIER_1_DATABASE_ID)
.description(IDENTIFIER_1_DESCRIPTION) .description(IDENTIFIER_1_DESCRIPTION)
.title(IDENTIFIER_1_TITLE) .title(IDENTIFIER_1_TITLE)
.doi(IDENTIFIER_1_DOI) .doi(IDENTIFIER_1_DOI)
.visibility(IDENTIFIER_1_VISIBILITY_DTO) .visibility(IDENTIFIER_1_VISIBILITY_DTO)
.publicationYear(IDENTIFIER_1_PUBLICATION_YEAR) .publicationYear(IDENTIFIER_1_PUBLICATION_YEAR)
.creators(List.of(CREATOR_1_CREATE_DTO, CREATOR_2_CREATE_DTO)) .creators(List.of(CREATOR_1_CREATE_DTO, CREATOR_2_CREATE_DTO))
.publisher(IDENTIFIER_1_PUBLISHER)
.type(IDENTIFIER_1_TYPE_DTO)
.build(); .build();
public final static String RELATED_IDENTIFIER_1_VALUE = "10.5281/zenodo.6637333"; public final static String RELATED_IDENTIFIER_1_VALUE = "10.5281/zenodo.6637333";
...@@ -421,6 +446,8 @@ public abstract class BaseUnitTest { ...@@ -421,6 +446,8 @@ public abstract class BaseUnitTest {
public final static IdentifierCreateDto IDENTIFIER_2_DTO_REQUEST = IdentifierCreateDto.builder() public final static IdentifierCreateDto IDENTIFIER_2_DTO_REQUEST = IdentifierCreateDto.builder()
.qid(IDENTIFIER_2_QUERY_ID) .qid(IDENTIFIER_2_QUERY_ID)
.cid(IDENTIFIER_2_CONTAINER_ID)
.dbid(IDENTIFIER_2_DATABASE_ID)
.description(IDENTIFIER_2_DESCRIPTION) .description(IDENTIFIER_2_DESCRIPTION)
.title(IDENTIFIER_2_TITLE) .title(IDENTIFIER_2_TITLE)
.doi(IDENTIFIER_2_DOI) .doi(IDENTIFIER_2_DOI)
...@@ -430,6 +457,8 @@ public abstract class BaseUnitTest { ...@@ -430,6 +457,8 @@ public abstract class BaseUnitTest {
.publicationMonth(IDENTIFIER_2_PUBLICATION_MONTH) .publicationMonth(IDENTIFIER_2_PUBLICATION_MONTH)
.publicationYear(IDENTIFIER_2_PUBLICATION_YEAR) .publicationYear(IDENTIFIER_2_PUBLICATION_YEAR)
.creators(List.of(CREATOR_1_CREATE_DTO, CREATOR_2_CREATE_DTO)) .creators(List.of(CREATOR_1_CREATE_DTO, CREATOR_2_CREATE_DTO))
.publisher(IDENTIFIER_2_PUBLISHER)
.type(IDENTIFIER_2_TYPE_DTO)
.build(); .build();
public final static String COLUMN_1_INTERNAL_NAME = "id"; public final static String COLUMN_1_INTERNAL_NAME = "id";
......
...@@ -67,6 +67,9 @@ public class IdentifierServiceIntegrationTest extends BaseUnitTest { ...@@ -67,6 +67,9 @@ public class IdentifierServiceIntegrationTest extends BaseUnitTest {
creatorRepository.save(CREATOR_1); creatorRepository.save(CREATOR_1);
creatorRepository.save(CREATOR_2); creatorRepository.save(CREATOR_2);
IDENTIFIER_1.setCreators(List.of(CREATOR_1, CREATOR_2)); IDENTIFIER_1.setCreators(List.of(CREATOR_1, CREATOR_2));
identifierRepository.save(IDENTIFIER_1);
containerRepository.save(CONTAINER_2);
databaseRepository.save(DATABASE_2);
} }
@Test @Test
...@@ -76,6 +79,7 @@ public class IdentifierServiceIntegrationTest extends BaseUnitTest { ...@@ -76,6 +79,7 @@ public class IdentifierServiceIntegrationTest extends BaseUnitTest {
/* mock */ /* mock */
identifierRepository.save(Identifier.builder() identifierRepository.save(Identifier.builder()
.id(IDENTIFIER_2_ID) .id(IDENTIFIER_2_ID)
.containerId(IDENTIFIER_2_CONTAINER_ID)
.queryId(IDENTIFIER_2_QUERY_ID) .queryId(IDENTIFIER_2_QUERY_ID)
.databaseId(IDENTIFIER_2_DATABASE_ID) .databaseId(IDENTIFIER_2_DATABASE_ID)
.description(IDENTIFIER_2_DESCRIPTION) .description(IDENTIFIER_2_DESCRIPTION)
...@@ -84,8 +88,10 @@ public class IdentifierServiceIntegrationTest extends BaseUnitTest { ...@@ -84,8 +88,10 @@ public class IdentifierServiceIntegrationTest extends BaseUnitTest {
.visibility(IDENTIFIER_2_VISIBILITY) .visibility(IDENTIFIER_2_VISIBILITY)
.created(IDENTIFIER_2_CREATED) .created(IDENTIFIER_2_CREATED)
.lastModified(IDENTIFIER_2_MODIFIED) .lastModified(IDENTIFIER_2_MODIFIED)
.creators(List.of(CREATOR_1, CREATOR_2)) .publicationYear(IDENTIFIER_2_PUBLICATION_YEAR)
.deleted(Instant.now().minus(4, ChronoUnit.MINUTES)) .deleted(Instant.now().minus(4, ChronoUnit.MINUTES))
.publisher(IDENTIFIER_2_PUBLISHER)
.type(IDENTIFIER_2_TYPE)
.build()); .build());
/* test */ /* test */
...@@ -100,6 +106,8 @@ public class IdentifierServiceIntegrationTest extends BaseUnitTest { ...@@ -100,6 +106,8 @@ public class IdentifierServiceIntegrationTest extends BaseUnitTest {
assertEquals(2, response.get(0).getCreators().size()); assertEquals(2, response.get(0).getCreators().size());
assertEquals(CREATOR_1_ID, response.get(0).getCreators().get(0).getId()); assertEquals(CREATOR_1_ID, response.get(0).getCreators().get(0).getId());
assertEquals(CREATOR_2_ID, response.get(0).getCreators().get(1).getId()); assertEquals(CREATOR_2_ID, response.get(0).getCreators().get(1).getId());
assertEquals(IDENTIFIER_1_PUBLISHER, response.get(0).getPublisher());
assertEquals(IDENTIFIER_1_TYPE, response.get(0).getType());
} }
@Test @Test
...@@ -110,7 +118,7 @@ public class IdentifierServiceIntegrationTest extends BaseUnitTest { ...@@ -110,7 +118,7 @@ public class IdentifierServiceIntegrationTest extends BaseUnitTest {
final String bearer = "Bearer abcxyz"; final String bearer = "Bearer abcxyz";
/* mock */ /* mock */
when(queryServiceGateway.find(CONTAINER_1_ID, DATABASE_1_ID, IDENTIFIER_2_DTO_REQUEST, bearer)) when(queryServiceGateway.find(CONTAINER_2_ID, DATABASE_2_ID, IDENTIFIER_2_DTO_REQUEST, bearer))
.thenReturn(QUERY_2_DTO); .thenReturn(QUERY_2_DTO);
/* test */ /* test */
...@@ -126,13 +134,17 @@ public class IdentifierServiceIntegrationTest extends BaseUnitTest { ...@@ -126,13 +134,17 @@ public class IdentifierServiceIntegrationTest extends BaseUnitTest {
@Test @Test
public void create_queryNotExists_fails() throws QueryNotFoundException, RemoteUnavailableException { public void create_queryNotExists_fails() throws QueryNotFoundException, RemoteUnavailableException {
final IdentifierCreateDto request = IdentifierCreateDto.builder() IdentifierCreateDto request = IdentifierCreateDto.builder()
.qid(IDENTIFIER_2_QUERY_ID) .qid(IDENTIFIER_2_QUERY_ID)
.cid(IDENTIFIER_2_CONTAINER_ID)
.dbid(IDENTIFIER_2_DATABASE_ID)
.description(IDENTIFIER_2_DESCRIPTION) .description(IDENTIFIER_2_DESCRIPTION)
.title(IDENTIFIER_2_TITLE) .title(IDENTIFIER_2_TITLE)
.doi(IDENTIFIER_2_DOI) .doi(IDENTIFIER_2_DOI)
.visibility(IDENTIFIER_2_VISIBILITY_DTO) .visibility(IDENTIFIER_2_VISIBILITY_DTO)
.creators(List.of(CREATOR_1_CREATE_DTO, CREATOR_2_CREATE_DTO)) .publicationYear(IDENTIFIER_2_PUBLICATION_YEAR)
.publisher(IDENTIFIER_2_PUBLISHER)
.type(IDENTIFIER_2_TYPE_DTO)
.build(); .build();
final Principal principal = new BasicUserPrincipal(USER_1_USERNAME); final Principal principal = new BasicUserPrincipal(USER_1_USERNAME);
final String bearer = "Bearer abcxyz"; final String bearer = "Bearer abcxyz";
...@@ -140,7 +152,7 @@ public class IdentifierServiceIntegrationTest extends BaseUnitTest { ...@@ -140,7 +152,7 @@ public class IdentifierServiceIntegrationTest extends BaseUnitTest {
/* mock */ /* mock */
doThrow(QueryNotFoundException.class) doThrow(QueryNotFoundException.class)
.when(queryServiceGateway) .when(queryServiceGateway)
.find(CONTAINER_1_ID, DATABASE_1_ID, IDENTIFIER_2_DTO_REQUEST, bearer); .find(CONTAINER_2_ID, DATABASE_2_ID, request, bearer);
/* test */ /* test */
assertThrows(QueryNotFoundException.class, () -> { assertThrows(QueryNotFoundException.class, () -> {
...@@ -149,21 +161,23 @@ public class IdentifierServiceIntegrationTest extends BaseUnitTest { ...@@ -149,21 +161,23 @@ public class IdentifierServiceIntegrationTest extends BaseUnitTest {
} }
@Test @Test
public void create_identifierAlreadyExists_fails() throws QueryNotFoundException, RemoteUnavailableException { public void create_identifierAlreadyExists_fails() {
final IdentifierCreateDto request = IdentifierCreateDto.builder() IdentifierCreateDto request = IdentifierCreateDto.builder()
.qid(IDENTIFIER_1_QUERY_ID) .qid(IDENTIFIER_1_QUERY_ID)
.description(IDENTIFIER_2_DESCRIPTION) .cid(IDENTIFIER_1_CONTAINER_ID)
.title(IDENTIFIER_2_TITLE) .dbid(IDENTIFIER_1_DATABASE_ID)
.doi(IDENTIFIER_2_DOI) .description(IDENTIFIER_1_DESCRIPTION)
.visibility(IDENTIFIER_2_VISIBILITY_DTO) .title(IDENTIFIER_1_TITLE)
.creators(List.of(CREATOR_1_CREATE_DTO, CREATOR_2_CREATE_DTO)) .doi(IDENTIFIER_1_DOI)
.visibility(IDENTIFIER_1_VISIBILITY_DTO)
.publicationYear(IDENTIFIER_1_PUBLICATION_YEAR)
.publisher(IDENTIFIER_1_PUBLISHER)
.type(IDENTIFIER_1_TYPE_DTO)
.build(); .build();
final Principal principal = new BasicUserPrincipal(USER_1_USERNAME); final Principal principal = new BasicUserPrincipal(USER_1_USERNAME);
final String bearer = "Bearer abcxyz"; final String bearer = "Bearer abcxyz";
/* mock */ /* mock */
when(queryServiceGateway.find(CONTAINER_1_ID, DATABASE_1_ID, IDENTIFIER_1_DTO_REQUEST, bearer))
.thenReturn(QUERY_1_DTO);
/* test */ /* test */
assertThrows(IdentifierAlreadyExistsException.class, () -> { assertThrows(IdentifierAlreadyExistsException.class, () -> {
...@@ -179,7 +193,7 @@ public class IdentifierServiceIntegrationTest extends BaseUnitTest { ...@@ -179,7 +193,7 @@ public class IdentifierServiceIntegrationTest extends BaseUnitTest {
/* mock */ /* mock */
doThrow(RemoteUnavailableException.class) doThrow(RemoteUnavailableException.class)
.when(queryServiceGateway) .when(queryServiceGateway)
.find(CONTAINER_1_ID, DATABASE_1_ID, IDENTIFIER_2_DTO_REQUEST, bearer); .find(CONTAINER_2_ID, DATABASE_2_ID, IDENTIFIER_2_DTO_REQUEST, bearer);
/* test */ /* test */
assertThrows(RemoteUnavailableException.class, () -> { assertThrows(RemoteUnavailableException.class, () -> {
...@@ -236,16 +250,18 @@ public class IdentifierServiceIntegrationTest extends BaseUnitTest { ...@@ -236,16 +250,18 @@ public class IdentifierServiceIntegrationTest extends BaseUnitTest {
@Test @Test
public void publish_everyone_succeeds() throws IdentifierAlreadyPublishedException, IdentifierNotFoundException { public void publish_everyone_succeeds() throws IdentifierAlreadyPublishedException, IdentifierNotFoundException {
identifierRepository.save(IDENTIFIER_2);
/* test */ /* test */
identifierService.publish(IDENTIFIER_1_ID, VisibilityTypeDto.EVERYONE); identifierService.publish(IDENTIFIER_2_ID, VisibilityTypeDto.EVERYONE);
} }
@Test @Test
public void publish_trusted_succeeds() throws IdentifierAlreadyPublishedException, IdentifierNotFoundException { public void publish_trusted_succeeds() throws IdentifierAlreadyPublishedException, IdentifierNotFoundException {
identifierRepository.save(IDENTIFIER_2);
/* test */ /* test */
identifierService.publish(IDENTIFIER_1_ID, VisibilityTypeDto.TRUSTED); identifierService.publish(IDENTIFIER_2_ID, VisibilityTypeDto.TRUSTED);
} }
@Test @Test
...@@ -261,42 +277,13 @@ public class IdentifierServiceIntegrationTest extends BaseUnitTest { ...@@ -261,42 +277,13 @@ public class IdentifierServiceIntegrationTest extends BaseUnitTest {
@Transactional @Transactional
public void publish_alreadyPublished_fails() public void publish_alreadyPublished_fails()
throws IdentifierAlreadyPublishedException, IdentifierNotFoundException { throws IdentifierAlreadyPublishedException, IdentifierNotFoundException {
identifierRepository.save(IDENTIFIER_2);
/* mock */ /* mock */
identifierService.publish(IDENTIFIER_1_ID, VisibilityTypeDto.EVERYONE);
/* test */
assertThrows(IdentifierAlreadyPublishedException.class, () -> {
identifierService.publish(IDENTIFIER_1_ID, VisibilityTypeDto.EVERYONE);
});
}
@Test
public void publish_queryNotFound_fails() throws QueryNotFoundException, RemoteUnavailableException {
final String bearer = "Bearer abcxyz";
/* mock */
doThrow(QueryNotFoundException.class)
.when(queryServiceGateway)
.find(CONTAINER_1_ID, DATABASE_1_ID, IDENTIFIER_2_DTO_REQUEST, bearer);
/* test */
assertThrows(IdentifierNotFoundException.class, () -> {
identifierService.publish(IDENTIFIER_2_ID, VisibilityTypeDto.EVERYONE); identifierService.publish(IDENTIFIER_2_ID, VisibilityTypeDto.EVERYONE);
});
}
@Test
public void publish_serviceUnavailable_fails() throws QueryNotFoundException, RemoteUnavailableException {
final String bearer = "Bearer abcxyz";
/* mock */
doThrow(RemoteUnavailableException.class)
.when(queryServiceGateway)
.find(CONTAINER_1_ID, DATABASE_1_ID, IDENTIFIER_2_DTO_REQUEST, bearer);
/* test */ /* test */
assertThrows(IdentifierNotFoundException.class, () -> { assertThrows(IdentifierAlreadyPublishedException.class, () -> {
identifierService.publish(IDENTIFIER_2_ID, VisibilityTypeDto.EVERYONE); identifierService.publish(IDENTIFIER_2_ID, VisibilityTypeDto.EVERYONE);
}); });
} }
......
...@@ -3,6 +3,7 @@ package at.tuwien.service; ...@@ -3,6 +3,7 @@ package at.tuwien.service;
import at.tuwien.BaseUnitTest; import at.tuwien.BaseUnitTest;
import at.tuwien.api.database.query.QueryDto; import at.tuwien.api.database.query.QueryDto;
import at.tuwien.api.identifier.IdentifierCreateDto; import at.tuwien.api.identifier.IdentifierCreateDto;
import at.tuwien.api.identifier.IdentifierTypeDto;
import at.tuwien.api.identifier.VisibilityTypeDto; import at.tuwien.api.identifier.VisibilityTypeDto;
import at.tuwien.entities.identifier.Identifier; import at.tuwien.entities.identifier.Identifier;
import at.tuwien.exception.*; import at.tuwien.exception.*;
...@@ -56,7 +57,7 @@ public class IdentifierServiceUnitTest extends BaseUnitTest { ...@@ -56,7 +57,7 @@ public class IdentifierServiceUnitTest extends BaseUnitTest {
.thenReturn(List.of(IDENTIFIER_1)); .thenReturn(List.of(IDENTIFIER_1));
/* test */ /* test */
final List<Identifier> response = identifierService.findAll(CONTAINER_1_ID, DATABASE_1_ID); final List<Identifier> response = identifierService.findAll(DATABASE_1_ID, null);
assertEquals(1, response.size()); assertEquals(1, response.size());
assertEquals(IDENTIFIER_1, response.get(0)); assertEquals(IDENTIFIER_1, response.get(0));
} }
...@@ -106,6 +107,9 @@ public class IdentifierServiceUnitTest extends BaseUnitTest { ...@@ -106,6 +107,9 @@ public class IdentifierServiceUnitTest extends BaseUnitTest {
throws DatabaseNotFoundException, UserNotFoundException, IdentifierAlreadyExistsException, throws DatabaseNotFoundException, UserNotFoundException, IdentifierAlreadyExistsException,
QueryNotFoundException, IdentifierPublishingNotAllowedException, RemoteUnavailableException { QueryNotFoundException, IdentifierPublishingNotAllowedException, RemoteUnavailableException {
final IdentifierCreateDto request = IdentifierCreateDto.builder() final IdentifierCreateDto request = IdentifierCreateDto.builder()
.cid(CONTAINER_1_ID)
.dbid(DATABASE_1_ID)
.type(IdentifierTypeDto.SUBSET)
.qid(IDENTIFIER_1_QUERY_ID) .qid(IDENTIFIER_1_QUERY_ID)
.description(IDENTIFIER_1_DESCRIPTION) .description(IDENTIFIER_1_DESCRIPTION)
.title(IDENTIFIER_1_TITLE) .title(IDENTIFIER_1_TITLE)
......
# enable local spring profile
spring.profiles.active=local
# disable discovery # disable discovery
spring.cloud.discovery.enabled = false spring.cloud.discovery.enabled = false
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment