iotagent-node-lib 2.18.0 → 2.19.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/.github/workflows/ci.yml +1 -2
- package/doc/advanced-topics.md +122 -53
- package/doc/api.md +52 -52
- package/doc/development.md +8 -9
- package/doc/expressionLanguage.md +514 -316
- package/doc/installationguide.md +66 -64
- package/doc/usermanual.md +48 -16
- package/docker/Mosquitto/Dockerfile +1 -0
- package/docker/Mosquitto/README.md +1 -0
- package/docker/Mosquitto/startMosquitto.sh +6 -4
- package/lib/command/commandLine.js +1 -1
- package/lib/fiware-iotagent-lib.js +3 -0
- package/lib/jexlTranformsMap.js +9 -1
- package/lib/model/Device.js +4 -1
- package/lib/model/Group.js +19 -1
- package/lib/plugins/expressionParser.js +6 -4
- package/lib/plugins/expressionPlugin.js +8 -1
- package/lib/plugins/jexlParser.js +3 -1
- package/lib/request-shim.js +111 -0
- package/lib/services/common/genericMiddleware.js +6 -2
- package/lib/services/common/iotManagerService.js +1 -1
- package/lib/services/common/securityServiceKeystone.js +1 -1
- package/lib/services/common/securityServiceOAuth2.js +3 -2
- package/lib/services/devices/deviceRegistryMongoDB.js +1 -0
- package/lib/services/devices/devices-NGSI-LD.js +1 -1
- package/lib/services/devices/devices-NGSI-v2.js +2 -6
- package/lib/services/devices/registrationUtils.js +0 -2
- package/lib/services/ngsi/entities-NGSI-LD.js +95 -11
- package/lib/services/ngsi/entities-NGSI-v2.js +93 -8
- package/lib/services/ngsi/ngsiService.js +3 -2
- package/lib/services/northBound/contextServer-NGSI-LD.js +3 -2
- package/lib/services/northBound/deviceProvisioningServer.js +29 -6
- package/lib/services/northBound/northboundServer.js +2 -0
- package/lib/services/northBound/restUtils.js +1 -1
- package/package.json +4 -4
- package/test/tools/utils.js +2 -0
- package/test/unit/expressions/jexlExpression-test.js +5 -5
- package/test/unit/general/contextBrokerKeystoneSecurityAccess-test.js +1 -1
- package/test/unit/general/deviceService-test.js +2 -5
- package/test/unit/general/loglevel-api_test.js +6 -11
- package/test/unit/general/migration-test.js +1 -0
- package/test/unit/general/startup-test.js +1 -0
- package/test/unit/memoryRegistry/deviceRegistryMemory_test.js +1 -0
- package/test/unit/mongodb/mongodb-group-registry-test.js +1 -1
- package/test/unit/mongodb/mongodb-registry-test.js +2 -1
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin12a.json +7 -0
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin13.json +13 -13
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin1a.json +18 -0
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin29.json +18 -0
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin31.json +15 -0
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin32.json +17 -0
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin33.json +18 -0
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin34.json +17 -0
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin4a.json +36 -0
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin7.json +16 -16
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin8a.json +18 -0
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextMultientityPlugin15.json +25 -0
- package/test/unit/ngsi-ld/expressions/jexlBasedTransformations-test.js +1018 -0
- package/test/unit/ngsi-ld/general/contextBrokerOAuthSecurityAccess-test.js +2 -2
- package/test/unit/ngsi-ld/general/deviceService-test.js +1 -1
- package/test/unit/ngsi-ld/general/https-support-test.js +2 -1
- package/test/unit/ngsi-ld/general/iotam-autoregistration-test.js +2 -1
- package/test/unit/ngsi-ld/general/startup-test.js +1 -0
- package/test/unit/ngsi-ld/lazyAndCommands/active-devices-attribute-update-test.js +3 -1
- package/test/unit/ngsi-ld/lazyAndCommands/command-test.js +2 -1
- package/test/unit/ngsi-ld/lazyAndCommands/lazy-devices-test.js +2 -6
- package/test/unit/ngsi-ld/lazyAndCommands/polling-commands-test.js +2 -1
- package/test/unit/ngsi-ld/ngsiService/active-devices-test.js +1 -0
- package/test/unit/ngsi-ld/ngsiService/autocast-test.js +1 -0
- package/test/unit/ngsi-ld/ngsiService/geoproperties-test.js +1 -0
- package/test/unit/ngsi-ld/ngsiService/subscriptions-test.js +4 -3
- package/test/unit/ngsi-ld/plugins/alias-plugin_test.js +1 -0
- package/test/unit/ngsi-ld/plugins/bidirectional-plugin_test.js +3 -2
- package/test/unit/ngsi-ld/plugins/multientity-plugin_test.js +61 -0
- package/test/unit/ngsi-ld/provisioning/device-provisioning-api_test.js +2 -1
- package/test/unit/ngsi-ld/provisioning/device-registration_test.js +3 -2
- package/test/unit/ngsi-ld/provisioning/device-update-registration_test.js +1 -0
- package/test/unit/ngsi-ld/provisioning/listProvisionedDevices-test.js +42 -54
- package/test/unit/ngsi-ld/provisioning/provisionDeviceMultientity-test.js +2 -1
- package/test/unit/ngsi-ld/provisioning/removeProvisionedDevice-test.js +4 -4
- package/test/unit/ngsi-ld/provisioning/singleConfigurationMode-test.js +3 -5
- package/test/unit/ngsi-ld/provisioning/updateProvisionedDevices-test.js +12 -18
- package/test/unit/ngsi-mixed/provisioning/ngsi-versioning-test.js +3 -1
- package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin17.json +1 -1
- package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin32.json +16 -0
- package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin33.json +22 -0
- package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin34.json +12 -0
- package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin15.json +25 -0
- package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin16.json +25 -0
- package/test/unit/ngsiv2/expressions/expressionBasedTransformations-test.js +4 -4
- package/test/unit/ngsiv2/expressions/jexlBasedTransformations-test.js +500 -0
- package/test/unit/ngsiv2/general/contextBrokerOAuthSecurityAccess-test.js +3 -2
- package/test/unit/ngsiv2/general/deviceService-test.js +9 -8
- package/test/unit/ngsiv2/general/https-support-test.js +2 -1
- package/test/unit/ngsiv2/general/iotam-autoregistration-test.js +2 -1
- package/test/unit/ngsiv2/general/startup-test.js +1 -0
- package/test/unit/ngsiv2/lazyAndCommands/active-devices-attribute-update-test.js +3 -1
- package/test/unit/ngsiv2/lazyAndCommands/command-test.js +2 -1
- package/test/unit/ngsiv2/lazyAndCommands/lazy-devices-test.js +14 -18
- package/test/unit/ngsiv2/lazyAndCommands/polling-commands-test.js +3 -1
- package/test/unit/ngsiv2/ngsiService/active-devices-test.js +1 -0
- package/test/unit/ngsiv2/ngsiService/queryDeviceInformationInCb-test.js +0 -1
- package/test/unit/ngsiv2/ngsiService/subscriptions-test.js +4 -3
- package/test/unit/ngsiv2/plugins/bidirectional-plugin_test.js +3 -2
- package/test/unit/ngsiv2/plugins/multientity-plugin_test.js +210 -0
- package/test/unit/ngsiv2/plugins/translation-inPlugins_test.js +1 -1
- package/test/unit/ngsiv2/provisioning/device-group-api-test.js +3 -2
- package/test/unit/ngsiv2/provisioning/device-group-utils-test.js +2 -1
- package/test/unit/ngsiv2/provisioning/device-provisioning-api_test.js +2 -1
- package/test/unit/ngsiv2/provisioning/device-registration_test.js +3 -2
- package/test/unit/ngsiv2/provisioning/device-update-registration_test.js +4 -3
- package/test/unit/ngsiv2/provisioning/listProvisionedDevices-test.js +42 -53
- package/test/unit/ngsiv2/provisioning/provisionDeviceMultientity-test.js +2 -1
- package/test/unit/ngsiv2/provisioning/removeProvisionedDevice-test.js +4 -4
- package/test/unit/ngsiv2/provisioning/singleConfigurationMode-test.js +3 -4
- package/test/unit/ngsiv2/provisioning/updateProvisionedDevices-test.js +13 -19
- package/test/unit/plugins/capture-configuration-inPlugins_test.js +3 -1
- package/test/unit/plugins/capture-provision-inPlugins_test.js +2 -1
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin20.json +0 -25
|
@@ -27,10 +27,11 @@
|
|
|
27
27
|
|
|
28
28
|
const iotAgentLib = require('../../../../lib/fiware-iotagent-lib');
|
|
29
29
|
const utils = require('../../../tools/utils');
|
|
30
|
+
const request = utils.request;
|
|
30
31
|
const should = require('should');
|
|
31
32
|
const nock = require('nock');
|
|
32
33
|
const async = require('async');
|
|
33
|
-
|
|
34
|
+
|
|
34
35
|
let contextBrokerMock;
|
|
35
36
|
const iotAgentConfig = {
|
|
36
37
|
logLevel: 'FATAL',
|
|
@@ -144,12 +145,11 @@ describe('NGSI-v2 - Device provisioning API: List provisioned devices', function
|
|
|
144
145
|
|
|
145
146
|
it('should return all the provisioned devices', function (done) {
|
|
146
147
|
request(options, function (error, response, body) {
|
|
147
|
-
const parsedBody = JSON.parse(body);
|
|
148
148
|
should.not.exist(error);
|
|
149
|
-
should.exist(
|
|
149
|
+
should.exist(body.devices);
|
|
150
150
|
response.statusCode.should.equal(200);
|
|
151
|
-
|
|
152
|
-
|
|
151
|
+
body.devices.length.should.equal(3);
|
|
152
|
+
body.count.should.equal(3);
|
|
153
153
|
done();
|
|
154
154
|
});
|
|
155
155
|
});
|
|
@@ -158,22 +158,20 @@ describe('NGSI-v2 - Device provisioning API: List provisioned devices', function
|
|
|
158
158
|
/* jshint camelcase:false */
|
|
159
159
|
|
|
160
160
|
request(options, function (error, response, body) {
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
should.exist(parsedBody.devices[0].attributes);
|
|
164
|
-
parsedBody.devices[0].attributes.length.should.equal(1);
|
|
161
|
+
should.exist(body.devices[0].attributes);
|
|
162
|
+
body.devices[0].attributes.length.should.equal(1);
|
|
165
163
|
|
|
166
|
-
should.exist(
|
|
167
|
-
|
|
164
|
+
should.exist(body.devices[0].device_id);
|
|
165
|
+
body.devices[0].device_id.should.equal('Light1');
|
|
168
166
|
|
|
169
|
-
should.exist(
|
|
170
|
-
|
|
167
|
+
should.exist(body.devices[0].entity_name);
|
|
168
|
+
body.devices[0].entity_name.should.equal('TheFirstLight');
|
|
171
169
|
|
|
172
|
-
should.exist(
|
|
173
|
-
|
|
170
|
+
should.exist(body.devices[0].protocol);
|
|
171
|
+
body.devices[0].protocol.should.equal('GENERIC_PROTO');
|
|
174
172
|
|
|
175
|
-
should.exist(
|
|
176
|
-
|
|
173
|
+
should.exist(body.devices[0].static_attributes);
|
|
174
|
+
body.devices[0].static_attributes.length.should.equal(1);
|
|
177
175
|
|
|
178
176
|
done();
|
|
179
177
|
});
|
|
@@ -181,16 +179,14 @@ describe('NGSI-v2 - Device provisioning API: List provisioned devices', function
|
|
|
181
179
|
|
|
182
180
|
it('should return all the plugin attributes', function (done) {
|
|
183
181
|
request(options, function (error, response, body) {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
should.exist(
|
|
187
|
-
should.exist(
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
parsedBody.devices[2].attributes[1].expression.should.equal('${@humidity * 20}');
|
|
193
|
-
parsedBody.devices[2].attributes[2].reverse.length.should.equal(2);
|
|
182
|
+
should.exist(body.devices[2].attributes[0].entity_name);
|
|
183
|
+
should.exist(body.devices[2].attributes[0].entity_type);
|
|
184
|
+
should.exist(body.devices[2].attributes[1].expression);
|
|
185
|
+
should.exist(body.devices[2].attributes[2].reverse);
|
|
186
|
+
body.devices[2].attributes[0].entity_name.should.equal('Higro2000');
|
|
187
|
+
body.devices[2].attributes[0].entity_type.should.equal('Higrometer');
|
|
188
|
+
body.devices[2].attributes[1].expression.should.equal('${@humidity * 20}');
|
|
189
|
+
body.devices[2].attributes[2].reverse.length.should.equal(2);
|
|
194
190
|
done();
|
|
195
191
|
});
|
|
196
192
|
});
|
|
@@ -210,9 +206,8 @@ describe('NGSI-v2 - Device provisioning API: List provisioned devices', function
|
|
|
210
206
|
should.not.exist(error);
|
|
211
207
|
response.statusCode.should.equal(200);
|
|
212
208
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
parsedBody.device_id.should.equal('Light1');
|
|
209
|
+
body.entity_name.should.equal('TheFirstLight');
|
|
210
|
+
body.device_id.should.equal('Light1');
|
|
216
211
|
done();
|
|
217
212
|
});
|
|
218
213
|
});
|
|
@@ -221,11 +216,10 @@ describe('NGSI-v2 - Device provisioning API: List provisioned devices', function
|
|
|
221
216
|
request(options, function (error, response, body) {
|
|
222
217
|
should.not.exist(error);
|
|
223
218
|
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
parsedBody.attributes[0].type.should.equal('string');
|
|
219
|
+
should.exist(body.attributes[0].object_id);
|
|
220
|
+
body.attributes[0].object_id.should.equal('attr_name');
|
|
221
|
+
body.attributes[0].name.should.equal('attr_name');
|
|
222
|
+
body.attributes[0].type.should.equal('string');
|
|
229
223
|
done();
|
|
230
224
|
});
|
|
231
225
|
});
|
|
@@ -244,15 +238,14 @@ describe('NGSI-v2 - Device provisioning API: List provisioned devices', function
|
|
|
244
238
|
request(options, function (error, response, body) {
|
|
245
239
|
should.not.exist(error);
|
|
246
240
|
|
|
247
|
-
|
|
248
|
-
should.exist(
|
|
249
|
-
should.exist(
|
|
250
|
-
should.exist(
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
parsedBody.attributes[2].reverse.length.should.equal(2);
|
|
241
|
+
should.exist(body.attributes[0].entity_name);
|
|
242
|
+
should.exist(body.attributes[0].entity_type);
|
|
243
|
+
should.exist(body.attributes[1].expression);
|
|
244
|
+
should.exist(body.attributes[2].reverse);
|
|
245
|
+
body.attributes[0].entity_name.should.equal('Higro2000');
|
|
246
|
+
body.attributes[0].entity_type.should.equal('Higrometer');
|
|
247
|
+
body.attributes[1].expression.should.equal('${@humidity * 20}');
|
|
248
|
+
body.attributes[2].reverse.length.should.equal(2);
|
|
256
249
|
done();
|
|
257
250
|
});
|
|
258
251
|
});
|
|
@@ -329,18 +322,16 @@ describe('NGSI-v2 - Device provisioning API: List provisioned devices', function
|
|
|
329
322
|
|
|
330
323
|
it('should return just 3 devices', function (done) {
|
|
331
324
|
request(options, function (error, response, body) {
|
|
332
|
-
const parsedBody = JSON.parse(body);
|
|
333
325
|
should.not.exist(error);
|
|
334
|
-
|
|
326
|
+
body.devices.length.should.equal(3);
|
|
335
327
|
done();
|
|
336
328
|
});
|
|
337
329
|
});
|
|
338
330
|
|
|
339
331
|
it('should return a count with the complete number of devices', function (done) {
|
|
340
332
|
request(options, function (error, response, body) {
|
|
341
|
-
const parsedBody = JSON.parse(body);
|
|
342
333
|
should.not.exist(error);
|
|
343
|
-
|
|
334
|
+
body.count.should.equal(10);
|
|
344
335
|
done();
|
|
345
336
|
});
|
|
346
337
|
});
|
|
@@ -394,11 +385,10 @@ describe('NGSI-v2 - Device provisioning API: List provisioned devices', function
|
|
|
394
385
|
|
|
395
386
|
it('should skip the first 3 devices', function (done) {
|
|
396
387
|
request(options, function (error, response, body) {
|
|
397
|
-
const parsedBody = JSON.parse(body);
|
|
398
388
|
should.not.exist(error);
|
|
399
389
|
|
|
400
|
-
for (let i = 0; i <
|
|
401
|
-
['Light1_0', 'Light1_1', 'Light1_2'].indexOf(
|
|
390
|
+
for (let i = 0; i < body.devices.length; i++) {
|
|
391
|
+
['Light1_0', 'Light1_1', 'Light1_2'].indexOf(body.devices[i].id).should.equal(-1);
|
|
402
392
|
}
|
|
403
393
|
|
|
404
394
|
done();
|
|
@@ -440,10 +430,9 @@ describe('NGSI-v2 - Device provisioning API: List provisioned devices', function
|
|
|
440
430
|
|
|
441
431
|
it('should return just the ones in the selected service', function (done) {
|
|
442
432
|
request(options, function (error, response, body) {
|
|
443
|
-
const parsedBody = JSON.parse(body);
|
|
444
433
|
should.not.exist(error);
|
|
445
434
|
response.statusCode.should.equal(200);
|
|
446
|
-
|
|
435
|
+
body.devices.length.should.equal(3);
|
|
447
436
|
done();
|
|
448
437
|
});
|
|
449
438
|
});
|
|
@@ -27,9 +27,10 @@
|
|
|
27
27
|
|
|
28
28
|
const iotAgentLib = require('../../../../lib/fiware-iotagent-lib');
|
|
29
29
|
const utils = require('../../../tools/utils');
|
|
30
|
+
const request = utils.request;
|
|
30
31
|
const should = require('should');
|
|
31
32
|
const nock = require('nock');
|
|
32
|
-
|
|
33
|
+
|
|
33
34
|
let contextBrokerMock;
|
|
34
35
|
const iotAgentConfig = {
|
|
35
36
|
logLevel: 'FATAL',
|
|
@@ -27,10 +27,11 @@
|
|
|
27
27
|
|
|
28
28
|
const iotAgentLib = require('../../../../lib/fiware-iotagent-lib');
|
|
29
29
|
const utils = require('../../../tools/utils');
|
|
30
|
+
const request = utils.request;
|
|
30
31
|
const should = require('should');
|
|
31
32
|
const nock = require('nock');
|
|
32
33
|
const async = require('async');
|
|
33
|
-
|
|
34
|
+
|
|
34
35
|
let contextBrokerMock;
|
|
35
36
|
const iotAgentConfig = {
|
|
36
37
|
logLevel: 'FATAL',
|
|
@@ -119,7 +120,7 @@ describe('NGSI-v2 - Device provisioning API: Remove provisioned devices', functi
|
|
|
119
120
|
contextBrokerMock
|
|
120
121
|
.matchHeader('fiware-service', 'smartgondor')
|
|
121
122
|
.matchHeader('fiware-servicepath', '/gardens')
|
|
122
|
-
.delete('/v2/registrations/6319a7f5254b05844116584d')
|
|
123
|
+
.delete('/v2/registrations/6319a7f5254b05844116584d', '')
|
|
123
124
|
.reply(204);
|
|
124
125
|
|
|
125
126
|
// This mock does not check the payload since the aim of the test is not to verify
|
|
@@ -179,8 +180,7 @@ describe('NGSI-v2 - Device provisioning API: Remove provisioned devices', functi
|
|
|
179
180
|
};
|
|
180
181
|
|
|
181
182
|
request(options, function (error, response, body) {
|
|
182
|
-
|
|
183
|
-
parsedBody.devices.length.should.equal(2);
|
|
183
|
+
body.devices.length.should.equal(2);
|
|
184
184
|
done();
|
|
185
185
|
});
|
|
186
186
|
});
|
|
@@ -27,10 +27,11 @@
|
|
|
27
27
|
|
|
28
28
|
const iotAgentLib = require('../../../../lib/fiware-iotagent-lib');
|
|
29
29
|
const utils = require('../../../tools/utils');
|
|
30
|
+
const request = utils.request;
|
|
30
31
|
const should = require('should');
|
|
31
32
|
const nock = require('nock');
|
|
32
33
|
let contextBrokerMock;
|
|
33
|
-
|
|
34
|
+
|
|
34
35
|
const iotAgentConfig = {
|
|
35
36
|
logLevel: 'FATAL',
|
|
36
37
|
contextBroker: {
|
|
@@ -264,9 +265,7 @@ describe('NGSI-v2 - Provisioning API: Single service mode', function () {
|
|
|
264
265
|
it('should be provisioned with the default type', function (done) {
|
|
265
266
|
request(deviceCreation, function (error, response, body) {
|
|
266
267
|
request(getDevice, function (error, response, body) {
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
parsedBody.entity_type.should.equal('SensorMachine');
|
|
268
|
+
body.entity_type.should.equal('SensorMachine');
|
|
270
269
|
|
|
271
270
|
done();
|
|
272
271
|
});
|
|
@@ -27,10 +27,11 @@
|
|
|
27
27
|
|
|
28
28
|
const iotAgentLib = require('../../../../lib/fiware-iotagent-lib');
|
|
29
29
|
const utils = require('../../../tools/utils');
|
|
30
|
+
const request = utils.request;
|
|
30
31
|
const should = require('should');
|
|
31
32
|
const nock = require('nock');
|
|
32
33
|
const async = require('async');
|
|
33
|
-
|
|
34
|
+
|
|
34
35
|
let contextBrokerMock;
|
|
35
36
|
const iotAgentConfig = {
|
|
36
37
|
logLevel: 'FATAL',
|
|
@@ -133,7 +134,7 @@ describe('NGSI-v2 - Device provisioning API: Update provisioned devices', functi
|
|
|
133
134
|
contextBrokerMock
|
|
134
135
|
.matchHeader('fiware-service', 'smartgondor')
|
|
135
136
|
.matchHeader('fiware-servicepath', '/gardens')
|
|
136
|
-
.delete('/v2/registrations/6719a7f5254b058441165849')
|
|
137
|
+
.delete('/v2/registrations/6719a7f5254b058441165849', '')
|
|
137
138
|
.reply(204);
|
|
138
139
|
|
|
139
140
|
const nockBody3 = utils.readExampleFile(
|
|
@@ -191,7 +192,7 @@ describe('NGSI-v2 - Device provisioning API: Update provisioned devices', functi
|
|
|
191
192
|
contextBrokerMock
|
|
192
193
|
.matchHeader('fiware-service', 'smartgondor')
|
|
193
194
|
.matchHeader('fiware-servicepath', '/gardens')
|
|
194
|
-
.delete('/v2/registrations/6319a7f5254b05844116584d')
|
|
195
|
+
.delete('/v2/registrations/6319a7f5254b05844116584d', '')
|
|
195
196
|
.reply(204);
|
|
196
197
|
|
|
197
198
|
contextBrokerMock
|
|
@@ -239,9 +240,8 @@ describe('NGSI-v2 - Device provisioning API: Update provisioned devices', functi
|
|
|
239
240
|
request(options, function (error, response, body) {
|
|
240
241
|
/* jshint camelcase:false */
|
|
241
242
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
parsedBody.timezone.should.equal('Europe/Madrid');
|
|
243
|
+
body.entity_name.should.equal('ANewLightName');
|
|
244
|
+
body.timezone.should.equal('Europe/Madrid');
|
|
245
245
|
done();
|
|
246
246
|
});
|
|
247
247
|
});
|
|
@@ -261,9 +261,8 @@ describe('NGSI-v2 - Device provisioning API: Update provisioned devices', functi
|
|
|
261
261
|
request(options, function (error, response, body) {
|
|
262
262
|
/* jshint camelcase:false */
|
|
263
263
|
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
parsedBody.service.should.equal('smartgondor');
|
|
264
|
+
body.entity_type.should.equal('TheLightType');
|
|
265
|
+
body.service.should.equal('smartgondor');
|
|
267
266
|
done();
|
|
268
267
|
});
|
|
269
268
|
});
|
|
@@ -370,10 +369,8 @@ describe('NGSI-v2 - Device provisioning API: Update provisioned devices', functi
|
|
|
370
369
|
should.not.exist(error);
|
|
371
370
|
response.statusCode.should.equal(200);
|
|
372
371
|
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
parsedBody.attributes.length.should.equal(1);
|
|
376
|
-
parsedBody.attributes[0].name.should.equal('newAttribute');
|
|
372
|
+
body.attributes.length.should.equal(1);
|
|
373
|
+
body.attributes[0].name.should.equal('newAttribute');
|
|
377
374
|
done();
|
|
378
375
|
});
|
|
379
376
|
});
|
|
@@ -440,10 +437,8 @@ describe('NGSI-v2 - Device provisioning API: Update provisioned devices', functi
|
|
|
440
437
|
should.not.exist(error);
|
|
441
438
|
response.statusCode.should.equal(200);
|
|
442
439
|
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
parsedBody.static_attributes.length.should.equal(3);
|
|
446
|
-
parsedBody.static_attributes[0].name.should.equal('cellID');
|
|
440
|
+
body.static_attributes.length.should.equal(3);
|
|
441
|
+
body.static_attributes[0].name.should.equal('cellID');
|
|
447
442
|
done();
|
|
448
443
|
});
|
|
449
444
|
});
|
|
@@ -493,8 +488,7 @@ describe('NGSI-v2 - Device provisioning API: Update provisioned devices', functi
|
|
|
493
488
|
should.not.exist(error);
|
|
494
489
|
response.statusCode.should.equal(200);
|
|
495
490
|
|
|
496
|
-
|
|
497
|
-
parsedBody.explicitAttrs.should.equal(false);
|
|
491
|
+
body.explicitAttrs.should.equal(false);
|
|
498
492
|
done();
|
|
499
493
|
});
|
|
500
494
|
});
|
|
@@ -24,9 +24,11 @@
|
|
|
24
24
|
/* eslint-disable no-unused-vars */
|
|
25
25
|
|
|
26
26
|
const iotAgentLib = require('../../../lib/fiware-iotagent-lib');
|
|
27
|
+
const utils = require('../../tools/utils');
|
|
28
|
+
const request = utils.request;
|
|
27
29
|
const should = require('should');
|
|
28
30
|
const logger = require('logops');
|
|
29
|
-
|
|
31
|
+
|
|
30
32
|
const iotAgentConfig = {
|
|
31
33
|
contextBroker: {
|
|
32
34
|
host: '192.168.1.1',
|
|
@@ -25,10 +25,11 @@
|
|
|
25
25
|
|
|
26
26
|
const iotAgentLib = require('../../../lib/fiware-iotagent-lib');
|
|
27
27
|
const utils = require('../../tools/utils');
|
|
28
|
+
const request = utils.request;
|
|
28
29
|
const should = require('should');
|
|
29
30
|
const logger = require('logops');
|
|
30
31
|
const nock = require('nock');
|
|
31
|
-
|
|
32
|
+
|
|
32
33
|
let contextBrokerMock;
|
|
33
34
|
const iotAgentConfig = {
|
|
34
35
|
contextBroker: {
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"@context": "http://context.json-ld",
|
|
4
|
-
"longitude": {
|
|
5
|
-
"type": "Property",
|
|
6
|
-
"value": 0.44
|
|
7
|
-
},
|
|
8
|
-
"latitude": {
|
|
9
|
-
"type": "Property",
|
|
10
|
-
"value": 10
|
|
11
|
-
},
|
|
12
|
-
"location": {
|
|
13
|
-
"type": "GeoProperty",
|
|
14
|
-
"value": {
|
|
15
|
-
"type": "Point",
|
|
16
|
-
"coordinates": [
|
|
17
|
-
0.44,
|
|
18
|
-
10
|
|
19
|
-
]
|
|
20
|
-
}
|
|
21
|
-
},
|
|
22
|
-
"id": "urn:ngsi-ld:WeatherStation:ws1",
|
|
23
|
-
"type": "WeatherStation"
|
|
24
|
-
}
|
|
25
|
-
]
|