@bitpoolos/edge-bacnet 1.0.6 → 1.1.0
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.
- package/bacnet_client.js +650 -233
- package/bacnet_device.js +65 -16
- package/bacnet_gateway.html +242 -99
- package/bacnet_gateway.js +211 -27
- package/bacnet_object.js +1 -1
- package/bacnet_read.html +211 -133
- package/bacnet_read.js +24 -24
- package/bacnet_server.js +321 -0
- package/bacnet_write.html +24 -15
- package/bacnet_write.js +0 -2
- package/common.js +95 -9
- package/edge-bacnet-datastore.cfg +0 -0
- package/package.json +6 -4
- package/resources/confirmationservice.min.js +1 -0
- package/resources/confirmdialog.min.js +1 -0
- package/resources/fonts/primeicons.woff2 +0 -0
- package/resources/node-bacnet/CHANGELOG.md +481 -0
- package/resources/{bacstack → node-bacnet}/LICENSE.md +3 -1
- package/resources/node-bacnet/README.md +91 -0
- package/resources/node-bacnet/docs/Client.html +4422 -0
- package/resources/node-bacnet/docs/bacnet-icon-quad.png +0 -0
- package/resources/node-bacnet/docs/bacnet-icon-quad128.png +0 -0
- package/resources/node-bacnet/docs/bacnet-icon-quad64.png +0 -0
- package/resources/node-bacnet/docs/bacnet-icon-small.xcf +0 -0
- package/resources/node-bacnet/docs/bacnet-icon.xcf +0 -0
- package/resources/node-bacnet/docs/bacnet.html +7032 -0
- package/resources/node-bacnet/docs/client.js.html +1759 -0
- package/resources/node-bacnet/docs/enum.js.html +2530 -0
- package/resources/node-bacnet/docs/global.html +2068 -0
- package/resources/node-bacnet/docs/images/mocha-logo.svg +65 -0
- package/resources/node-bacnet/docs/index.html +283 -0
- package/resources/node-bacnet/docs/scripts/collapse.js +11 -0
- package/resources/node-bacnet/docs/scripts/jquery-3.1.1.min.js +4 -0
- package/resources/node-bacnet/docs/scripts/linenumber.js +26 -0
- package/resources/node-bacnet/docs/scripts/prettify/Apache-License-2.0.txt +202 -0
- package/resources/node-bacnet/docs/scripts/prettify/lang-css.js +2 -0
- package/resources/node-bacnet/docs/scripts/prettify/prettify.js +28 -0
- package/resources/node-bacnet/docs/scripts/search.js +47 -0
- package/resources/node-bacnet/docs/services_i-am.js.html +157 -0
- package/resources/node-bacnet/docs/services_time-sync.js.html +118 -0
- package/resources/node-bacnet/docs/services_who-is.js.html +138 -0
- package/resources/node-bacnet/docs/styles/jsdoc.css +683 -0
- package/resources/node-bacnet/docs/styles/prettify.css +82 -0
- package/resources/node-bacnet/examples/discover-devices.js +66 -0
- package/resources/node-bacnet/examples/read-device.js +510 -0
- package/resources/node-bacnet/examples/subscribe-cov.js +75 -0
- package/resources/{bacstack → node-bacnet}/index.js +3 -0
- package/resources/{bacstack → node-bacnet}/lib/apdu.js +56 -39
- package/resources/{bacstack → node-bacnet}/lib/asn1.js +550 -532
- package/resources/node-bacnet/lib/bvlc.js +90 -0
- package/resources/node-bacnet/lib/client.js +1695 -0
- package/resources/node-bacnet/lib/enum.js +2463 -0
- package/resources/node-bacnet/lib/npdu.js +123 -0
- package/resources/{bacstack → node-bacnet}/lib/services/add-list-element.js +12 -6
- package/resources/{bacstack → node-bacnet}/lib/services/alarm-acknowledge.js +3 -3
- package/resources/{bacstack → node-bacnet}/lib/services/alarm-summary.js +5 -4
- package/resources/{bacstack → node-bacnet}/lib/services/atomic-read-file.js +49 -26
- package/resources/{bacstack → node-bacnet}/lib/services/atomic-write-file.js +40 -23
- package/resources/{bacstack → node-bacnet}/lib/services/cov-notify.js +33 -17
- package/resources/{bacstack → node-bacnet}/lib/services/create-object.js +23 -13
- package/resources/{bacstack → node-bacnet}/lib/services/delete-object.js +7 -2
- package/resources/{bacstack → node-bacnet}/lib/services/device-communication-control.js +8 -3
- package/resources/{bacstack → node-bacnet}/lib/services/error.js +7 -0
- package/resources/{bacstack → node-bacnet}/lib/services/event-information.js +10 -9
- package/resources/{bacstack → node-bacnet}/lib/services/event-notify-data.js +38 -16
- package/resources/{bacstack → node-bacnet}/lib/services/get-enrollment-summary.js +24 -11
- package/resources/{bacstack → node-bacnet}/lib/services/get-event-information.js +28 -13
- package/resources/node-bacnet/lib/services/i-am.js +90 -0
- package/resources/{bacstack/lib/services/i-have-broadcast.js → node-bacnet/lib/services/i-have.js} +3 -2
- package/resources/{bacstack → node-bacnet}/lib/services/index.js +7 -4
- package/resources/{bacstack → node-bacnet}/lib/services/life-safety-operation.js +3 -2
- package/resources/{bacstack → node-bacnet}/lib/services/private-transfer.js +3 -2
- package/resources/{bacstack → node-bacnet}/lib/services/read-property-multiple.js +11 -6
- package/resources/{bacstack → node-bacnet}/lib/services/read-property.js +42 -24
- package/resources/{bacstack → node-bacnet}/lib/services/read-range.js +37 -27
- package/resources/node-bacnet/lib/services/register-foreign-device.js +18 -0
- package/resources/{bacstack → node-bacnet}/lib/services/reinitialize-device.js +9 -4
- package/resources/{bacstack → node-bacnet}/lib/services/subscribe-cov.js +9 -4
- package/resources/{bacstack → node-bacnet}/lib/services/subscribe-property.js +18 -8
- package/resources/{bacstack → node-bacnet}/lib/services/time-sync.js +28 -5
- package/resources/{bacstack → node-bacnet}/lib/services/who-has.js +3 -3
- package/resources/{bacstack → node-bacnet}/lib/services/who-is.js +42 -9
- package/resources/{bacstack → node-bacnet}/lib/services/write-property-multiple.js +33 -16
- package/resources/{bacstack → node-bacnet}/lib/services/write-property.js +23 -13
- package/resources/node-bacnet/lib/transport.js +82 -0
- package/resources/node-bacnet/package.json +92 -0
- package/resources/primeicons.css +90 -2
- package/resources/bacstack/.codeclimate.yml +0 -15
- package/resources/bacstack/.dockerignore +0 -5
- package/resources/bacstack/.editorconfig +0 -13
- package/resources/bacstack/.eslintrc.yml +0 -13
- package/resources/bacstack/.github/ISSUE_TEMPLATE.md +0 -26
- package/resources/bacstack/.github/PULL_REQUEST_TEMPLATE.md +0 -14
- package/resources/bacstack/.github/workflows/ci.yml +0 -39
- package/resources/bacstack/.jscsrc +0 -8
- package/resources/bacstack/.jshintrc +0 -50
- package/resources/bacstack/.travis.yml +0 -27
- package/resources/bacstack/CHANGELOG.md +0 -232
- package/resources/bacstack/CODE_OF_CONDUCT.md +0 -74
- package/resources/bacstack/CONTRIBUTING.md +0 -77
- package/resources/bacstack/Dockerfile +0 -15
- package/resources/bacstack/FAQ.md +0 -64
- package/resources/bacstack/README.md +0 -157
- package/resources/bacstack/docker-compose.yml +0 -9
- package/resources/bacstack/lib/adpu.js +0 -190
- package/resources/bacstack/lib/bvlc.js +0 -43
- package/resources/bacstack/lib/client.js +0 -1028
- package/resources/bacstack/lib/enum.js +0 -1314
- package/resources/bacstack/lib/npdu.js +0 -119
- package/resources/bacstack/lib/services/i-am-broadcast.js +0 -51
- package/resources/bacstack/lib/services.js +0 -1963
- package/resources/bacstack/lib/transport.js +0 -52
- package/resources/bacstack/package-lock.json +0 -7974
- package/resources/bacstack/package.json +0 -84
- package/resources/bacstack/test/compliance/who-is.spec.js +0 -37
- package/resources/bacstack/test/integration/acknowledge-alarm.spec.js +0 -14
- package/resources/bacstack/test/integration/add-list-element.spec.js +0 -16
- package/resources/bacstack/test/integration/confirmed-event-notification.spec.js +0 -30
- package/resources/bacstack/test/integration/confirmed-private-transfer.spec.js +0 -15
- package/resources/bacstack/test/integration/create-object.spec.js +0 -16
- package/resources/bacstack/test/integration/delete-object.spec.js +0 -14
- package/resources/bacstack/test/integration/device-communication-control.spec.js +0 -14
- package/resources/bacstack/test/integration/get-alarm-summary.spec.js +0 -14
- package/resources/bacstack/test/integration/get-enrollment-summary.spec.js +0 -15
- package/resources/bacstack/test/integration/get-event-information.spec.js +0 -14
- package/resources/bacstack/test/integration/read-file.spec.js +0 -14
- package/resources/bacstack/test/integration/read-property-multiple.spec.js +0 -110
- package/resources/bacstack/test/integration/read-property.spec.js +0 -14
- package/resources/bacstack/test/integration/read-range.spec.js +0 -14
- package/resources/bacstack/test/integration/reinitialize-sevice.spec.js +0 -14
- package/resources/bacstack/test/integration/remove-list-element.spec.js +0 -16
- package/resources/bacstack/test/integration/subscribe-cov.spec.js +0 -14
- package/resources/bacstack/test/integration/subscribe-property.spec.js +0 -14
- package/resources/bacstack/test/integration/time-sync-utc.spec.js +0 -10
- package/resources/bacstack/test/integration/time-sync.spec.js +0 -10
- package/resources/bacstack/test/integration/unconfirmed-event-notification.spec.js +0 -28
- package/resources/bacstack/test/integration/unconfirmed-private-transfer.spec.js +0 -11
- package/resources/bacstack/test/integration/utils.js +0 -30
- package/resources/bacstack/test/integration/who-is.spec.js +0 -17
- package/resources/bacstack/test/integration/write-file.spec.js +0 -14
- package/resources/bacstack/test/integration/write-property-multiple.spec.js +0 -19
- package/resources/bacstack/test/integration/write-property.spec.js +0 -14
- package/resources/bacstack/test/unit/apdu.spec.js +0 -162
- package/resources/bacstack/test/unit/asn1.spec.js +0 -39
- package/resources/bacstack/test/unit/bacnet-apdu.spec.js +0 -161
- package/resources/bacstack/test/unit/bacnet-asn1.spec.js +0 -32
- package/resources/bacstack/test/unit/bacnet-bvlc.spec.js +0 -57
- package/resources/bacstack/test/unit/bacnet-npdu.spec.js +0 -118
- package/resources/bacstack/test/unit/bacnet-services.spec.js +0 -2052
- package/resources/bacstack/test/unit/bvlc.spec.js +0 -58
- package/resources/bacstack/test/unit/npdu.spec.js +0 -119
- package/resources/bacstack/test/unit/service-add-list-element.spec.js +0 -24
- package/resources/bacstack/test/unit/service-alarm-acknowledge.spec.js +0 -71
- package/resources/bacstack/test/unit/service-alarm-summary.spec.js +0 -22
- package/resources/bacstack/test/unit/service-atomic-read-file.spec.js +0 -54
- package/resources/bacstack/test/unit/service-atomic-write-file.spec.js +0 -56
- package/resources/bacstack/test/unit/service-cov-notify.spec.js +0 -98
- package/resources/bacstack/test/unit/service-create-object.spec.js +0 -90
- package/resources/bacstack/test/unit/service-delete-object.spec.js +0 -17
- package/resources/bacstack/test/unit/service-device-communication-control.spec.js +0 -29
- package/resources/bacstack/test/unit/service-error.spec.js +0 -17
- package/resources/bacstack/test/unit/service-event-information.spec.js +0 -48
- package/resources/bacstack/test/unit/service-event-notify-data.spec.js +0 -310
- package/resources/bacstack/test/unit/service-get-enrollment-summary.spec.js +0 -45
- package/resources/bacstack/test/unit/service-get-event-information.spec.js +0 -62
- package/resources/bacstack/test/unit/service-i-am.spec.js +0 -19
- package/resources/bacstack/test/unit/service-i-have-broadcast.spec.js +0 -18
- package/resources/bacstack/test/unit/service-life-safety-operation.spec.js +0 -19
- package/resources/bacstack/test/unit/service-private-transfer.spec.js +0 -18
- package/resources/bacstack/test/unit/service-read-property-multiple.spec.js +0 -131
- package/resources/bacstack/test/unit/service-read-property.spec.js +0 -541
- package/resources/bacstack/test/unit/service-read-range.spec.js +0 -97
- package/resources/bacstack/test/unit/service-reinitialize-device.spec.js +0 -27
- package/resources/bacstack/test/unit/service-subscribe-cov.spec.js +0 -32
- package/resources/bacstack/test/unit/service-subscribe-property.spec.js +0 -50
- package/resources/bacstack/test/unit/service-time-sync.spec.js +0 -18
- package/resources/bacstack/test/unit/service-who-has.spec.js +0 -33
- package/resources/bacstack/test/unit/service-who-is.spec.js +0 -17
- package/resources/bacstack/test/unit/service-write-property-multiple.spec.js +0 -143
- package/resources/bacstack/test/unit/service-write-property.spec.js +0 -198
- package/resources/bacstack/test/unit/utils.js +0 -6
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const utils = require('./utils');
|
|
4
|
-
const baBvlc = require('../../lib/bvlc');
|
|
5
|
-
|
|
6
|
-
describe('bacstack - BVLC layer', () => {
|
|
7
|
-
it('should successfuly encode and decode a package', () => {
|
|
8
|
-
const buffer = utils.getBuffer();
|
|
9
|
-
baBvlc.encode(buffer.buffer, 10, 1482);
|
|
10
|
-
const result = baBvlc.decode(buffer.buffer, 0);
|
|
11
|
-
expect(result).toEqual({
|
|
12
|
-
len: 4,
|
|
13
|
-
func: 10,
|
|
14
|
-
msgLength: 1482
|
|
15
|
-
});
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
it('should successfuly encode and decode a forwarded package', () => {
|
|
19
|
-
const buffer = utils.getBuffer();
|
|
20
|
-
baBvlc.encode(buffer.buffer, 4, 1482);
|
|
21
|
-
const result = baBvlc.decode(buffer.buffer, 0);
|
|
22
|
-
expect(result).toEqual({
|
|
23
|
-
len: 10,
|
|
24
|
-
func: 4,
|
|
25
|
-
msgLength: 1482
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
it('should fail if invalid BVLC type', () => {
|
|
30
|
-
const buffer = utils.getBuffer();
|
|
31
|
-
baBvlc.encode(buffer.buffer, 10, 1482);
|
|
32
|
-
buffer.buffer[0] = 8;
|
|
33
|
-
const result = baBvlc.decode(buffer.buffer, 0);
|
|
34
|
-
expect(result).toBeUndefined();
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
it('should fail if invalid length', () => {
|
|
38
|
-
const buffer = utils.getBuffer();
|
|
39
|
-
baBvlc.encode(buffer.buffer, 10, 1481);
|
|
40
|
-
buffer.buffer[0] = 8;
|
|
41
|
-
const result = baBvlc.decode(buffer.buffer, 0);
|
|
42
|
-
expect(result).toBeUndefined();
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
it('should fail if invalid function', () => {
|
|
46
|
-
const buffer = utils.getBuffer();
|
|
47
|
-
baBvlc.encode(buffer.buffer, 100, 1482);
|
|
48
|
-
const result = baBvlc.decode(buffer.buffer, 0);
|
|
49
|
-
expect(result).toBeUndefined();
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
it('should fail if unsuported function', () => {
|
|
53
|
-
const buffer = utils.getBuffer();
|
|
54
|
-
baBvlc.encode(buffer.buffer, 5, 1482);
|
|
55
|
-
const result = baBvlc.decode(buffer.buffer, 0);
|
|
56
|
-
expect(result).toBeUndefined();
|
|
57
|
-
});
|
|
58
|
-
});
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const utils = require('./utils');
|
|
4
|
-
const baNpdu = require('../../lib/npdu');
|
|
5
|
-
|
|
6
|
-
describe('bacstack - NPDU layer', () => {
|
|
7
|
-
it('should successfully decode the NPDU function', () => {
|
|
8
|
-
const result = baNpdu.decodeFunction([0, 1, 12], 1);
|
|
9
|
-
expect(result).toEqual(12);
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
it('should fail decoding the NPDU function if invalid version', () => {
|
|
13
|
-
const result = baNpdu.decodeFunction([0, 2, 12], 1);
|
|
14
|
-
expect(result).toBeUndefined();
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
it('should successfully encode and decode a basic NPDU package', () => {
|
|
18
|
-
const buffer = utils.getBuffer();
|
|
19
|
-
baNpdu.encode(buffer, 1);
|
|
20
|
-
const result = baNpdu.decode(buffer.buffer, 0);
|
|
21
|
-
expect(result).toEqual({
|
|
22
|
-
len: 2,
|
|
23
|
-
funct: 1,
|
|
24
|
-
destination: undefined,
|
|
25
|
-
source: undefined,
|
|
26
|
-
hopCount: 0,
|
|
27
|
-
networkMsgType: 0,
|
|
28
|
-
vendorId: 0
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
it('should successfully encode and decode a NPDU package with destination', () => {
|
|
33
|
-
const buffer = utils.getBuffer();
|
|
34
|
-
const destination = {net: 1000, adr: [1, 2, 3]};
|
|
35
|
-
baNpdu.encode(buffer, 1, destination, undefined, 11, 5, 7);
|
|
36
|
-
const result = baNpdu.decode(buffer.buffer, 0);
|
|
37
|
-
expect(result).toEqual({
|
|
38
|
-
len: 9,
|
|
39
|
-
funct: 33,
|
|
40
|
-
destination: {type: 0, net: 1000, adr: [1, 2, 3]},
|
|
41
|
-
source: undefined,
|
|
42
|
-
hopCount: 11,
|
|
43
|
-
networkMsgType: 0,
|
|
44
|
-
vendorId: 0
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
it('should successfully encode and decode a NPDU package with destination and source', () => {
|
|
49
|
-
const buffer = utils.getBuffer();
|
|
50
|
-
const destination = {net: 1000, adr: [1, 2, 3]};
|
|
51
|
-
const source = {net: 1000, adr: [1, 2, 3]};
|
|
52
|
-
baNpdu.encode(buffer, 1, destination, source, 13, 10, 11);
|
|
53
|
-
const result = baNpdu.decode(buffer.buffer, 0);
|
|
54
|
-
expect(result).toEqual({
|
|
55
|
-
len: 15,
|
|
56
|
-
funct: 41,
|
|
57
|
-
destination: {type: 0, net: 1000, adr: [1, 2, 3]},
|
|
58
|
-
source: {type: 0, net: 1000, adr: [1, 2, 3]},
|
|
59
|
-
hopCount: 13,
|
|
60
|
-
networkMsgType: 0,
|
|
61
|
-
vendorId: 0
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
it('should successfully encode and decode a NPDU package with broadcast destination and source', () => {
|
|
66
|
-
const buffer = utils.getBuffer();
|
|
67
|
-
const destination = {net: 65535};
|
|
68
|
-
const source = {net: 1000};
|
|
69
|
-
baNpdu.encode(buffer, 1, destination, source, 12, 8, 9);
|
|
70
|
-
const result = baNpdu.decode(buffer.buffer, 0);
|
|
71
|
-
expect(result).toEqual({
|
|
72
|
-
len: 9,
|
|
73
|
-
funct: 41,
|
|
74
|
-
destination: {type: 0, net: 65535},
|
|
75
|
-
source: {type: 0, net: 1000},
|
|
76
|
-
hopCount: 12,
|
|
77
|
-
networkMsgType: 0,
|
|
78
|
-
vendorId: 0
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
it('should successfully encode and decode a network layer NPDU package', () => {
|
|
83
|
-
const buffer = utils.getBuffer();
|
|
84
|
-
baNpdu.encode(buffer, 128, undefined, undefined, 1, 128, 7777);
|
|
85
|
-
const result = baNpdu.decode(buffer.buffer, 0);
|
|
86
|
-
expect(result).toEqual({
|
|
87
|
-
len: 5,
|
|
88
|
-
funct: 128,
|
|
89
|
-
destination: undefined,
|
|
90
|
-
source: undefined,
|
|
91
|
-
hopCount: 0,
|
|
92
|
-
networkMsgType: 128,
|
|
93
|
-
vendorId: 7777
|
|
94
|
-
});
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
it('should successfully encode and decode a who is router to network layer NPDU package', () => {
|
|
98
|
-
const buffer = utils.getBuffer();
|
|
99
|
-
baNpdu.encode(buffer, 128, undefined, undefined, 1, 0, 7777);
|
|
100
|
-
const result = baNpdu.decode(buffer.buffer, 0);
|
|
101
|
-
expect(result).toEqual({
|
|
102
|
-
len: 5,
|
|
103
|
-
funct: 128,
|
|
104
|
-
destination: undefined,
|
|
105
|
-
source: undefined,
|
|
106
|
-
hopCount: 0,
|
|
107
|
-
networkMsgType: 0,
|
|
108
|
-
vendorId: 0
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
|
|
112
|
-
it('should fail if invalid BACNET version', () => {
|
|
113
|
-
const buffer = utils.getBuffer();
|
|
114
|
-
baNpdu.encode(buffer, 12, undefined, undefined, 1, 2, 3);
|
|
115
|
-
buffer.buffer[0] = 2;
|
|
116
|
-
const result = baNpdu.decode(buffer.buffer, 0);
|
|
117
|
-
expect(result).toBeUndefined();
|
|
118
|
-
});
|
|
119
|
-
});
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const utils = require('./utils');
|
|
4
|
-
const baServices = require('../../lib/services');
|
|
5
|
-
|
|
6
|
-
describe('bacstack - Services layer AddListElement unit', () => {
|
|
7
|
-
it('should successfully encode and decode', () => {
|
|
8
|
-
const buffer = utils.getBuffer();
|
|
9
|
-
baServices.addListElement.encode(buffer, {type: 11, instance: 560}, 85, 2, [
|
|
10
|
-
{type: 1, value: false},
|
|
11
|
-
{type: 2, value: 1}
|
|
12
|
-
]);
|
|
13
|
-
const result = baServices.addListElement.decode(buffer.buffer, 0, buffer.offset);
|
|
14
|
-
delete result.len;
|
|
15
|
-
expect(result).toEqual({
|
|
16
|
-
objectId: {type: 11, instance: 560},
|
|
17
|
-
property: {id: 85, index: 2},
|
|
18
|
-
values: [
|
|
19
|
-
{type: 1, value: false},
|
|
20
|
-
{type: 2, value: 1}
|
|
21
|
-
]
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
});
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const utils = require('./utils');
|
|
4
|
-
const baServices = require('../../lib/services');
|
|
5
|
-
const baEnum = require('../../lib/enum');
|
|
6
|
-
|
|
7
|
-
describe('bacstack - Services layer AlarmAcknowledge unit', () => {
|
|
8
|
-
it('should successfully encode and decode with time timestamp', () => {
|
|
9
|
-
const buffer = utils.getBuffer();
|
|
10
|
-
const eventTime = new Date(1, 1, 1);
|
|
11
|
-
eventTime.setMilliseconds(990);
|
|
12
|
-
const ackTime = new Date(1, 1, 1);
|
|
13
|
-
ackTime.setMilliseconds(880);
|
|
14
|
-
baServices.alarmAcknowledge.encode(buffer, 57, {type: 0, instance: 33}, 5, 'Alarm Acknowledge Test', {value: eventTime, type: baEnum.TimeStamp.TIME}, {value: ackTime, type: baEnum.TimeStamp.TIME});
|
|
15
|
-
const result = baServices.alarmAcknowledge.decode(buffer.buffer, 0, buffer.offset);
|
|
16
|
-
delete result.len;
|
|
17
|
-
expect(result).toEqual({
|
|
18
|
-
acknowledgedProcessId: 57,
|
|
19
|
-
eventObjectId: {
|
|
20
|
-
type: 0,
|
|
21
|
-
instance: 33
|
|
22
|
-
},
|
|
23
|
-
eventStateAcknowledged: 5,
|
|
24
|
-
acknowledgeSource: 'Alarm Acknowledge Test',
|
|
25
|
-
eventTimeStamp: eventTime,
|
|
26
|
-
acknowledgeTimeStamp: ackTime
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
it('should successfully encode and decode with sequence timestamp', () => {
|
|
31
|
-
const buffer = utils.getBuffer();
|
|
32
|
-
const eventTime = 5;
|
|
33
|
-
const ackTime = 6;
|
|
34
|
-
baServices.alarmAcknowledge.encode(buffer, 57, {type: 0, instance: 33}, 5, 'Alarm Acknowledge Test', {value: eventTime, type: baEnum.TimeStamp.SEQUENCE_NUMBER}, {value: ackTime, type: baEnum.TimeStamp.SEQUENCE_NUMBER});
|
|
35
|
-
const result = baServices.alarmAcknowledge.decode(buffer.buffer, 0, buffer.offset);
|
|
36
|
-
delete result.len;
|
|
37
|
-
expect(result).toEqual({
|
|
38
|
-
acknowledgedProcessId: 57,
|
|
39
|
-
eventObjectId: {
|
|
40
|
-
type: 0,
|
|
41
|
-
instance: 33
|
|
42
|
-
},
|
|
43
|
-
eventStateAcknowledged: 5,
|
|
44
|
-
acknowledgeSource: 'Alarm Acknowledge Test',
|
|
45
|
-
eventTimeStamp: eventTime,
|
|
46
|
-
acknowledgeTimeStamp: ackTime
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
it('should successfully encode and decode with datetime timestamp', () => {
|
|
51
|
-
const buffer = utils.getBuffer();
|
|
52
|
-
const eventTime = new Date(1, 1, 1);
|
|
53
|
-
eventTime.setMilliseconds(990);
|
|
54
|
-
const ackTime = new Date(1, 1, 2);
|
|
55
|
-
ackTime.setMilliseconds(880);
|
|
56
|
-
baServices.alarmAcknowledge.encode(buffer, 57, {type: 0, instance: 33}, 5, 'Alarm Acknowledge Test', {value: eventTime, type: baEnum.TimeStamp.DATETIME}, {value: ackTime, type: baEnum.TimeStamp.DATETIME});
|
|
57
|
-
const result = baServices.alarmAcknowledge.decode(buffer.buffer, 0, buffer.offset);
|
|
58
|
-
delete result.len;
|
|
59
|
-
expect(result).toEqual({
|
|
60
|
-
acknowledgedProcessId: 57,
|
|
61
|
-
eventObjectId: {
|
|
62
|
-
type: 0,
|
|
63
|
-
instance: 33
|
|
64
|
-
},
|
|
65
|
-
eventStateAcknowledged: 5,
|
|
66
|
-
acknowledgeSource: 'Alarm Acknowledge Test',
|
|
67
|
-
eventTimeStamp: eventTime,
|
|
68
|
-
acknowledgeTimeStamp: ackTime
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
});
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const utils = require('./utils');
|
|
4
|
-
const baServices = require('../../lib/services');
|
|
5
|
-
|
|
6
|
-
describe('bacstack - Services layer AlarmSummary unit', () => {
|
|
7
|
-
it('should successfully encode and decode', () => {
|
|
8
|
-
const buffer = utils.getBuffer();
|
|
9
|
-
baServices.alarmSummary.encode(buffer, [
|
|
10
|
-
{objectId: {type: 12, instance: 12}, alarmState: 12, acknowledgedTransitions: {value: [12], bitsUsed: 5}},
|
|
11
|
-
{objectId: {type: 13, instance: 13}, alarmState: 13, acknowledgedTransitions: {value: [13], bitsUsed: 6}}
|
|
12
|
-
]);
|
|
13
|
-
const result = baServices.alarmSummary.decode(buffer.buffer, 0, buffer.offset);
|
|
14
|
-
delete result.len;
|
|
15
|
-
expect(result).toEqual({
|
|
16
|
-
alarms: [
|
|
17
|
-
{objectId: {type: 12, instance: 12}, alarmState: 12, acknowledgedTransitions: {value: [12], bitsUsed: 5}},
|
|
18
|
-
{objectId: {type: 13, instance: 13}, alarmState: 13, acknowledgedTransitions: {value: [13], bitsUsed: 6}}
|
|
19
|
-
]
|
|
20
|
-
});
|
|
21
|
-
});
|
|
22
|
-
});
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const utils = require('./utils');
|
|
4
|
-
const baServices = require('../../lib/services');
|
|
5
|
-
|
|
6
|
-
describe('bacstack - Services layer AtomicReadFile unit', () => {
|
|
7
|
-
it('should successfully encode and decode as stream', () => {
|
|
8
|
-
const buffer = utils.getBuffer();
|
|
9
|
-
baServices.atomicReadFile.encode(buffer, true, {type: 13, instance: 5000}, -50, 12);
|
|
10
|
-
const result = baServices.atomicReadFile.decode(buffer.buffer, 0);
|
|
11
|
-
delete result.len;
|
|
12
|
-
expect(result).toEqual({
|
|
13
|
-
objectId: {type: 13, instance: 5000},
|
|
14
|
-
count: 12,
|
|
15
|
-
isStream: true,
|
|
16
|
-
position: -50
|
|
17
|
-
});
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
it('should successfully encode and decode as non-stream', () => {
|
|
21
|
-
const buffer = utils.getBuffer();
|
|
22
|
-
baServices.atomicReadFile.encode(buffer, false, {type: 14, instance: 5001}, 60, 13);
|
|
23
|
-
const result = baServices.atomicReadFile.decode(buffer.buffer, 0);
|
|
24
|
-
delete result.len;
|
|
25
|
-
expect(result).toEqual({
|
|
26
|
-
objectId: {type: 14, instance: 5001},
|
|
27
|
-
count: 13,
|
|
28
|
-
isStream: false,
|
|
29
|
-
position: 60
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
describe('AtomicReadFileAcknowledge', () => {
|
|
35
|
-
it('should successfully encode and decode as stream', () => {
|
|
36
|
-
const buffer = utils.getBuffer();
|
|
37
|
-
baServices.atomicReadFile.encodeAcknowledge(buffer, true, false, 0, 90, [[12, 12, 12]], [3]);
|
|
38
|
-
const result = baServices.atomicReadFile.decodeAcknowledge(buffer.buffer, 0);
|
|
39
|
-
delete result.len;
|
|
40
|
-
expect(result).toEqual({
|
|
41
|
-
isStream: true,
|
|
42
|
-
position: 0,
|
|
43
|
-
endOfFile: false,
|
|
44
|
-
buffer: Buffer.from([12, 12, 12])
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
it('should successfully encode and decode as non-stream', () => {
|
|
49
|
-
const buffer = utils.getBuffer();
|
|
50
|
-
baServices.atomicReadFile.encodeAcknowledge(buffer, false, false, 0, 90, [12, 12, 12], 3);
|
|
51
|
-
// TODO: AtomicReadFileAcknowledge as non-stream not yet implemented
|
|
52
|
-
expect(() => baServices.atomicReadFile.decodeAcknowledge(buffer.buffer, 0)).toThrow('NotImplemented');
|
|
53
|
-
});
|
|
54
|
-
});
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const utils = require('./utils');
|
|
4
|
-
const baServices = require('../../lib/services');
|
|
5
|
-
|
|
6
|
-
describe('bacstack - Services layer AtomicWriteFile unit', () => {
|
|
7
|
-
it('should successfully encode and decode as stream', () => {
|
|
8
|
-
const buffer = utils.getBuffer();
|
|
9
|
-
baServices.atomicWriteFile.encode(buffer, true, {type: 12, instance: 51}, 5, [[12, 12]]);
|
|
10
|
-
const result = baServices.atomicWriteFile.decode(buffer.buffer, 0, buffer.offset);
|
|
11
|
-
delete result.len;
|
|
12
|
-
expect(result).toEqual({
|
|
13
|
-
objectId: {type: 12, instance: 51},
|
|
14
|
-
isStream: true,
|
|
15
|
-
position: 5,
|
|
16
|
-
blocks: [[12, 12]]
|
|
17
|
-
});
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
it('should successfully encode and decode as non-stream', () => {
|
|
21
|
-
const buffer = utils.getBuffer();
|
|
22
|
-
baServices.atomicWriteFile.encode(buffer, false, {type: 12, instance: 88}, 10, [[12, 12], [12, 12]]);
|
|
23
|
-
const result = baServices.atomicWriteFile.decode(buffer.buffer, 0, buffer.offset);
|
|
24
|
-
delete result.len;
|
|
25
|
-
expect(result).toEqual({
|
|
26
|
-
objectId: {type: 12, instance: 88},
|
|
27
|
-
isStream: false,
|
|
28
|
-
position: 10,
|
|
29
|
-
blocks: [[12, 12], [12, 12]]
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
describe('AtomicWriteFileAcknowledge', () => {
|
|
35
|
-
it('should successfully encode and decode streamed file', () => {
|
|
36
|
-
const buffer = utils.getBuffer();
|
|
37
|
-
baServices.atomicWriteFile.encodeAcknowledge(buffer, true, -10);
|
|
38
|
-
const result = baServices.atomicWriteFile.decodeAcknowledge(buffer.buffer, 0);
|
|
39
|
-
delete result.len;
|
|
40
|
-
expect(result).toEqual({
|
|
41
|
-
isStream: true,
|
|
42
|
-
position: -10
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
it('should successfully encode and decode non-streamed file', () => {
|
|
47
|
-
const buffer = utils.getBuffer();
|
|
48
|
-
baServices.atomicWriteFile.encodeAcknowledge(buffer, false, 10);
|
|
49
|
-
const result = baServices.atomicWriteFile.decodeAcknowledge(buffer.buffer, 0);
|
|
50
|
-
delete result.len;
|
|
51
|
-
expect(result).toEqual({
|
|
52
|
-
isStream: false,
|
|
53
|
-
position: 10
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
});
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const utils = require('./utils');
|
|
4
|
-
const baServices = require('../../lib/services');
|
|
5
|
-
|
|
6
|
-
describe('bacstack - Services layer COVNotify unit', () => {
|
|
7
|
-
it('should successfully encode and decode', () => {
|
|
8
|
-
const buffer = utils.getBuffer();
|
|
9
|
-
const date = new Date(1, 1, 1);
|
|
10
|
-
const time = new Date(1, 1, 1);
|
|
11
|
-
time.setMilliseconds(990);
|
|
12
|
-
baServices.covNotify.encode(buffer, 7, 443, {type: 2, instance: 12}, 120, [
|
|
13
|
-
{property: {id: 81, index: 0xFFFFFFFF}, value: [
|
|
14
|
-
{type: 0},
|
|
15
|
-
{type: 1, value: null},
|
|
16
|
-
{type: 1, value: true},
|
|
17
|
-
{type: 1, value: false},
|
|
18
|
-
{type: 2, value: 1},
|
|
19
|
-
{type: 2, value: 1000},
|
|
20
|
-
{type: 2, value: 1000000},
|
|
21
|
-
{type: 2, value: 1000000000},
|
|
22
|
-
{type: 3, value: -1},
|
|
23
|
-
{type: 3, value: -1000},
|
|
24
|
-
{type: 3, value: -1000000},
|
|
25
|
-
{type: 3, value: -1000000000},
|
|
26
|
-
{type: 4, value: 0.1},
|
|
27
|
-
{type: 5, value: 100.121212},
|
|
28
|
-
{type: 6, value: [1, 2, 100, 200]},
|
|
29
|
-
{type: 7, value: 'Test1234$'},
|
|
30
|
-
{type: 8, value: {bitsUsed: 0, value: []}},
|
|
31
|
-
{type: 8, value: {bitsUsed: 24, value: [0xAA, 0xAA, 0xAA]}},
|
|
32
|
-
{type: 9, value: 4},
|
|
33
|
-
{type: 10, value: date},
|
|
34
|
-
{type: 11, value: time}
|
|
35
|
-
], priority: 0},
|
|
36
|
-
{property: {id: 82, index: 0}, value: [
|
|
37
|
-
{type: 12, value: {type: 3, instance: 0}}
|
|
38
|
-
], priority: 8}
|
|
39
|
-
]);
|
|
40
|
-
const result = baServices.covNotify.decode(buffer.buffer, 0, buffer.offset);
|
|
41
|
-
delete result.len;
|
|
42
|
-
result.values[0].value[12].value = Math.floor(result.values[0].value[12].value * 1000) / 1000;
|
|
43
|
-
expect(result).toEqual({
|
|
44
|
-
initiatingDeviceId: {
|
|
45
|
-
type: 8,
|
|
46
|
-
instance: 443
|
|
47
|
-
},
|
|
48
|
-
monitoredObjectId: {
|
|
49
|
-
type: 2,
|
|
50
|
-
instance: 12
|
|
51
|
-
},
|
|
52
|
-
subscriberProcessId: 7,
|
|
53
|
-
timeRemaining: 120,
|
|
54
|
-
values: [
|
|
55
|
-
{
|
|
56
|
-
priority: 0,
|
|
57
|
-
property: {
|
|
58
|
-
index: 0xFFFFFFFF,
|
|
59
|
-
id: 81
|
|
60
|
-
},
|
|
61
|
-
value: [
|
|
62
|
-
{type: 0, value: null},
|
|
63
|
-
{type: 0, value: null},
|
|
64
|
-
{type: 1, value: true},
|
|
65
|
-
{type: 1, value: false},
|
|
66
|
-
{type: 2, value: 1},
|
|
67
|
-
{type: 2, value: 1000},
|
|
68
|
-
{type: 2, value: 1000000},
|
|
69
|
-
{type: 2, value: 1000000000},
|
|
70
|
-
{type: 3, value: -1},
|
|
71
|
-
{type: 3, value: -1000},
|
|
72
|
-
{type: 3, value: -1000000},
|
|
73
|
-
{type: 3, value: -1000000000},
|
|
74
|
-
{type: 4, value: 0.1},
|
|
75
|
-
{type: 5, value: 100.121212},
|
|
76
|
-
{type: 6, value: [1, 2, 100, 200]},
|
|
77
|
-
{type: 7, value: 'Test1234$', encoding: 0},
|
|
78
|
-
{type: 8, value: {bitsUsed: 0, value: []}},
|
|
79
|
-
{type: 8, value: {bitsUsed: 24, value: [0xAA, 0xAA, 0xAA]}},
|
|
80
|
-
{type: 9, value: 4},
|
|
81
|
-
{type: 10, value: date},
|
|
82
|
-
{type: 11, value: time}
|
|
83
|
-
]
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
priority: 0,
|
|
87
|
-
property: {
|
|
88
|
-
index: 0xFFFFFFFF,
|
|
89
|
-
id: 82
|
|
90
|
-
},
|
|
91
|
-
value: [
|
|
92
|
-
{type: 12, value: {type: 3, instance: 0}}
|
|
93
|
-
]
|
|
94
|
-
}
|
|
95
|
-
]
|
|
96
|
-
});
|
|
97
|
-
});
|
|
98
|
-
});
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const utils = require('./utils');
|
|
4
|
-
const baServices = require('../../lib/services');
|
|
5
|
-
|
|
6
|
-
describe('bacstack - Services layer CreateObject unit', () => {
|
|
7
|
-
it('should successfully encode and decode', () => {
|
|
8
|
-
const buffer = utils.getBuffer();
|
|
9
|
-
const date = new Date(1, 1, 1);
|
|
10
|
-
const time = new Date(1, 1, 1);
|
|
11
|
-
time.setMilliseconds(990);
|
|
12
|
-
baServices.createObject.encode(buffer, {type: 1, instance: 10}, [
|
|
13
|
-
{property: {id: 81, index: 0xFFFFFFFF}, value: [
|
|
14
|
-
{type: 0},
|
|
15
|
-
{type: 1, value: null},
|
|
16
|
-
{type: 1, value: true},
|
|
17
|
-
{type: 1, value: false},
|
|
18
|
-
{type: 2, value: 1},
|
|
19
|
-
{type: 2, value: 1000},
|
|
20
|
-
{type: 2, value: 1000000},
|
|
21
|
-
{type: 2, value: 1000000000},
|
|
22
|
-
{type: 3, value: -1},
|
|
23
|
-
{type: 3, value: -1000},
|
|
24
|
-
{type: 3, value: -1000000},
|
|
25
|
-
{type: 3, value: -1000000000},
|
|
26
|
-
{type: 4, value: 0.1},
|
|
27
|
-
{type: 5, value: 100.121212},
|
|
28
|
-
{type: 6, value: [1, 2, 100, 200]},
|
|
29
|
-
{type: 7, value: 'Test1234$'},
|
|
30
|
-
{type: 8, value: {bitsUsed: 0, value: []}},
|
|
31
|
-
{type: 8, value: {bitsUsed: 24, value: [0xAA, 0xAA, 0xAA]}},
|
|
32
|
-
{type: 9, value: 4},
|
|
33
|
-
{type: 10, value: date},
|
|
34
|
-
{type: 11, value: time}
|
|
35
|
-
], priority: 0},
|
|
36
|
-
{property: {id: 82, index: 0}, value: [
|
|
37
|
-
{type: 12, value: {type: 3, instance: 0}}
|
|
38
|
-
], priority: 0}
|
|
39
|
-
]);
|
|
40
|
-
const result = baServices.createObject.decode(buffer.buffer, 0, buffer.offset);
|
|
41
|
-
delete result.len;
|
|
42
|
-
result.values[0].value[12].value = Math.floor(result.values[0].value[12].value * 1000) / 1000;
|
|
43
|
-
expect(result).toEqual({
|
|
44
|
-
objectId: {
|
|
45
|
-
type: 1,
|
|
46
|
-
instance: 10
|
|
47
|
-
},
|
|
48
|
-
values: [
|
|
49
|
-
{
|
|
50
|
-
property: {
|
|
51
|
-
index: 0xFFFFFFFF,
|
|
52
|
-
id: 81
|
|
53
|
-
},
|
|
54
|
-
value: [
|
|
55
|
-
{type: 0, value: null},
|
|
56
|
-
{type: 0, value: null},
|
|
57
|
-
{type: 1, value: true},
|
|
58
|
-
{type: 1, value: false},
|
|
59
|
-
{type: 2, value: 1},
|
|
60
|
-
{type: 2, value: 1000},
|
|
61
|
-
{type: 2, value: 1000000},
|
|
62
|
-
{type: 2, value: 1000000000},
|
|
63
|
-
{type: 3, value: -1},
|
|
64
|
-
{type: 3, value: -1000},
|
|
65
|
-
{type: 3, value: -1000000},
|
|
66
|
-
{type: 3, value: -1000000000},
|
|
67
|
-
{type: 4, value: 0.1},
|
|
68
|
-
{type: 5, value: 100.121212},
|
|
69
|
-
{type: 6, value: [1, 2, 100, 200]},
|
|
70
|
-
{type: 7, value: 'Test1234$', encoding: 0},
|
|
71
|
-
{type: 8, value: {bitsUsed: 0, value: []}},
|
|
72
|
-
{type: 8, value: {bitsUsed: 24, value: [0xAA, 0xAA, 0xAA]}},
|
|
73
|
-
{type: 9, value: 4},
|
|
74
|
-
{type: 10, value: date},
|
|
75
|
-
{type: 11, value: time}
|
|
76
|
-
]
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
property: {
|
|
80
|
-
index: 0xFFFFFFFF,
|
|
81
|
-
id: 82
|
|
82
|
-
},
|
|
83
|
-
value: [
|
|
84
|
-
{type: 12, value: {type: 3, instance: 0}}
|
|
85
|
-
]
|
|
86
|
-
}
|
|
87
|
-
]
|
|
88
|
-
});
|
|
89
|
-
});
|
|
90
|
-
});
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const utils = require('./utils');
|
|
4
|
-
const baServices = require('../../lib/services');
|
|
5
|
-
|
|
6
|
-
describe('bacstack - Services layer DeleteObject unit', () => {
|
|
7
|
-
it('should successfully encode and decode', () => {
|
|
8
|
-
const buffer = utils.getBuffer();
|
|
9
|
-
baServices.deleteObject.encode(buffer, {type: 1, instance: 10});
|
|
10
|
-
const result = baServices.deleteObject.decode(buffer.buffer, 0, buffer.offset);
|
|
11
|
-
delete result.len;
|
|
12
|
-
expect(result).toEqual({
|
|
13
|
-
objectType: 1,
|
|
14
|
-
instance: 10
|
|
15
|
-
});
|
|
16
|
-
});
|
|
17
|
-
});
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const utils = require('./utils');
|
|
4
|
-
const baServices = require('../../lib/services');
|
|
5
|
-
|
|
6
|
-
describe('bacstack - Services layer DeviceCommunicationControl unit', () => {
|
|
7
|
-
it('should successfully encode and decode', () => {
|
|
8
|
-
const buffer = utils.getBuffer();
|
|
9
|
-
baServices.deviceCommunicationControl.encode(buffer, 30, 1);
|
|
10
|
-
const result = baServices.deviceCommunicationControl.decode(buffer.buffer, 0, buffer.offset);
|
|
11
|
-
delete result.len;
|
|
12
|
-
expect(result).toEqual({
|
|
13
|
-
timeDuration: 30,
|
|
14
|
-
enableDisable: 1
|
|
15
|
-
});
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
it('should successfully encode and decode with password', () => {
|
|
19
|
-
const buffer = utils.getBuffer();
|
|
20
|
-
baServices.deviceCommunicationControl.encode(buffer, 30, 1, 'Test1234!');
|
|
21
|
-
const result = baServices.deviceCommunicationControl.decode(buffer.buffer, 0, buffer.offset);
|
|
22
|
-
delete result.len;
|
|
23
|
-
expect(result).toEqual({
|
|
24
|
-
timeDuration: 30,
|
|
25
|
-
enableDisable: 1,
|
|
26
|
-
password: 'Test1234!'
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
});
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const utils = require('./utils');
|
|
4
|
-
const baServices = require('../../lib/services');
|
|
5
|
-
|
|
6
|
-
describe('bacstack - Services layer Error unit', () => {
|
|
7
|
-
it('should successfully encode and decode', () => {
|
|
8
|
-
const buffer = utils.getBuffer();
|
|
9
|
-
baServices.error.encode(buffer, 15, 25);
|
|
10
|
-
const result = baServices.error.decode(buffer.buffer, 0);
|
|
11
|
-
delete result.len;
|
|
12
|
-
expect(result).toEqual({
|
|
13
|
-
class: 15,
|
|
14
|
-
code: 25
|
|
15
|
-
});
|
|
16
|
-
});
|
|
17
|
-
});
|