Skip to content

Commit ae5fd22

Browse files
EFRS-1343: Mocked test dependencies that rely on a local database
1 parent b0138b2 commit ae5fd22

File tree

7 files changed

+21
-17
lines changed

7 files changed

+21
-17
lines changed

java/admin/src/test/resources/application.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,6 @@ spring:
3131
max-request-size: ${MAX_REQUEST_SIZE:10MB}
3232
flyway:
3333
enabled: false
34-
datasource:
35-
driver-class-name: org.postgresql.Driver
36-
url: ${POSTGRES_URL:jdbc:postgresql://localhost:5432/frs_test}
37-
username: ${POSTGRES_USER:postgres}
38-
password: ${POSTGRES_PASSWORD:postgres}
3934
jpa:
4035
properties:
4136
hibernate:

java/api/src/main/java/com/exadel/frs/core/trainservice/config/repository/NotificationDbConfig.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44
import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
55
import org.springframework.context.annotation.Bean;
66
import org.springframework.context.annotation.Configuration;
7+
import org.springframework.context.annotation.Profile;
78

9+
@Profile("!test")
810
@Configuration
911
public class NotificationDbConfig {
1012

java/api/src/test/java/com/exadel/frs/core/trainservice/EmbeddedPostgreSQLTest.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package com.exadel.frs.core.trainservice;
22

33
import com.exadel.frs.core.trainservice.config.IntegrationTest;
4+
import com.exadel.frs.core.trainservice.service.NotificationReceiverService;
5+
import com.exadel.frs.core.trainservice.service.NotificationSenderService;
46
import io.zonky.test.db.AutoConfigureEmbeddedDatabase;
57
import javax.annotation.PostConstruct;
68
import javax.sql.DataSource;
@@ -12,15 +14,24 @@
1214
import liquibase.integration.spring.SpringResourceAccessor;
1315
import org.junit.jupiter.api.extension.ExtendWith;
1416
import org.springframework.beans.factory.annotation.Autowired;
17+
import org.springframework.boot.test.mock.mockito.MockBean;
1518
import org.springframework.core.env.Environment;
1619
import org.springframework.core.io.ResourceLoader;
20+
import org.springframework.test.context.ActiveProfiles;
1721
import org.springframework.test.context.junit.jupiter.SpringExtension;
1822

23+
@ActiveProfiles("test")
1924
@IntegrationTest
2025
@ExtendWith(SpringExtension.class)
2126
@AutoConfigureEmbeddedDatabase(beanName = "dsPg")
2227
public class EmbeddedPostgreSQLTest {
2328

29+
@MockBean
30+
NotificationSenderService notificationSenderService;
31+
32+
@MockBean
33+
NotificationReceiverService notificationReceiverService;
34+
2435
@Autowired
2536
DataSource dataSource;
2637

java/api/src/test/java/com/exadel/frs/core/trainservice/cache/EmbeddingCacheProviderTest.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import static org.mockito.Mockito.when;
2626
import com.exadel.frs.commonservice.entity.EnhancedEmbeddingProjection;
2727
import com.exadel.frs.core.trainservice.service.EmbeddingService;
28+
import com.exadel.frs.core.trainservice.service.NotificationReceiverService;
2829
import com.exadel.frs.core.trainservice.service.NotificationSenderService;
2930
import java.util.function.Function;
3031
import java.util.stream.Stream;
@@ -45,6 +46,9 @@ class EmbeddingCacheProviderTest {
4546
@Mock
4647
private NotificationSenderService notificationSenderService;
4748

49+
@Mock
50+
private NotificationReceiverService notificationReceiverService;
51+
4852
@InjectMocks
4953
private EmbeddingCacheProvider embeddingCacheProvider;
5054

java/api/src/test/java/com/exadel/frs/core/trainservice/controller/RecognizeControllerTest.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import com.exadel.frs.commonservice.sdk.faces.feign.dto.FindFacesResponse;
2222
import com.exadel.frs.commonservice.sdk.faces.feign.dto.FindFacesResult;
2323
import com.exadel.frs.commonservice.system.global.Constants;
24+
import com.exadel.frs.core.trainservice.EmbeddedPostgreSQLTest;
2425
import com.exadel.frs.core.trainservice.component.FaceClassifierPredictor;
2526
import com.exadel.frs.core.trainservice.config.IntegrationTest;
2627
import com.exadel.frs.core.trainservice.dto.Base64File;
@@ -53,7 +54,7 @@
5354

5455
@IntegrationTest
5556
@AutoConfigureMockMvc
56-
class RecognizeControllerTest {
57+
class RecognizeControllerTest extends EmbeddedPostgreSQLTest {
5758

5859
@Autowired
5960
private MockMvc mockMvc;
@@ -64,11 +65,6 @@ class RecognizeControllerTest {
6465
@MockBean
6566
private ImageExtensionValidator validator;
6667

67-
@Mock
68-
private NotificationSenderService notificationSenderService;
69-
@MockBean
70-
private NotificationReceiverService notificationReceiverService;
71-
7268
@MockBean
7369
private FacesApiClient client;
7470

java/api/src/test/java/com/exadel/frs/core/trainservice/dao/SubjectDaoTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,15 @@
1010
import com.exadel.frs.core.trainservice.DbHelper;
1111
import com.exadel.frs.core.trainservice.EmbeddedPostgreSQLTest;
1212
import com.exadel.frs.core.trainservice.dto.EmbeddingInfo;
13+
import com.exadel.frs.core.trainservice.service.NotificationReceiverService;
1314
import org.apache.commons.lang3.tuple.Pair;
1415
import org.junit.jupiter.api.Test;
1516
import org.junit.jupiter.api.TestInstance;
1617
import org.junit.jupiter.params.ParameterizedTest;
1718
import org.junit.jupiter.params.provider.Arguments;
1819
import org.junit.jupiter.params.provider.MethodSource;
1920
import org.springframework.beans.factory.annotation.Autowired;
21+
import org.springframework.boot.test.mock.mockito.MockBean;
2022
import org.springframework.data.domain.Pageable;
2123

2224
import java.util.Optional;

java/api/src/test/resources/application.yml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,6 @@ spring:
1111
access-token-validity: 2400
1212
refresh-token-validity: 1209600
1313
authorized-grant-types: password,refresh_token
14-
datasource-pg:
15-
driver-class-name: org.postgresql.Driver
16-
url: ${POSTGRES_URL:jdbc:postgresql://localhost:5432/frs_test}
17-
username: ${POSTGRES_USER:postgres}
18-
password: ${POSTGRES_PASSWORD:postgres}
19-
continue-on-error: true
2014
jpa:
2115
properties:
2216
hibernate:

0 commit comments

Comments
 (0)