@nesgarbo/node-jt400 5.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +511 -0
  3. package/dist/index.d.ts +13 -0
  4. package/dist/index.js +71 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/integration-test/call-rpg-spec.d.ts +1 -0
  7. package/dist/integration-test/call-rpg-spec.js +88 -0
  8. package/dist/integration-test/call-rpg-spec.js.map +1 -0
  9. package/dist/integration-test/dataq-spec.d.ts +1 -0
  10. package/dist/integration-test/dataq-spec.js +42 -0
  11. package/dist/integration-test/dataq-spec.js.map +1 -0
  12. package/dist/integration-test/db.d.ts +2 -0
  13. package/dist/integration-test/db.js +8 -0
  14. package/dist/integration-test/db.js.map +1 -0
  15. package/dist/integration-test/db2-connect-spec.d.ts +1 -0
  16. package/dist/integration-test/db2-connect-spec.js +34 -0
  17. package/dist/integration-test/db2-connect-spec.js.map +1 -0
  18. package/dist/integration-test/db2-pool-spec.d.ts +1 -0
  19. package/dist/integration-test/db2-pool-spec.js +191 -0
  20. package/dist/integration-test/db2-pool-spec.js.map +1 -0
  21. package/dist/integration-test/ifs-spec.d.ts +1 -0
  22. package/dist/integration-test/ifs-spec.js +118 -0
  23. package/dist/integration-test/ifs-spec.js.map +1 -0
  24. package/dist/integration-test/msgf-spec.d.ts +1 -0
  25. package/dist/integration-test/msgf-spec.js +25 -0
  26. package/dist/integration-test/msgf-spec.js.map +1 -0
  27. package/dist/integration-test/msgq-spec.d.ts +1 -0
  28. package/dist/integration-test/msgq-spec.js +34 -0
  29. package/dist/integration-test/msgq-spec.js.map +1 -0
  30. package/dist/java/JT400.d.ts +77 -0
  31. package/dist/java/JT400.js +3 -0
  32. package/dist/java/JT400.js.map +1 -0
  33. package/dist/java/index.d.ts +11 -0
  34. package/dist/java/index.js +45 -0
  35. package/dist/java/index.js.map +1 -0
  36. package/dist/lib/baseConnection.d.ts +5 -0
  37. package/dist/lib/baseConnection.js +264 -0
  38. package/dist/lib/baseConnection.js.map +1 -0
  39. package/dist/lib/baseConnection.types.d.ts +53 -0
  40. package/dist/lib/baseConnection.types.js +7 -0
  41. package/dist/lib/baseConnection.types.js.map +1 -0
  42. package/dist/lib/connection.d.ts +13 -0
  43. package/dist/lib/connection.js +143 -0
  44. package/dist/lib/connection.js.map +1 -0
  45. package/dist/lib/connection.types.d.ts +77 -0
  46. package/dist/lib/connection.types.js +3 -0
  47. package/dist/lib/connection.types.js.map +1 -0
  48. package/dist/lib/handleError.d.ts +3 -0
  49. package/dist/lib/handleError.js +25 -0
  50. package/dist/lib/handleError.js.map +1 -0
  51. package/dist/lib/ifs/index.d.ts +4 -0
  52. package/dist/lib/ifs/index.js +47 -0
  53. package/dist/lib/ifs/index.js.map +1 -0
  54. package/dist/lib/ifs/read_stream.d.ts +6 -0
  55. package/dist/lib/ifs/read_stream.js +33 -0
  56. package/dist/lib/ifs/read_stream.js.map +1 -0
  57. package/dist/lib/ifs/types.d.ts +16 -0
  58. package/dist/lib/ifs/types.js +3 -0
  59. package/dist/lib/ifs/types.js.map +1 -0
  60. package/dist/lib/ifs/write_stream.d.ts +6 -0
  61. package/dist/lib/ifs/write_stream.js +39 -0
  62. package/dist/lib/ifs/write_stream.js.map +1 -0
  63. package/dist/lib/inMemoryConnection.d.ts +7 -0
  64. package/dist/lib/inMemoryConnection.js +35 -0
  65. package/dist/lib/inMemoryConnection.js.map +1 -0
  66. package/dist/lib/insertList.d.ts +4 -0
  67. package/dist/lib/insertList.js +44 -0
  68. package/dist/lib/insertList.js.map +1 -0
  69. package/dist/lib/jdbcstream.d.ts +1 -0
  70. package/dist/lib/jdbcstream.js +50 -0
  71. package/dist/lib/jdbcstream.js.map +1 -0
  72. package/dist/lib/jdbcwritestream.d.ts +1 -0
  73. package/dist/lib/jdbcwritestream.js +37 -0
  74. package/dist/lib/jdbcwritestream.js.map +1 -0
  75. package/dist/lib/logger.d.ts +7 -0
  76. package/dist/lib/logger.js +13 -0
  77. package/dist/lib/logger.js.map +1 -0
  78. package/dist/lib/sqlutil.d.ts +1 -0
  79. package/dist/lib/sqlutil.js +18 -0
  80. package/dist/lib/sqlutil.js.map +1 -0
  81. package/dist/lib/streamTransformers.d.ts +2 -0
  82. package/dist/lib/streamTransformers.js +30 -0
  83. package/dist/lib/streamTransformers.js.map +1 -0
  84. package/dist/unit-test/hsql-spec.d.ts +1 -0
  85. package/dist/unit-test/hsql-spec.js +495 -0
  86. package/dist/unit-test/hsql-spec.js.map +1 -0
  87. package/dist/unit-test/sqlutil-spec.d.ts +1 -0
  88. package/dist/unit-test/sqlutil-spec.js +20 -0
  89. package/dist/unit-test/sqlutil-spec.js.map +1 -0
  90. package/dist/unit-test/streamTransformers-spec.d.ts +1 -0
  91. package/dist/unit-test/streamTransformers-spec.js +98 -0
  92. package/dist/unit-test/streamTransformers-spec.js.map +1 -0
  93. package/java/lib/hsqldb.jar +0 -0
  94. package/java/lib/json-simple-1.1.1.jar +0 -0
  95. package/java/lib/jt400.jar +0 -0
  96. package/java/lib/jt400wrap.jar +0 -0
  97. package/package.json +72 -0
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const chai_1 = require("chai");
13
+ const db_1 = require("./db");
14
+ describe('PGM', () => {
15
+ it('should run rpg program', () => __awaiter(void 0, void 0, void 0, function* () {
16
+ const getIsk = db_1.jt400.defineProgram({
17
+ programName: 'GET_ISK',
18
+ paramsSchema: [{ name: 'mynt', size: 3 }],
19
+ });
20
+ const result = yield Promise.all([
21
+ getIsk({ mynt: 'Kr.' }),
22
+ getIsk({ mynt: 'EUR' }),
23
+ ]);
24
+ (0, chai_1.expect)(result[0].mynt).to.equal('ISK');
25
+ (0, chai_1.expect)(result[1].mynt).to.equal('EUR');
26
+ })).timeout(15000);
27
+ it('should run GETNETFG', () => __awaiter(void 0, void 0, void 0, function* () {
28
+ const getNetfang = db_1.jt400.defineProgram({
29
+ programName: 'GETNETFG',
30
+ paramsSchema: [
31
+ { name: 'kt', size: 10, decimals: 0 },
32
+ { name: 'email', size: 30 },
33
+ { name: 'valid', size: 1 },
34
+ ],
35
+ });
36
+ const result = yield getNetfang({ kt: '0123456789' });
37
+ (0, chai_1.expect)(result.valid).to.equal('J');
38
+ }));
39
+ it('should run pgm with datastructure param', () => __awaiter(void 0, void 0, void 0, function* () {
40
+ const tstDs = db_1.jt400.defineProgram({
41
+ programName: 'TST_DS',
42
+ paramsSchema: [
43
+ {
44
+ p1: [
45
+ { name: 'txt1', size: 3 },
46
+ { name: 'num1', size: 9, decimals: 0 },
47
+ { name: 'num2', type: 'numeric', size: 9, decimals: 0 },
48
+ ],
49
+ },
50
+ ],
51
+ });
52
+ const result = yield tstDs({ p1: { txt1: 'tst', num1: 400, num2: 7 } });
53
+ (0, chai_1.expect)(result.p1.txt1).to.equal('tst');
54
+ (0, chai_1.expect)(result.p1.num1).to.equal(401);
55
+ (0, chai_1.expect)(result.p1.num2).to.equal(8);
56
+ }));
57
+ it('should run pgm with datastructure param with columns format', () => __awaiter(void 0, void 0, void 0, function* () {
58
+ const tstDs = db_1.jt400.defineProgram({
59
+ programName: 'TST_DS',
60
+ paramsSchema: [
61
+ {
62
+ p1: [
63
+ { name: 'txt1', typeName: 'VARCHAR', precision: 3, scale: 0 },
64
+ { name: 'num1', typeName: 'DECIMAL', precision: 9, scale: 0 },
65
+ { name: 'num2', typeName: 'NUMERIC', precision: 9, scale: 0 },
66
+ ],
67
+ },
68
+ ],
69
+ });
70
+ const result = yield tstDs({ p1: { txt1: 'tst', num1: 400, num2: 7 } });
71
+ (0, chai_1.expect)(result.p1.txt1).to.equal('tst');
72
+ (0, chai_1.expect)(result.p1.num1).to.equal(401);
73
+ (0, chai_1.expect)(result.p1.num2).to.equal(8);
74
+ }));
75
+ it('should get timeout errors', () => {
76
+ const brokenProgram = db_1.jt400.pgm('DTQHANG', [{ name: 'strengur', size: 7 }], 'WTMEXC');
77
+ return brokenProgram({ strengur: 'abcd123' })
78
+ .then(() => {
79
+ throw new Error('Not the correct error');
80
+ })
81
+ .catch((e) => {
82
+ (0, chai_1.expect)(e.category).to.equal('OperationalError');
83
+ (0, chai_1.expect)(e).not.to.equal(null);
84
+ (0, chai_1.expect)(e.message).to.contain('Connection was dropped unexpectedly.');
85
+ });
86
+ });
87
+ });
88
+ //# sourceMappingURL=call-rpg-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call-rpg-spec.js","sourceRoot":"./ts-src/","sources":["integration-test/call-rpg-spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const db_1 = require("./db");
4
+ const chai_1 = require("chai");
5
+ describe('keyed dataQ', () => {
6
+ it('should read and write', (done) => {
7
+ const dataQ = db_1.jt400.createKeyedDataQ({ name: 'SDQS1' });
8
+ dataQ
9
+ .read('mytestkey')
10
+ .then((data) => {
11
+ (0, chai_1.expect)(data).to.equal('ping');
12
+ })
13
+ .then(done, done);
14
+ dataQ.write('mytestkey', 'ping');
15
+ }).timeout(5000);
16
+ it('should fail on timeout', (done) => {
17
+ const dataQ = db_1.jt400.createKeyedDataQ({ name: 'SDQS1' });
18
+ dataQ
19
+ .read({ key: 'mytestkey', wait: 1 })
20
+ .catch((err) => {
21
+ (0, chai_1.expect)(err.message).to.contain('timeout, key: mytestkey');
22
+ })
23
+ .then(done, done);
24
+ });
25
+ it('should write to reponse', () => {
26
+ const dataQ = db_1.jt400.createKeyedDataQ({ name: 'SDQS1' });
27
+ dataQ
28
+ .read({ key: 'mytestkey', wait: 1, writeKeyLength: 11 })
29
+ .then((res) => {
30
+ (0, chai_1.expect)(res.data).to.equal('ping');
31
+ res.write('pong');
32
+ })
33
+ .catch((err) => {
34
+ console.log('error reading data Q', err);
35
+ });
36
+ dataQ.write('mytestkey', 'returnkey ping');
37
+ return dataQ.read({ key: 'returnkey ', wait: 10 }).then((data) => {
38
+ (0, chai_1.expect)(data).to.equal('pong');
39
+ });
40
+ });
41
+ });
42
+ //# sourceMappingURL=dataq-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataq-spec.js","sourceRoot":"./ts-src/","sources":["integration-test/dataq-spec.ts"],"names":[],"mappings":";;AAAA,6BAA4B;AAC5B,+BAA6B;AAE7B,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,uBAAuB,EAAE,CAAC,IAAI,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,UAAK,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;QAEvD,KAAK;aACF,IAAI,CAAC,WAAW,CAAC;aACjB,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACb,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC/B,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAEnB,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;IAClC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhB,EAAE,CAAC,wBAAwB,EAAE,CAAC,IAAI,EAAE,EAAE;QACpC,MAAM,KAAK,GAAG,UAAK,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;QACvD,KAAK;aACF,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAU,CAAC;aAC3C,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,IAAA,aAAM,EAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAA;QAC3D,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACrB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,KAAK,GAAG,UAAK,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;QACvD,KAAK;aACF,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;aACvD,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACZ,IAAA,aAAM,EAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACjC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACnB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;QAEJ,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAA;QAE3C,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YAChE,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { Connection } from '..';
2
+ export declare const jt400: Connection;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.jt400 = void 0;
4
+ const __1 = require("..");
5
+ exports.jt400 = (0, __1.pool)({
6
+ 'date format': 'iso',
7
+ });
8
+ //# sourceMappingURL=db.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.js","sourceRoot":"./ts-src/","sources":["integration-test/db.ts"],"names":[],"mappings":";;;AAAA,0BAAqC;AAExB,QAAA,KAAK,GAAe,IAAA,QAAI,EAAC;IACpC,aAAa,EAAE,KAAK;CACrB,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const __1 = require("..");
13
+ const chai_1 = require("chai");
14
+ describe('connect', () => {
15
+ it('should connect', () => __awaiter(void 0, void 0, void 0, function* () {
16
+ const db = yield (0, __1.connect)();
17
+ const nUpdated = yield db.update('delete from tsttbl');
18
+ (0, chai_1.expect)(nUpdated).to.be.least(0);
19
+ })).timeout(10000);
20
+ it('should close', () => __awaiter(void 0, void 0, void 0, function* () {
21
+ const db = yield (0, __1.connect)();
22
+ yield db.close();
23
+ return db
24
+ .update('delete from tsttbl')
25
+ .then(() => {
26
+ throw new Error('should not be connected');
27
+ })
28
+ .catch((err) => {
29
+ (0, chai_1.expect)(err.message).to.equal('The connection does not exist.');
30
+ (0, chai_1.expect)(err.category).to.equal('OperationalError');
31
+ });
32
+ })).timeout(6000);
33
+ });
34
+ //# sourceMappingURL=db2-connect-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db2-connect-spec.js","sourceRoot":"./ts-src/","sources":["integration-test/db2-connect-spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,0BAA4B;AAC5B,+BAA6B;AAE7B,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,gBAAgB,EAAE,GAAS,EAAE;QAC9B,MAAM,EAAE,GAAG,MAAM,IAAA,WAAO,GAAE,CAAA;QAC1B,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAA;QACtD,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACjC,CAAC,CAAA,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAEjB,EAAE,CAAC,cAAc,EAAE,GAAS,EAAE;QAC5B,MAAM,EAAE,GAAG,MAAM,IAAA,WAAO,GAAE,CAAA;QAC1B,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;QAEhB,OAAO,EAAE;aACN,MAAM,CAAC,oBAAoB,CAAC;aAC5B,IAAI,CAAC,GAAG,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAC5C,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,IAAA,aAAM,EAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAA;YAC9D,IAAA,aAAM,EAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACnD,CAAC,CAAC,CAAA;IACN,CAAC,CAAA,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAClB,CAAC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const chai_1 = require("chai");
13
+ const fs_1 = require("fs");
14
+ const __1 = require("..");
15
+ const db_1 = require("./db");
16
+ describe('jt400 pool', () => {
17
+ let idList;
18
+ beforeEach(() => {
19
+ return db_1.jt400
20
+ .update('delete from tsttbl')
21
+ .then(() => {
22
+ const records = [
23
+ { foo: 'bar', bar: 123, baz: '123.23' },
24
+ { foo: 'bar2 ', bar: 124, baz: '321.32' },
25
+ ];
26
+ return db_1.jt400.insertList('tsttbl', 'testtblid', records);
27
+ })
28
+ .then((idListResult) => (idList = idListResult));
29
+ });
30
+ it('should not be in memory', () => {
31
+ (0, chai_1.expect)(db_1.jt400.isInMemory()).to.equal(false);
32
+ });
33
+ it('should not return same instance in configure', () => {
34
+ (0, chai_1.expect)(db_1.jt400).to.not.equal((0, __1.pool)({ host: 'foo' }));
35
+ });
36
+ it('should configure host', () => {
37
+ const db = (0, __1.pool)({ host: 'nohost' });
38
+ return db
39
+ .query('select * from tsttbl')
40
+ .then(() => {
41
+ throw new Error('should not return result from nohost');
42
+ })
43
+ .catch((err) => {
44
+ (0, chai_1.expect)(err.message).to.include('nohost');
45
+ (0, chai_1.expect)(err.category).to.equal('OperationalError');
46
+ });
47
+ }).timeout(20000);
48
+ it('should insert records', () => {
49
+ (0, chai_1.expect)(idList.length).to.equal(2);
50
+ (0, chai_1.expect)(Number(idList[0])).to.be.above(1);
51
+ });
52
+ it('should execute query', () => __awaiter(void 0, void 0, void 0, function* () {
53
+ const data = yield db_1.jt400.query('select * from tsttbl');
54
+ (0, chai_1.expect)(data.length).to.equal(2);
55
+ }));
56
+ it('should trim values as default', () => __awaiter(void 0, void 0, void 0, function* () {
57
+ const data = yield db_1.jt400.query('select * from tsttbl order by bar');
58
+ (0, chai_1.expect)(data.length).to.equal(2);
59
+ (0, chai_1.expect)(data[1].FOO).to.equal('bar2');
60
+ }));
61
+ it('should trim values when options is empty', () => __awaiter(void 0, void 0, void 0, function* () {
62
+ const data = yield db_1.jt400.query('select * from tsttbl', [], {});
63
+ (0, chai_1.expect)(data.length).to.equal(2);
64
+ (0, chai_1.expect)(data[1].FOO).to.equal('bar2');
65
+ }));
66
+ it('should trim values when trim is undefined', () => __awaiter(void 0, void 0, void 0, function* () {
67
+ let trim;
68
+ const data = yield db_1.jt400.query('select * from tsttbl order by bar', [], {
69
+ trim,
70
+ });
71
+ (0, chai_1.expect)(data.length).to.equal(2);
72
+ (0, chai_1.expect)(data[1].FOO).to.equal('bar2');
73
+ }));
74
+ it('should not trim values when trim option is false', () => __awaiter(void 0, void 0, void 0, function* () {
75
+ const data = yield db_1.jt400.query('select * from tsttbl order by bar', [], {
76
+ trim: false,
77
+ });
78
+ (0, chai_1.expect)(data.length).to.equal(2);
79
+ (0, chai_1.expect)(data[1].FOO).to.equal('bar2 ');
80
+ }));
81
+ it('should execute query with params', () => __awaiter(void 0, void 0, void 0, function* () {
82
+ const data = yield db_1.jt400.query('select * from tsttbl where baz=?', [
83
+ 123.23,
84
+ ]);
85
+ (0, chai_1.expect)(data.length).to.equal(1);
86
+ }));
87
+ it('should execute update', () => __awaiter(void 0, void 0, void 0, function* () {
88
+ const nUpdated = yield db_1.jt400.update("update tsttbl set foo='bar3' where foo='bar'");
89
+ (0, chai_1.expect)(nUpdated).to.equal(1);
90
+ }));
91
+ it('should execute update with parameters', () => __awaiter(void 0, void 0, void 0, function* () {
92
+ const nUpdated = yield db_1.jt400.update('update tsttbl set foo=? where testtblid=?', ['ble', 0]);
93
+ (0, chai_1.expect)(nUpdated).to.equal(0);
94
+ }));
95
+ it('should insert dates and timestamps', () => {
96
+ const params = [
97
+ new Date(2014, 0, 15),
98
+ new Date(2014, 0, 16, 15, 32, 5),
99
+ 'bar',
100
+ ];
101
+ return db_1.jt400
102
+ .update('update tsttbl set fra=?, timi=? where foo=?', params)
103
+ .then(() => {
104
+ return db_1.jt400.query('select fra, timi from tsttbl where foo=?', ['bar']);
105
+ })
106
+ .then((res) => {
107
+ (0, chai_1.expect)(res[0].FRA).to.eql('2014-01-15');
108
+ (0, chai_1.expect)(res[0].TIMI).to.eql('2014-01-16 15:32:05.000000');
109
+ });
110
+ });
111
+ it('should insert clob', () => __awaiter(void 0, void 0, void 0, function* () {
112
+ const largeText = (0, fs_1.readFileSync)(__dirname + '/../../test-data/clob.txt').toString();
113
+ yield db_1.jt400.update('update tsttbl set clob=?', [
114
+ { type: 'CLOB', value: largeText },
115
+ ]);
116
+ const res = yield db_1.jt400.query('SELECT clob from tsttbl');
117
+ (0, chai_1.expect)(res[0].CLOB.length).to.equal(largeText.length);
118
+ })).timeout(20000);
119
+ it('should insert blob', () => __awaiter(void 0, void 0, void 0, function* () {
120
+ const image = (0, fs_1.readFileSync)(__dirname + '/../../test-data/blob.png', {
121
+ encoding: 'base64',
122
+ });
123
+ yield db_1.jt400.update('update tsttbl set blob=?', [
124
+ { type: 'BLOB', value: image },
125
+ ]);
126
+ const res = yield db_1.jt400.query('SELECT blob from tsttbl');
127
+ (0, chai_1.expect)(res[0].BLOB.length).to.equal(image.length);
128
+ }));
129
+ it('should fail query with oops error', () => {
130
+ const sql = 'select * from tsttbl where baz=?';
131
+ const params = [123.23, 'a'];
132
+ return db_1.jt400
133
+ .query(sql, params)
134
+ .then(() => {
135
+ throw new Error('wrong error');
136
+ })
137
+ .catch((error) => {
138
+ (0, chai_1.expect)(error.message).to.equal('Descriptor index not valid.');
139
+ (0, chai_1.expect)(error.cause.stack).to.include('JdbcJsonClient.setParams');
140
+ (0, chai_1.expect)(error.context.sql).to.equal(sql);
141
+ (0, chai_1.expect)(error.context.params).to.equal(params);
142
+ (0, chai_1.expect)(error.category).to.equal('ProgrammerError');
143
+ });
144
+ });
145
+ it('should fail insert with oops error', () => {
146
+ const sql = `insert into table testtable (foo) values (?)`;
147
+ const params = [123.23, 'a'];
148
+ return db_1.jt400
149
+ .insertAndGetId(sql, params)
150
+ .then(() => {
151
+ throw new Error('wrong error');
152
+ })
153
+ .catch((error) => {
154
+ (0, chai_1.expect)(error.message).to.equal('[SQL0104] Token TESTTABLE was not valid. Valid tokens: : <INTEGER>.');
155
+ (0, chai_1.expect)(error.cause.stack).to.include('JdbcJsonClient.insertAndGetId');
156
+ (0, chai_1.expect)(error.context.sql).to.equal(sql);
157
+ (0, chai_1.expect)(error.context.params).to.equal(params);
158
+ (0, chai_1.expect)(error.category).to.equal('ProgrammerError');
159
+ });
160
+ });
161
+ it('should fail execute query with oops-error', () => {
162
+ const sql = 'select * from tsttbl-invalidtoken';
163
+ return db_1.jt400
164
+ .execute(sql)
165
+ .then(() => {
166
+ throw new Error('wrong error');
167
+ })
168
+ .catch((error) => {
169
+ (0, chai_1.expect)(error.message).to.equal('[SQL0104] Token - was not valid. Valid tokens: AS CL ID IN TO ASC END FOR KEY LAG LOG NEW OFF OLD OUT COPY DATA.');
170
+ (0, chai_1.expect)(error.context.sql).to.equal(sql);
171
+ (0, chai_1.expect)(error.context.params).to.deep.equal([]);
172
+ (0, chai_1.expect)(error.category).to.equal('ProgrammerError');
173
+ });
174
+ });
175
+ it('should fail update', () => __awaiter(void 0, void 0, void 0, function* () {
176
+ const sql = 'update tsttbl set foo=? where testtblid=?';
177
+ const params = ['bar', 0, 'toomanyparams'];
178
+ return db_1.jt400
179
+ .update(sql, params)
180
+ .then(() => {
181
+ throw new Error('wrong error');
182
+ })
183
+ .catch((error) => {
184
+ (0, chai_1.expect)(error.message).to.equal('Descriptor index not valid.');
185
+ (0, chai_1.expect)(error.context.sql).to.equal(sql);
186
+ (0, chai_1.expect)(error.context.params).to.equal(params);
187
+ (0, chai_1.expect)(error.category).to.equal('ProgrammerError');
188
+ });
189
+ }));
190
+ });
191
+ //# sourceMappingURL=db2-pool-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db2-pool-spec.js","sourceRoot":"./ts-src/","sources":["integration-test/db2-pool-spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const chai_1 = require("chai");
13
+ const streamEqual = require("stream-equal");
14
+ const db_1 = require("./db");
15
+ const { ifs } = db_1.jt400;
16
+ describe('ifs', () => {
17
+ it('should read file', (done) => {
18
+ const stream = ifs().createReadStream('/atm/test/hello_world.txt');
19
+ let data = '';
20
+ stream.on('data', (chunk) => {
21
+ data += chunk;
22
+ });
23
+ stream.on('end', () => {
24
+ (0, chai_1.expect)(data).to.equal('Halló heimur!\n');
25
+ done();
26
+ });
27
+ stream.on('error', done);
28
+ }).timeout(50000);
29
+ it('should get file metadata', () => __awaiter(void 0, void 0, void 0, function* () {
30
+ const metadata = yield ifs().fileMetadata('/atm/test/hello_world.txt');
31
+ (0, chai_1.expect)(metadata).to.deep.equal({
32
+ exists: true,
33
+ length: 15,
34
+ });
35
+ }));
36
+ describe('list files', () => {
37
+ it('should list files', () => __awaiter(void 0, void 0, void 0, function* () {
38
+ const files = yield ifs().listFiles('/atm/test');
39
+ (0, chai_1.expect)(files.length).to.be.above(0);
40
+ }));
41
+ it('should return empty array for empty folder', () => __awaiter(void 0, void 0, void 0, function* () {
42
+ const files = yield ifs().listFiles('/atm/test/emptyFolder');
43
+ (0, chai_1.expect)(files.length).to.equal(0);
44
+ }));
45
+ it('should return empty array for a folder that does not exist', () => __awaiter(void 0, void 0, void 0, function* () {
46
+ const files = yield ifs().listFiles('/atm/test/does-not-exist');
47
+ (0, chai_1.expect)(files.length).to.equal(0);
48
+ }));
49
+ it('should return empty array if the folder is a file', () => __awaiter(void 0, void 0, void 0, function* () {
50
+ const files = yield ifs().listFiles('/atm/test/hello_world.txt');
51
+ (0, chai_1.expect)(files.length).to.equal(0);
52
+ }));
53
+ });
54
+ describe('move file', () => {
55
+ it('should return true if the file exist', () => __awaiter(void 0, void 0, void 0, function* () {
56
+ const res = yield ifs().moveFile('/atm/test/file-to-move.txt', '/atm/test/file-moved.txt');
57
+ (0, chai_1.expect)(res).to.equal(true);
58
+ yield ifs().moveFile('/atm/test/file-moved.txt', '/atm/test/file-to-move.txt');
59
+ }));
60
+ it('should return false if the file does not exist', () => __awaiter(void 0, void 0, void 0, function* () {
61
+ const res = yield ifs().moveFile('/atm/test/does-not-exist.txt', '/atm/test/does-not-exist2.txt');
62
+ (0, chai_1.expect)(res).to.equal(false);
63
+ }));
64
+ });
65
+ it('should get metadata for file that does not exists', () => __awaiter(void 0, void 0, void 0, function* () {
66
+ const metadata = yield ifs().fileMetadata('/atm/test/___file_that_does_not_exists____.txt');
67
+ (0, chai_1.expect)(metadata).to.deep.equal({
68
+ exists: false,
69
+ length: 0,
70
+ });
71
+ }));
72
+ it('should read filename promise', (done) => {
73
+ const stream = ifs().createReadStream(Promise.resolve('/atm/test/hello_world.txt'));
74
+ let data = '';
75
+ stream.on('data', (chunk) => {
76
+ data += chunk;
77
+ });
78
+ stream.on('end', () => {
79
+ (0, chai_1.expect)(data).to.equal('Halló heimur!\n');
80
+ done();
81
+ });
82
+ stream.on('error', done);
83
+ }).timeout(50000);
84
+ it('should write file', (done) => {
85
+ const rs = ifs().createReadStream('/atm/test/hello_world.txt');
86
+ const ws = ifs().createWriteStream('/atm/test2/new_file.txt', {
87
+ append: false,
88
+ });
89
+ rs.pipe(ws)
90
+ .on('finish', () => {
91
+ const stream = ifs().createReadStream('/atm/test2/new_file.txt');
92
+ let data = '';
93
+ stream.on('data', (chunk) => {
94
+ data += chunk;
95
+ });
96
+ stream.on('end', () => {
97
+ (0, chai_1.expect)(data).to.equal('Halló heimur!\n');
98
+ done();
99
+ });
100
+ stream.on('error', done);
101
+ })
102
+ .on('error', done);
103
+ }).timeout(5000);
104
+ it('should pipe image', () => {
105
+ const rs = ifs().createReadStream('/atm/test/image.jpg');
106
+ const ws = ifs().createWriteStream('/atm/test2/image.jpg', {
107
+ append: false,
108
+ });
109
+ rs.pipe(ws).on('finish', () => {
110
+ const oldImage = ifs().createReadStream('/atm/test/image.jpg');
111
+ const newImage = ifs().createReadStream('/atm/test2/image.jpg');
112
+ return streamEqual(oldImage, newImage).then((equal) => {
113
+ (0, chai_1.expect)(equal).to.be.equal(true);
114
+ });
115
+ });
116
+ }).timeout(50000);
117
+ });
118
+ //# sourceMappingURL=ifs-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ifs-spec.js","sourceRoot":"./ts-src/","sources":["integration-test/ifs-spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+BAA6B;AAC7B,4CAA2C;AAC3C,6BAA4B;AAC5B,MAAM,EAAE,GAAG,EAAE,GAAG,UAAK,CAAA;AAErB,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;IACnB,EAAE,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;QAC9B,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,CAAA;QAClE,IAAI,IAAI,GAAG,EAAE,CAAA;QACb,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,IAAI,IAAI,KAAK,CAAA;QACf,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACpB,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;YACxC,IAAI,EAAE,CAAA;QACR,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAEjB,EAAE,CAAC,0BAA0B,EAAE,GAAS,EAAE;QACxC,MAAM,QAAQ,GAAG,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAAA;QACtE,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YAC7B,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,EAAE;SACX,CAAC,CAAA;IACJ,CAAC,CAAA,CAAC,CAAA;IACF,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,mBAAmB,EAAE,GAAS,EAAE;YACjC,MAAM,KAAK,GAAG,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;YAChD,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACrC,CAAC,CAAA,CAAC,CAAA;QACF,EAAE,CAAC,4CAA4C,EAAE,GAAS,EAAE;YAC1D,MAAM,KAAK,GAAG,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAA;YAC5D,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAClC,CAAC,CAAA,CAAC,CAAA;QACF,EAAE,CAAC,4DAA4D,EAAE,GAAS,EAAE;YAC1E,MAAM,KAAK,GAAG,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAA;YAC/D,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAClC,CAAC,CAAA,CAAC,CAAA;QACF,EAAE,CAAC,mDAAmD,EAAE,GAAS,EAAE;YACjE,MAAM,KAAK,GAAG,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAA;YAChE,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAClC,CAAC,CAAA,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,sCAAsC,EAAE,GAAS,EAAE;YACpD,MAAM,GAAG,GAAG,MAAM,GAAG,EAAE,CAAC,QAAQ,CAC9B,4BAA4B,EAC5B,0BAA0B,CAC3B,CAAA;YACD,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC1B,MAAM,GAAG,EAAE,CAAC,QAAQ,CAClB,0BAA0B,EAC1B,4BAA4B,CAC7B,CAAA;QACH,CAAC,CAAA,CAAC,CAAA;QACF,EAAE,CAAC,gDAAgD,EAAE,GAAS,EAAE;YAC9D,MAAM,GAAG,GAAG,MAAM,GAAG,EAAE,CAAC,QAAQ,CAC9B,8BAA8B,EAC9B,+BAA+B,CAChC,CAAA;YACD,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC7B,CAAC,CAAA,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mDAAmD,EAAE,GAAS,EAAE;QACjE,MAAM,QAAQ,GAAG,MAAM,GAAG,EAAE,CAAC,YAAY,CACvC,gDAAgD,CACjD,CAAA;QAED,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YAC7B,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,CAAC;SACV,CAAC,CAAA;IACJ,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAC,8BAA8B,EAAE,CAAC,IAAI,EAAE,EAAE;QAC1C,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,gBAAgB,CACnC,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAC7C,CAAA;QACD,IAAI,IAAI,GAAG,EAAE,CAAA;QACb,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,IAAI,IAAI,KAAK,CAAA;QACf,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACpB,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;YACxC,IAAI,EAAE,CAAA;QACR,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAEjB,EAAE,CAAC,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE;QAC/B,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,CAAA;QAC9D,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,iBAAiB,CAAC,yBAAyB,EAAE;YAC5D,MAAM,EAAE,KAAK;SACd,CAAC,CAAA;QAEF,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;aACR,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACjB,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAA;YAChE,IAAI,IAAI,GAAG,EAAE,CAAA;YACb,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC1B,IAAI,IAAI,KAAK,CAAA;YACf,CAAC,CAAC,CAAA;YAEF,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACpB,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;gBACxC,IAAI,EAAE,CAAA;YASR,CAAC,CAAC,CAAA;YAEF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAC1B,CAAC,CAAC;aACD,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IACtB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhB,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAA;QACxD,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,iBAAiB,CAAC,sBAAsB,EAAE;YACzD,MAAM,EAAE,KAAK;SACd,CAAC,CAAA;QAEF,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YAC5B,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAA;YAC9D,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAA;YAE/D,OAAO,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;gBACpD,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACjC,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AACnB,CAAC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const db_1 = require("./db");
13
+ const chai_1 = require("chai");
14
+ describe('MessageFileHandler', function () {
15
+ return __awaiter(this, void 0, void 0, function* () {
16
+ it('should open a message file and read an id', () => __awaiter(this, void 0, void 0, function* () {
17
+ const file = yield db_1.jt400.openMessageFile({ path: '/QSYS.LIB/QCPFMSG.MSGF' });
18
+ const msg = yield file.read({ messageId: 'CPF2105' });
19
+ const expectedText = 'Object &1 in &2 type *&3 not found.';
20
+ const text = yield msg.getText();
21
+ (0, chai_1.expect)(text).to.equal(expectedText);
22
+ })).timeout(5000);
23
+ });
24
+ });
25
+ //# sourceMappingURL=msgf-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"msgf-spec.js","sourceRoot":"./ts-src/","sources":["integration-test/msgf-spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,6BAA4B;AAC5B,+BAA6B;AAE7B,QAAQ,CAAC,oBAAoB,EAAE;;QAC7B,EAAE,CAAC,2CAA2C,EAAE,GAAS,EAAE;YACzD,MAAM,IAAI,GAAG,MAAM,UAAK,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,CAAA;YAC5E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAA;YACrD,MAAM,YAAY,GAAG,qCAAqC,CAAA;YAC1D,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAA;YAChC,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QACrC,CAAC,CAAA,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;CAAA,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const chai_1 = require("chai");
13
+ const db_1 = require("./db");
14
+ xdescribe('MessageQ', function () {
15
+ let msgq;
16
+ beforeEach(() => __awaiter(this, void 0, void 0, function* () {
17
+ msgq = yield db_1.jt400.openMessageQ({
18
+ name: process.env.AS400_TEST_MESSAGE_Q || '',
19
+ });
20
+ const readnext = () => __awaiter(this, void 0, void 0, function* () {
21
+ const message = yield msgq.read();
22
+ if (message) {
23
+ return readnext();
24
+ }
25
+ });
26
+ readnext();
27
+ }));
28
+ it('should open a message queue and write/read a message.', () => __awaiter(this, void 0, void 0, function* () {
29
+ const testMessage = 'Test Message';
30
+ yield msgq.sendInformational(testMessage);
31
+ (0, chai_1.expect)(yield msgq.read()).to.equal(testMessage);
32
+ })).timeout(5000);
33
+ });
34
+ //# sourceMappingURL=msgq-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"msgq-spec.js","sourceRoot":"./ts-src/","sources":["integration-test/msgq-spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+BAA6B;AAC7B,6BAA4B;AAC5B,SAAS,CAAC,UAAU,EAAE;IACpB,IAAI,IAAI,CAAA;IACR,UAAU,CAAC,GAAS,EAAE;QAEpB,IAAI,GAAG,MAAM,UAAK,CAAC,YAAY,CAAC;YAC9B,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE;SAC7C,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,GAAS,EAAE;YAC1B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;YACjC,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,QAAQ,EAAE,CAAA;YACnB,CAAC;QACH,CAAC,CAAA,CAAA;QAED,QAAQ,EAAE,CAAA;IACZ,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAC,uDAAuD,EAAE,GAAS,EAAE;QACrE,MAAM,WAAW,GAAG,cAAc,CAAA;QAClC,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;QACzC,IAAA,aAAM,EAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IACjD,CAAC,CAAA,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAClB,CAAC,CAAC,CAAA"}