Skip to content

Commit e28c46a

Browse files
soerenreichardtjjaderberg
authored andcommitted
Add TaskRegistryFactory integration test
1 parent 0578a5e commit e28c46a

File tree

2 files changed

+59
-2
lines changed

2 files changed

+59
-2
lines changed

core/src/main/java/org/neo4j/gds/core/utils/progress/LocalTaskRegistryFactory.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@
2222
public class LocalTaskRegistryFactory implements TaskRegistryFactory {
2323

2424
private final String username;
25-
private final GlobalTaskStore taskStore;
25+
private final TaskStore taskStore;
2626

27-
LocalTaskRegistryFactory(String username, GlobalTaskStore taskStore) {
27+
LocalTaskRegistryFactory(String username, TaskStore taskStore) {
2828
this.username = username;
2929
this.taskStore = taskStore;
3030
}
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
/*
2+
* Copyright (c) "Neo4j"
3+
* Neo4j Sweden AB [http://neo4j.com]
4+
*
5+
* This file is part of Neo4j.
6+
*
7+
* Neo4j is free software: you can redistribute it and/or modify
8+
* it under the terms of the GNU General Public License as published by
9+
* the Free Software Foundation, either version 3 of the License, or
10+
* (at your option) any later version.
11+
*
12+
* This program is distributed in the hope that it will be useful,
13+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15+
* GNU General Public License for more details.
16+
*
17+
* You should have received a copy of the GNU General Public License
18+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
19+
*/
20+
package org.neo4j.gds.core.utils.progress;
21+
22+
import org.junit.jupiter.api.BeforeEach;
23+
import org.junit.jupiter.api.Test;
24+
import org.neo4j.gds.core.utils.progress.tasks.Tasks;
25+
26+
import static org.assertj.core.api.Assertions.assertThat;
27+
28+
class LocalTaskRegistryFactoryTest {
29+
30+
TaskStore taskStore;
31+
TaskRegistryFactory taskRegistryFactory;
32+
33+
@BeforeEach
34+
void setup() {
35+
this.taskStore = new GlobalTaskStore();
36+
this.taskRegistryFactory = new LocalTaskRegistryFactory("", taskStore);
37+
}
38+
39+
@Test
40+
void shouldPutAndRemoveDistinctTasks() {
41+
var task1 = Tasks.leaf("root1");
42+
var taskRegistry1 = taskRegistryFactory.newInstance();
43+
taskRegistry1.registerTask(task1);
44+
45+
assertThat(taskStore.query("")).size().isEqualTo(1);
46+
47+
var task2 = Tasks.leaf("root2");
48+
var taskRegistry2 = taskRegistryFactory.newInstance();
49+
taskRegistry2.registerTask(task2);
50+
51+
assertThat(taskStore.query("")).size().isEqualTo(2);
52+
53+
taskRegistry1.unregisterTask();
54+
55+
assertThat(taskStore.query("")).containsValue(task2).doesNotContainValue(task1);
56+
}
57+
}

0 commit comments

Comments
 (0)