1 |
|
2 | const assert = require("chai").assert
|
3 |
|
4 | const util = require("../util")
|
5 |
|
6 | const newInstanceName = () => "workflow_test" + Math.floor(Date.now() * Math.random())
|
7 |
|
8 |
|
9 | const create = async(instanceName) => {
|
10 |
|
11 | const r = await util.getRaptor()
|
12 | await r.Workflow().create(instanceName)
|
13 | const list = await r.Workflow().list()
|
14 |
|
15 | assert.equal(1, list.filter(((n) => instanceName === n.Name)).length)
|
16 |
|
17 | return Promise.resolve()
|
18 | }
|
19 |
|
20 | describe("Workflow", function () {
|
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 | this.timeout(15000)
|
27 |
|
28 | it("should list all workflows", async () => {
|
29 |
|
30 | const r = await util.getRaptor()
|
31 | const list = await r.Workflow().list()
|
32 | assert.isTrue(list instanceof Array)
|
33 |
|
34 | return Promise.resolve()
|
35 | })
|
36 |
|
37 | it("should create a workflow", () => create(newInstanceName()))
|
38 |
|
39 | it("should get a workflow", async () => {
|
40 |
|
41 | const instanceName = newInstanceName()
|
42 | await create(instanceName)
|
43 |
|
44 | const r = await util.getRaptor()
|
45 |
|
46 | let instance = await r.Workflow().get(instanceName)
|
47 | assert.equal(instance.Name, instanceName)
|
48 |
|
49 | return Promise.resolve()
|
50 | })
|
51 |
|
52 | it("should restart a workflow", async () => {
|
53 |
|
54 | const r = await util.getRaptor()
|
55 | const instanceName = newInstanceName()
|
56 | await create(instanceName)
|
57 |
|
58 | await r.Workflow().stop(instanceName)
|
59 | let instance = await r.Workflow().get(instanceName)
|
60 | assert.equal(r.Workflow().states.stopped, instance.Status)
|
61 |
|
62 | await r.Workflow().start(instanceName)
|
63 | instance = await r.Workflow().get(instanceName)
|
64 | assert.equal(r.Workflow().states.started, instance.Status)
|
65 |
|
66 | return Promise.resolve()
|
67 | })
|
68 |
|
69 | })
|