UNPKG

2.12 kBJavaScriptView Raw
1var assert = require('assert');
2
3var util = require ('util');
4var path = require ('path');
5
6var baseName = path.basename (__filename, path.extname (__filename));
7
8var df = require ("../");
9var flow = require ("../flow");
10
11// dirty, but works
12// TODO: need to rewrite
13require ("./common");
14
15var verbose = true;
16
17var tests = [];
18
19//process.on('uncaughtException', failure ('unhadled exception'));
20
21var dataflows = {
22 "test:14-timeout-repeat": {
23 "expect": "ok",
24 "tasks": [{
25 "task": "./test/task/timeout2times",
26 "$method": "start",
27 "$args": {"timeout": 100, "times": 3},
28 "timeout": 50,
29 "retries": 5,
30 "$setOnFail": "errback111"
31 }]
32 },
33 "test:15-timeout-repeat": {
34 "expect": "fail",
35 "tasks": [{
36 "task": "./test/task/timeout2times",
37 "$method": "start",
38 "$args": {"timeout": 100, "times": 3},
39 "timeout": 50,
40 "retries": 2,
41 "$setOnFail": "errback111"
42 }]
43 }
44};
45
46var verbose = false;
47
48describe (baseName + " running timeout repeat", function () {
49 Object.keys (dataflows).forEach (function (token) {
50 var item = dataflows[token];
51 var method = it;
52
53 if (typeof testOnly !== "undefined" && testOnly) {
54 if (testOnly === token) {
55 method = it.only;
56 verbose = true;
57 } else {
58 return;
59 }
60 }
61
62 method (item.description ? item.description + ' ('+token+')' : token, function (done) {
63
64 var df = new flow (
65 {
66 tasks: item.tasks,
67 // templates: templates,
68 logger: verbose || "VERBOSE" in process.env ? undefined : function () {}
69 }, {
70 // dataflow parameters
71 }
72 );
73
74 if (!df.ready) {
75 console.log ("dataflow not ready");
76 assert (item.expect === "no-dataflow" ? true : false);
77 done ();
78 return;
79 }
80
81 df.on ('completed', function () {
82 assert (item.expect === "ok" ? true : false);
83 done ();
84 });
85
86 df.on ('failed', function () {
87 assert (item.expect === "fail" ? true : false);
88 done ();
89 });
90
91 df.on ('exception', function () {
92 assert (item.expect === "exception" ? true : false);
93 done ();
94 });
95
96 if (item.autoRun || item.autoRun == void 0)
97 df.run();
98
99 });
100 });
101});