Skip to content

Commit f469153

Browse files
Upgrade to mongo 7.0.15-jammy (#722)
1 parent 9291fb0 commit f469153

File tree

6 files changed

+25
-33
lines changed

6 files changed

+25
-33
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ All notable changes to this project will be documented in this file.
2727
- Upgrade to `eclipse-temurin:11.0.24_8-jre-focal`. (#713)
2828
- Upgrade to Gradle 8.10.2. (#714)
2929
- Upgrade to `testcontainers` 1.20.4. (#721)
30+
- Upgrade to `mongo:7.0.15-jammy`. (#722)
3031

3132
## [[8.5.0]](https://github.com/iExecBlockchainComputing/iexec-core/releases/tag/v8.5.0) 2024-06-19
3233

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ testing {
133133

134134
tasks.withType(Test).configureEach {
135135
finalizedBy jacocoTestReport
136-
systemProperty "mongo.image", "mongo:4.4.28-focal"
136+
systemProperty "mongo.image", "mongo:7.0.15-jammy"
137137
}
138138

139139
tasks.register('itest') {

src/test/java/com/iexec/core/detector/task/ContributionTimeoutTaskDetectorTests.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,9 @@
2323
import com.iexec.core.task.TaskStatusChange;
2424
import org.junit.jupiter.api.BeforeEach;
2525
import org.junit.jupiter.api.Test;
26+
import org.junit.jupiter.api.extension.ExtendWith;
2627
import org.mockito.Mock;
27-
import org.mockito.MockitoAnnotations;
28+
import org.mockito.junit.jupiter.MockitoExtension;
2829
import org.springframework.beans.factory.annotation.Autowired;
2930
import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
3031
import org.springframework.context.ApplicationEventPublisher;
@@ -47,6 +48,7 @@
4748

4849
@DataMongoTest
4950
@Testcontainers
51+
@ExtendWith(MockitoExtension.class)
5052
class ContributionTimeoutTaskDetectorTests {
5153

5254
@Container
@@ -72,7 +74,6 @@ static void registerProperties(DynamicPropertyRegistry registry) {
7274

7375
@BeforeEach
7476
void init() {
75-
MockitoAnnotations.openMocks(this);
7677
taskRepository.deleteAll();
7778
final TaskService taskService = new TaskService(mongoTemplate, taskRepository, iexecHubService, applicationEventPublisher);
7879
contributionTimeoutTaskDetector = new ContributionTimeoutTaskDetector(taskService, applicationEventPublisher);
@@ -86,7 +87,7 @@ void shouldNotDetectTaskAfterContributionDeadlineIfNotInitializedOrRunning() {
8687

8788
contributionTimeoutTaskDetector.detect();
8889

89-
Task finalTask = taskRepository.findByChainTaskId(CHAIN_TASK_ID).orElse(null);
90+
final Task finalTask = taskRepository.findByChainTaskId(CHAIN_TASK_ID).orElse(null);
9091
assertThat(finalTask).isNotNull();
9192
assertThat(finalTask.getCurrentStatus()).isEqualTo(AT_LEAST_ONE_REVEALED);
9293
assertThat(finalTask.getDateStatusList()).isNotNull();
@@ -102,7 +103,7 @@ void shouldNotDetectTaskIfBeforeTimeout() {
102103

103104
contributionTimeoutTaskDetector.detect();
104105

105-
Task finalTask = taskRepository.findByChainTaskId(CHAIN_TASK_ID).orElse(null);
106+
final Task finalTask = taskRepository.findByChainTaskId(CHAIN_TASK_ID).orElse(null);
106107
assertThat(finalTask).isNotNull();
107108
assertThat(finalTask.getCurrentStatus()).isEqualTo(RUNNING);
108109
assertThat(finalTask.getDateStatusList().stream().map(TaskStatusChange::getStatus))
@@ -118,7 +119,7 @@ void shouldDetectTaskIfBetweenContributionAndFinalDeadline() {
118119

119120
contributionTimeoutTaskDetector.detect();
120121

121-
Task finalTask = taskRepository.findByChainTaskId(CHAIN_TASK_ID).orElse(null);
122+
final Task finalTask = taskRepository.findByChainTaskId(CHAIN_TASK_ID).orElse(null);
122123
assertThat(finalTask).isNotNull();
123124
assertThat(finalTask.getCurrentStatus()).isEqualTo(FAILED);
124125
assertThat(finalTask.getDateStatusList().stream().map(TaskStatusChange::getStatus))
@@ -134,7 +135,7 @@ void shouldNotDetectTaskIfAfterFinalDeadline() {
134135

135136
contributionTimeoutTaskDetector.detect();
136137

137-
Task finalTask = taskRepository.findByChainTaskId(CHAIN_TASK_ID).orElse(null);
138+
final Task finalTask = taskRepository.findByChainTaskId(CHAIN_TASK_ID).orElse(null);
138139
assertThat(finalTask).isNotNull();
139140
assertThat(finalTask.getCurrentStatus()).isEqualTo(RUNNING);
140141
assertThat(finalTask.getDateStatusList().stream().map(TaskStatusChange::getStatus))

src/test/java/com/iexec/core/detector/task/FinalDeadlineTaskDetectorTests.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,9 @@
2424
import lombok.extern.slf4j.Slf4j;
2525
import org.junit.jupiter.api.BeforeEach;
2626
import org.junit.jupiter.api.Test;
27+
import org.junit.jupiter.api.extension.ExtendWith;
2728
import org.mockito.Mock;
28-
import org.mockito.MockitoAnnotations;
29+
import org.mockito.junit.jupiter.MockitoExtension;
2930
import org.springframework.beans.factory.annotation.Autowired;
3031
import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
3132
import org.springframework.context.ApplicationEventPublisher;
@@ -47,6 +48,7 @@
4748
@Slf4j
4849
@DataMongoTest
4950
@Testcontainers
51+
@ExtendWith(MockitoExtension.class)
5052
class FinalDeadlineTaskDetectorTests {
5153

5254
@Container
@@ -72,7 +74,6 @@ static void registerProperties(DynamicPropertyRegistry registry) {
7274

7375
@BeforeEach
7476
void init() {
75-
MockitoAnnotations.openMocks(this);
7677
taskRepository.deleteAll();
7778
final TaskService taskService = new TaskService(mongoTemplate, taskRepository, iexecHubService, applicationEventPublisher);
7879
finalDeadlineTaskDetector = new FinalDeadlineTaskDetector(taskService, applicationEventPublisher);
@@ -88,11 +89,11 @@ private Task getTask() {
8889

8990
@Test
9091
void shouldDetectTaskAfterFinalDeadline() {
91-
Task task = getTask();
92+
final Task task = getTask();
9293
task.setFinalDeadline(Date.from(Instant.now().minus(1, ChronoUnit.MINUTES)));
9394
taskRepository.save(task);
9495
finalDeadlineTaskDetector.detect();
95-
Task finalTask = taskRepository.findByChainTaskId("0x1").orElse(null);
96+
final Task finalTask = taskRepository.findByChainTaskId("0x1").orElse(null);
9697
assertThat(finalTask).isNotNull();
9798
assertThat(finalTask.getDateStatusList()).isNotNull();
9899
assertThat(finalTask.getDateStatusList().stream().map(TaskStatusChange::getStatus))
@@ -101,11 +102,11 @@ void shouldDetectTaskAfterFinalDeadline() {
101102

102103
@Test
103104
void shouldNotDetectTaskBeforeFinalDeadline() {
104-
Task task = getTask();
105+
final Task task = getTask();
105106
task.setFinalDeadline(Date.from(Instant.now().plus(1, ChronoUnit.MINUTES)));
106107
taskRepository.save(task);
107108
finalDeadlineTaskDetector.detect();
108-
Task finalTask = taskRepository.findByChainTaskId("0x1").orElse(null);
109+
final Task finalTask = taskRepository.findByChainTaskId("0x1").orElse(null);
109110
assertThat(finalTask).isNotNull();
110111
assertThat(finalTask.getDateStatusList()).isNotNull();
111112
assertThat(finalTask.getDateStatusList().stream().map(TaskStatusChange::getStatus))

src/test/java/com/iexec/core/replicate/ReplicateServiceTests.java

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,13 @@
3030
import io.vavr.control.Either;
3131
import org.junit.jupiter.api.BeforeEach;
3232
import org.junit.jupiter.api.Test;
33+
import org.junit.jupiter.api.extension.ExtendWith;
3334
import org.junit.jupiter.params.ParameterizedTest;
3435
import org.junit.jupiter.params.provider.ValueSource;
3536
import org.mockito.ArgumentCaptor;
3637
import org.mockito.Mock;
3738
import org.mockito.Mockito;
38-
import org.mockito.MockitoAnnotations;
39+
import org.mockito.junit.jupiter.MockitoExtension;
3940
import org.springframework.beans.factory.annotation.Autowired;
4041
import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
4142
import org.springframework.context.ApplicationEventPublisher;
@@ -62,6 +63,7 @@
6263

6364
@DataMongoTest
6465
@Testcontainers
66+
@ExtendWith(MockitoExtension.class)
6567
class ReplicateServiceTests {
6668

6769
private static final UpdateReplicateStatusArgs UPDATE_ARGS = UpdateReplicateStatusArgs.builder()
@@ -72,7 +74,7 @@ class ReplicateServiceTests {
7274
private static final MongoDBContainer mongoDBContainer = new MongoDBContainer(DockerImageName.parse(System.getProperty("mongo.image")));
7375

7476
@DynamicPropertySource
75-
static void registerProperties(DynamicPropertyRegistry registry) {
77+
static void registerProperties(final DynamicPropertyRegistry registry) {
7678
registry.add("spring.data.mongodb.host", mongoDBContainer::getHost);
7779
registry.add("spring.data.mongodb.port", () -> mongoDBContainer.getMappedPort(27017));
7880
}
@@ -96,7 +98,6 @@ static void registerProperties(DynamicPropertyRegistry registry) {
9698

9799
@BeforeEach
98100
void init() {
99-
MockitoAnnotations.openMocks(this);
100101
TaskLogsService taskLogsService = new TaskLogsService(taskLogsRepository);
101102
replicatesService = new ReplicatesService(mongoTemplate, replicatesRepository, iexecHubService,
102103
applicationEventPublisher, web3jService, resultService, taskLogsService);
@@ -675,9 +676,6 @@ void shouldNotSetContributionHashSinceRevealing() {
675676

676677
when(web3jService.isBlockAvailable(anyLong())).thenReturn(true);
677678
when(iexecHubService.repeatIsRevealedTrue(anyString(), anyString())).thenReturn(true);
678-
when(iexecHubService.getChainContribution(CHAIN_TASK_ID, WALLET_WORKER_1)).thenReturn(Optional.of(ChainContribution.builder()
679-
.resultHash("hash")
680-
.build()));
681679

682680
ArgumentCaptor<ReplicateUpdatedEvent> argumentCaptor = ArgumentCaptor.forClass(ReplicateUpdatedEvent.class);
683681
ReplicateStatusDetails details = new ReplicateStatusDetails(10L);
@@ -1072,9 +1070,6 @@ void shouldAuthorizeUpdateOnResultUploaded() {
10721070
.taskDescription(TaskDescription.builder().callback("callback").build())
10731071
.build();
10741072

1075-
when(web3jService.isBlockAvailable(anyLong())).thenReturn(true);
1076-
when(iexecHubService.repeatIsContributedTrue(anyString(), anyString())).thenReturn(true);
1077-
10781073
assertThat(replicatesService.canUpdateReplicateStatus(replicate, statusUpdate, updateArgs))
10791074
.isEqualTo(ReplicateStatusUpdateError.NO_ERROR);
10801075
}
@@ -1169,7 +1164,6 @@ void shouldAuthorizeUpdateOnContributeAndFinalizeDone() {
11691164
.thenReturn(true);
11701165
when(iexecHubService.getTaskDescription(CHAIN_TASK_ID)).thenReturn(task);
11711166
when(iexecHubService.isTaskInCompletedStatusOnChain(CHAIN_TASK_ID)).thenReturn(true);
1172-
when(resultService.isResultUploaded(task)).thenReturn(true);
11731167

11741168
assertThat(replicatesService.canUpdateReplicateStatus(replicate, statusUpdate, null))
11751169
.isEqualTo(ReplicateStatusUpdateError.NO_ERROR);
@@ -1187,7 +1181,6 @@ void shouldNotAuthorizeUpdateOnContributeAndFinalizeDoneWhenNotRevealed() {
11871181

11881182
when(iexecHubService.repeatIsRevealedTrue(CHAIN_TASK_ID, WALLET_WORKER_1))
11891183
.thenReturn(false);
1190-
when(iexecHubService.isTaskInCompletedStatusOnChain(CHAIN_TASK_ID)).thenReturn(true);
11911184

11921185
assertThat(replicatesService.canUpdateReplicateStatus(replicate, statusUpdate, null))
11931186
.isEqualTo(ReplicateStatusUpdateError.GENERIC_CANT_UPDATE);
@@ -1233,7 +1226,6 @@ void shouldNotAuthorizeUpdateOnContributeAndFinalizeDoneWhenTaskNotCompleted() {
12331226

12341227
when(iexecHubService.repeatIsRevealedTrue(CHAIN_TASK_ID, WALLET_WORKER_1))
12351228
.thenReturn(true);
1236-
when(iexecHubService.isTaskInCompletedStatusOnChain(CHAIN_TASK_ID)).thenReturn(false);
12371229

12381230
assertThat(replicatesService.canUpdateReplicateStatus(replicate, statusUpdate, null))
12391231
.isEqualTo(ReplicateStatusUpdateError.GENERIC_CANT_UPDATE);
@@ -1379,8 +1371,6 @@ void computeUpdateReplicateStatusArgsContributeAndFinalizeDone() {
13791371

13801372
@Test
13811373
void computeUpdateReplicateStatusArgsResultUploadFailed() {
1382-
final int unexpectedWorkerWeight = 1;
1383-
final ChainContribution unexpectedChainContribution = ChainContribution.builder().build();
13841374
final String unexpectedResultLink = "resultLink";
13851375
final String unexpectedChainCallbackData = "chainCallbackData";
13861376
final TaskDescription expectedTaskDescription = TaskDescription.builder().build();
@@ -1395,9 +1385,6 @@ void computeUpdateReplicateStatusArgsResultUploadFailed() {
13951385
.details(details)
13961386
.build();
13971387

1398-
when(iexecHubService.getWorkerWeight(WALLET_WORKER_1)).thenReturn(unexpectedWorkerWeight);
1399-
when(iexecHubService.getChainContribution(CHAIN_TASK_ID, WALLET_WORKER_1))
1400-
.thenReturn(Optional.of(unexpectedChainContribution));
14011388
when(iexecHubService.getTaskDescription(CHAIN_TASK_ID))
14021389
.thenReturn(expectedTaskDescription);
14031390

src/test/java/com/iexec/core/worker/WorkerServiceTests.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,9 @@
2525
import org.junit.jupiter.api.BeforeAll;
2626
import org.junit.jupiter.api.BeforeEach;
2727
import org.junit.jupiter.api.Test;
28+
import org.junit.jupiter.api.extension.ExtendWith;
2829
import org.mockito.Mock;
29-
import org.mockito.MockitoAnnotations;
30+
import org.mockito.junit.jupiter.MockitoExtension;
3031
import org.springframework.beans.factory.annotation.Autowired;
3132
import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
3233
import org.springframework.data.mongodb.core.MongoTemplate;
@@ -55,6 +56,7 @@
5556

5657
@DataMongoTest
5758
@Testcontainers
59+
@ExtendWith(MockitoExtension.class)
5860
class WorkerServiceTests {
5961

6062
private static final String WORKER1 = "0x1a69b2eb604db8eba185df03ea4f5288dcbbd248";
@@ -97,7 +99,6 @@ static void initRegistry() {
9799

98100
@BeforeEach
99101
void init() {
100-
MockitoAnnotations.openMocks(this);
101102
workerService = new WorkerService(mongoTemplate, workerRepository, workerConfiguration);
102103
workerRepository.deleteAll();
103104
}
@@ -251,7 +252,8 @@ void shouldWorkerBeAllowedToAskReplicate() {
251252
.walletAddress(wallet)
252253
.build();
253254
workerRepository.save(worker);
254-
workerService.getWorkerStatsMap().computeIfAbsent(wallet, WorkerService.WorkerStats::new);
255+
workerService.getWorkerStatsMap().computeIfAbsent(wallet, WorkerService.WorkerStats::new)
256+
.setLastReplicateDemandDate(Date.from(Instant.now().minusSeconds(10L)));
255257
when(workerConfiguration.getAskForReplicatePeriod()).thenReturn(5000L);
256258

257259
assertThat(workerService.isWorkerAllowedToAskReplicate(wallet)).isTrue();

0 commit comments

Comments
 (0)