Skip to content

Commit 927045d

Browse files
authored
Merge pull request #321 from obasekiosa/fix-queued-workflow-delete
Fix replace non working deleteByRetrievedFrom function with working delete function
2 parents b98a2f9 + 04cf240 commit 927045d

File tree

3 files changed

+59
-3
lines changed

3 files changed

+59
-3
lines changed

src/main/java/org/commonwl/view/workflow/QueuedWorkflowRepository.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@ public interface QueuedWorkflowRepository extends PagingAndSortingRepository<Que
2424
* Deletes a queued workflow based on where it was retrieved from
2525
* @param retrievedFrom Details of where the queued workflow is from
2626
*/
27-
@Query("{tempRepresentation.retrievedFrom: ?0}")
28-
void deleteByRetrievedFrom(GitDetails retrievedFrom);
27+
void deleteByTempRepresentation_RetrievedFrom(GitDetails retrievedFrom);
2928

3029
/**
3130
* Deletes all queued workflows with date retrieved on older or equal to the Date argument passed.

src/main/java/org/commonwl/view/workflow/WorkflowService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,7 @@ private void removeWorkflow(Workflow workflow) {
509509
workflowRepository.delete(workflow);
510510

511511
// Remove any queued repositories pointing to the workflow
512-
queuedWorkflowRepository.deleteByRetrievedFrom(workflow.getRetrievedFrom());
512+
queuedWorkflowRepository.deleteByTempRepresentation_RetrievedFrom(workflow.getRetrievedFrom());
513513
}
514514

515515
/**
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package org.commonwl.view.workflow;
2+
3+
import org.apache.jena.base.Sys;
4+
import org.commonwl.view.git.GitDetails;
5+
import org.junit.Rule;
6+
import org.junit.Test;
7+
import org.junit.runner.RunWith;
8+
import org.mockito.Mock;
9+
import org.springframework.beans.factory.annotation.Autowired;
10+
import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
11+
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
12+
import org.springframework.test.context.junit4.SpringRunner;
13+
14+
import static org.junit.Assert.*;
15+
16+
@DataMongoTest
17+
@RunWith(SpringRunner.class)
18+
public class QueuedWorkflowRepositoryTest {
19+
20+
@Autowired
21+
QueuedWorkflowRepository repository;
22+
23+
@Test
24+
public void deleteQueuedWorkflowByRetrievedFromTest() {
25+
26+
assertNotNull(repository);
27+
28+
// create stub queued workflow
29+
GitDetails gitDetails = new GitDetails("test_repo_url", "test_branch", "test_path");
30+
gitDetails.setPackedId("test_packedId");
31+
32+
Workflow workflow = new Workflow();
33+
workflow.setRetrievedFrom(gitDetails);
34+
35+
QueuedWorkflow queuedWorkflow = new QueuedWorkflow();
36+
queuedWorkflow.setTempRepresentation(workflow);
37+
38+
// save queued workflow
39+
repository.save(queuedWorkflow);
40+
41+
// retrieve saved queued workflow by workflow git details
42+
QueuedWorkflow retrievedQueuedWorkflowAfterSave = repository
43+
.findByRetrievedFrom(queuedWorkflow.getTempRepresentation().getRetrievedFrom());
44+
assertNotNull(retrievedQueuedWorkflowAfterSave);
45+
46+
47+
// delete saved queued workflow by workflow git details
48+
repository.deleteByTempRepresentation_RetrievedFrom(queuedWorkflow.getTempRepresentation().getRetrievedFrom());
49+
50+
// retrieve deleted queued workflow by workflow git details
51+
QueuedWorkflow retrievedQueuedWorkflowAfterDelete = repository
52+
.findByRetrievedFrom(queuedWorkflow.getTempRepresentation().getRetrievedFrom());
53+
assertNull(retrievedQueuedWorkflowAfterDelete);
54+
55+
}
56+
57+
}

0 commit comments

Comments
 (0)