Skip to content

Commit cf43bad

Browse files
committed
fix delete nodeResult error and add test
1 parent 308037a commit cf43bad

File tree

2 files changed

+22
-8
lines changed

2 files changed

+22
-8
lines changed

platform-api/src/main/java/com/flow/platform/api/dao/job/NodeResultDaoImpl.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import javax.persistence.criteria.Predicate;
2929
import javax.persistence.criteria.Root;
3030
import org.hibernate.Session;
31-
import org.hibernate.query.Query;
3231
import org.springframework.stereotype.Repository;
3332

3433
/**
@@ -100,11 +99,8 @@ public int update(BigInteger jobId, NodeStatus target) {
10099

101100
@Override
102101
public void delete(List<BigInteger> jobIds) {
103-
execute((Session session) -> {
104-
String delete = String.format("delete from NodeResult where job_id in (:list)");
105-
Query query = session.createQuery(delete);
106-
query.setParameterList("list", jobIds);
107-
return true;
108-
});
102+
execute((Session session) -> session.createQuery("delete from NodeResult where key.jobId in ( :jobIds )")
103+
.setParameterList("jobIds", jobIds)
104+
.executeUpdate());
109105
}
110106
}

platform-api/src/test/java/com/flow/platform/api/test/service/NodeServiceTest.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
import static junit.framework.TestCase.fail;
1919

2020
import com.flow.platform.api.domain.Webhook;
21+
import com.flow.platform.api.domain.job.Job;
22+
import com.flow.platform.api.domain.job.NodeResult;
2123
import com.flow.platform.api.domain.node.Node;
2224
import com.flow.platform.api.domain.node.Yml;
2325
import com.flow.platform.api.envs.EnvUtil;
@@ -30,6 +32,7 @@
3032
import com.flow.platform.api.test.TestBase;
3133
import com.flow.platform.api.util.NodeUtil;
3234
import com.flow.platform.core.exception.IllegalParameterException;
35+
import com.flow.platform.core.exception.NotFoundException;
3336
import com.flow.platform.util.http.HttpURL;
3437
import java.nio.file.Files;
3538
import java.util.HashMap;
@@ -255,8 +258,10 @@ public void should_error_if_node_path_is_not_for_flow() throws Throwable {
255258
ymlService.get(root);
256259
}
257260

258-
@Test
261+
@Test(expected = NotFoundException.class)
259262
public void should_delete_flow() throws Throwable {
263+
stubDemo();
264+
260265
Node emptyFlow = nodeService.createEmptyFlow("flow1");
261266
setFlowToReady(emptyFlow);
262267

@@ -266,6 +271,12 @@ public void should_delete_flow() throws Throwable {
266271
Assert.assertNotNull(nodeService.find(root.getPath()));
267272
Assert.assertNotNull(ymlService.get(root).getFile());
268273

274+
setRequiredJobEnvsForFlow(root);
275+
Job job = createMockJob(root.getPath());
276+
277+
Assert.assertNotNull(jobService.find(job.getId()));
278+
Assert.assertEquals(2, nodeResultService.list(job, true).size());
279+
269280
// when: delete flow
270281
nodeService.delete(root.getPath());
271282

@@ -275,6 +286,13 @@ public void should_delete_flow() throws Throwable {
275286

276287
// then: should return null if root node is not existed
277288
Assert.assertNull(ymlService.get(root));
289+
290+
// then: node result should be null
291+
List<NodeResult> nodeResults = nodeResultService.list(job, true);
292+
Assert.assertEquals(0, nodeResults.size());
293+
294+
// then: job should be null
295+
jobService.find(job.getId());
278296
}
279297

280298
@Test

0 commit comments

Comments
 (0)