iotagent-node-lib 2.17.0 → 2.20.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 +17 -2
- package/.nyc_output/76bc24ff-5fac-4b5a-997d-de2799342eb0.json +1 -0
- package/.nyc_output/processinfo/76bc24ff-5fac-4b5a-997d-de2799342eb0.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -1
- package/CHANGES_NEXT_RELEASE +1 -0
- package/README.md +3 -54
- package/doc/advanced-topics.md +121 -85
- package/doc/api.md +52 -52
- package/doc/development.md +13 -6
- package/doc/expressionLanguage.md +514 -312
- 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 +9 -4
- package/lib/commonConfig.js +1 -14
- package/lib/errors.js +0 -16
- package/lib/fiware-iotagent-lib.js +4 -2
- package/lib/jexlTranformsMap.js +13 -2
- package/lib/model/Device.js +4 -1
- package/lib/model/Group.js +19 -1
- package/lib/plugins/attributeAlias.js +6 -13
- package/lib/plugins/bidirectionalData.js +1 -21
- package/lib/plugins/expressionParser.js +7 -6
- package/lib/plugins/expressionPlugin.js +11 -25
- package/lib/plugins/jexlParser.js +8 -4
- package/lib/plugins/multiEntity.js +54 -145
- package/lib/plugins/pluginUtils.js +12 -48
- package/lib/plugins/timestampProcessPlugin.js +1 -46
- package/lib/request-shim.js +111 -0
- package/lib/services/common/domain.js +6 -2
- 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 +2 -0
- package/lib/services/devices/deviceService.js +2 -5
- package/lib/services/devices/devices-NGSI-LD.js +1 -1
- package/lib/services/devices/devices-NGSI-v2.js +4 -8
- package/lib/services/devices/registrationUtils.js +1 -134
- package/lib/services/ngsi/entities-NGSI-LD.js +205 -124
- package/lib/services/ngsi/entities-NGSI-v2.js +109 -15
- package/lib/services/ngsi/ngsiService.js +4 -6
- package/lib/services/ngsi/ngsiUtils.js +0 -36
- package/lib/services/ngsi/subscriptionService.js +1 -4
- package/lib/services/northBound/contextServer-NGSI-LD.js +7 -2
- package/lib/services/northBound/contextServer-NGSI-v2.js +24 -12
- package/lib/services/northBound/contextServer.js +1 -4
- package/lib/services/northBound/contextServerUtils.js +0 -81
- package/lib/services/northBound/deviceProvisioningServer.js +31 -7
- package/lib/services/northBound/northboundServer.js +2 -0
- package/lib/services/northBound/restUtils.js +1 -38
- package/lib/templates/updateDevice.json +4 -0
- package/lib/templates/updateDeviceLax.json +4 -0
- package/package.json +10 -16
- package/test/tools/utils.js +2 -0
- package/test/unit/examples/groupProvisioningRequests/multipleGroupsCreation.json +1 -1
- package/test/unit/expressions/jexlExpression-test.js +44 -5
- package/test/unit/general/contextBrokerKeystoneSecurityAccess-test.js +19 -66
- package/test/unit/general/deviceService-test.js +11 -27
- package/test/unit/general/loglevel-api_test.js +6 -11
- package/test/unit/general/startup-test.js +2 -1
- package/test/unit/memoryRegistry/deviceRegistryMemory_test.js +8 -16
- package/test/unit/mongodb/mongodb-group-registry-test.js +1 -1
- package/test/unit/mongodb/mongodb-registry-test.js +38 -114
- package/test/unit/ngsi-ld/examples/contextRequests/createMinimumProvisionedDevice.json +0 -7
- package/test/unit/ngsi-ld/examples/contextRequests/createProvisionedDevice.json +0 -7
- package/test/unit/ngsi-ld/examples/contextRequests/createProvisionedDeviceMultientity.json +0 -7
- package/test/unit/ngsi-ld/examples/contextRequests/createProvisionedDeviceWithGroupAndStatic.json +0 -14
- package/test/unit/ngsi-ld/examples/contextRequests/createProvisionedDeviceWithGroupAndStatic2.json +0 -14
- package/test/unit/ngsi-ld/examples/contextRequests/createProvisionedDeviceWithGroupAndStatic3.json +1 -15
- package/test/unit/ngsi-ld/examples/contextRequests/createTimeInstantMinimumDevice.json +0 -7
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextAliasPlugin6.json +0 -7
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextAutocast5.json +0 -7
- 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/updateContextExpressionPlugin16.json +0 -7
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin17.json +0 -7
- 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/updateContextExpressionPlugin5.json +0 -7
- 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/updateContextGeoproperties3.json +0 -7
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextMultientityPlugin15.json +25 -0
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextMultientityTimestampPlugin1.json +6 -6
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextMultientityTimestampPlugin2.json +3 -3
- package/test/unit/ngsi-ld/examples/contextRequests/updateProvisionActiveAttributes1.json +0 -7
- package/test/unit/ngsi-ld/examples/contextRequests/updateProvisionCommands1.json +0 -7
- package/test/unit/ngsi-ld/examples/contextRequests/updateProvisionDeviceStatic.json +0 -7
- package/test/unit/ngsi-ld/examples/contextRequests/updateProvisionMinimumDevice.json +0 -7
- 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/contextAvailabilityRequests/registerIoTAgent3.json +19 -0
- package/test/unit/ngsiv2/examples/contextAvailabilityRequests/registerIoTAgent5.json +19 -0
- package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin17.json +1 -1
- package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin29.json +22 -0
- package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin30.json +6 -0
- package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin31.json +18 -0
- 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/updateContextMiddleware1.json +10 -0
- package/test/unit/ngsiv2/examples/contextRequests/updateContextMiddleware2.json +10 -0
- package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin11.json +13 -0
- package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin12.json +33 -0
- package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin13.json +33 -0
- package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin14.json +33 -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/examples/contextRequests/updateContextMultientityTimestampPlugin1.json +6 -6
- package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityTimestampPlugin2.json +3 -3
- package/test/unit/{examples → ngsiv2/examples}/contextRequests/updateProvisionDevice.json +0 -0
- package/test/unit/ngsiv2/expressions/expressionBasedTransformations-test.js +37 -4
- package/test/unit/ngsiv2/expressions/jexlBasedTransformations-test.js +598 -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 +287 -15
- package/test/unit/ngsiv2/lazyAndCommands/polling-commands-test.js +3 -1
- package/test/unit/ngsiv2/ngsiService/active-devices-test.js +88 -0
- package/test/unit/{ngsiService → ngsiv2/ngsiService}/queryDeviceInformationInCb-test.js +20 -49
- 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 +526 -0
- package/test/unit/{plugins → ngsiv2/plugins}/translation-inPlugins_test.js +21 -21
- package/test/unit/{provisioning → ngsiv2/provisioning}/device-group-api-test.js +19 -50
- package/test/unit/{provisioning/device-group-utils_test.js → ngsiv2/provisioning/device-group-utils-test.js} +5 -4
- 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 +14 -20
- package/test/unit/plugins/capture-configuration-inPlugins_test.js +3 -1
- package/test/unit/plugins/capture-provision-inPlugins_test.js +8 -18
- package/.eslintcache +0 -1
- package/.nyc_output/dca24ca1-851e-490c-9d34-8d13b3330297.json +0 -1
- package/.nyc_output/processinfo/dca24ca1-851e-490c-9d34-8d13b3330297.json +0 -1
- package/bin/agentConsole.js +0 -257
- package/bin/iotAgentTester.js +0 -44
- package/lib/command/commandLine.js +0 -918
- package/lib/command/migration.js +0 -176
- package/lib/services/devices/devices-NGSI-v1.js +0 -310
- package/lib/services/ngsi/entities-NGSI-v1.js +0 -299
- package/lib/services/ngsi/subscription-NGSI-v1.js +0 -234
- package/lib/services/northBound/contextServer-NGSI-v1.js +0 -526
- package/lib/templates/notificationTemplateNgsi1.json +0 -75
- package/lib/templates/updateContextNgsi1.json +0 -50
- package/test/unit/examples/contextAvailabilityRequests/registerIoTAgent1.json +0 -21
- package/test/unit/examples/contextAvailabilityRequests/registerIoTAgent2.json +0 -21
- package/test/unit/examples/contextAvailabilityRequests/registerIoTAgent3.json +0 -25
- package/test/unit/examples/contextAvailabilityRequests/registerIoTAgent4.json +0 -22
- package/test/unit/examples/contextAvailabilityRequests/registerIoTAgentAttributeUpdates.json +0 -16
- package/test/unit/examples/contextAvailabilityRequests/registerIoTAgentCommands.json +0 -21
- package/test/unit/examples/contextAvailabilityRequests/registerNewDevice1.json +0 -21
- package/test/unit/examples/contextAvailabilityRequests/registerNewDevice2.json +0 -21
- package/test/unit/examples/contextAvailabilityRequests/registerProvisionedDevice.json +0 -25
- package/test/unit/examples/contextAvailabilityRequests/registerProvisionedDevice2.json +0 -21
- package/test/unit/examples/contextAvailabilityRequests/registerProvisionedDeviceWithGroup.json +0 -33
- package/test/unit/examples/contextAvailabilityRequests/registerProvisionedDeviceWithGroup2.json +0 -33
- package/test/unit/examples/contextAvailabilityRequests/unregisterDevice1.json +0 -22
- package/test/unit/examples/contextAvailabilityRequests/unregisterDevice3.json +0 -26
- package/test/unit/examples/contextAvailabilityRequests/unregisterProvisionedDevice.json +0 -26
- package/test/unit/examples/contextAvailabilityRequests/updateCommands1.json +0 -22
- package/test/unit/examples/contextAvailabilityRequests/updateIoTAgent1.json +0 -22
- package/test/unit/examples/contextAvailabilityRequests/updateIoTAgent2.json +0 -26
- package/test/unit/examples/contextAvailabilityRequests/updateIoTAgent3.json +0 -26
- package/test/unit/examples/contextAvailabilityResponses/registerIoTAgent1Failed.json +0 -8
- package/test/unit/examples/contextAvailabilityResponses/registerIoTAgent1Success.json +0 -4
- package/test/unit/examples/contextAvailabilityResponses/registerNewDevice1Success.json +0 -4
- package/test/unit/examples/contextAvailabilityResponses/registerNewDevice2Success.json +0 -4
- package/test/unit/examples/contextAvailabilityResponses/registerProvisionedDeviceSuccess.json +0 -4
- package/test/unit/examples/contextAvailabilityResponses/unregisterDevice1Failed.json +0 -8
- package/test/unit/examples/contextAvailabilityResponses/unregisterDevice1Success.json +0 -4
- package/test/unit/examples/contextAvailabilityResponses/updateCommands1Success.json +0 -4
- package/test/unit/examples/contextAvailabilityResponses/updateIoTAgent1Success.json +0 -6
- package/test/unit/examples/contextProviderResponses/queryInformationResponse.json +0 -22
- package/test/unit/examples/contextProviderResponses/queryInformationResponseEmptyAttributes.json +0 -22
- package/test/unit/examples/contextProviderResponses/queryInformationStaticAttributesResponse.json +0 -27
- package/test/unit/examples/contextProviderResponses/updateInformationResponse.json +0 -22
- package/test/unit/examples/contextProviderResponses/updateInformationResponse2.json +0 -22
- package/test/unit/examples/contextRequests/contextSubscriptionRequest.json +0 -20
- package/test/unit/examples/contextRequests/contextSubscriptionRequest2.json +0 -20
- package/test/unit/examples/contextRequests/createBidirectionalDevice.json +0 -17
- package/test/unit/examples/contextRequests/createDatetimeProvisionedDevice.json +0 -17
- package/test/unit/examples/contextRequests/createGeopointProvisionedDevice.json +0 -17
- package/test/unit/examples/contextRequests/createMinimumProvisionedDevice.json +0 -17
- package/test/unit/examples/contextRequests/createProvisionedDevice.json +0 -32
- package/test/unit/examples/contextRequests/createProvisionedDeviceMultientity.json +0 -32
- package/test/unit/examples/contextRequests/createProvisionedDeviceWithGroup.json +0 -47
- package/test/unit/examples/contextRequests/createProvisionedDeviceWithGroupAndStatic.json +0 -52
- package/test/unit/examples/contextRequests/createProvisionedDeviceWithGroupAndStatic2.json +0 -52
- package/test/unit/examples/contextRequests/createTimeinstantDevice.json +0 -17
- package/test/unit/examples/contextRequests/queryContext1.json +0 -13
- package/test/unit/examples/contextRequests/queryContext2.json +0 -13
- package/test/unit/examples/contextRequests/queryContextAliasPlugin1.json +0 -10
- package/test/unit/examples/contextRequests/queryContextCompressTimestamp1.json +0 -13
- package/test/unit/examples/contextRequests/updateActiveAttributes.json +0 -32
- package/test/unit/examples/contextRequests/updateContext1.json +0 -22
- package/test/unit/examples/contextRequests/updateContext2.json +0 -22
- package/test/unit/examples/contextRequests/updateContext3.json +0 -17
- package/test/unit/examples/contextRequests/updateContext3WithStatic.json +0 -22
- package/test/unit/examples/contextRequests/updateContext4.json +0 -22
- package/test/unit/examples/contextRequests/updateContext5.json +0 -19
- package/test/unit/examples/contextRequests/updateContextAliasPlugin.json +0 -22
- package/test/unit/examples/contextRequests/updateContextAliasPlugin2.json +0 -17
- package/test/unit/examples/contextRequests/updateContextAppendMode.json +0 -22
- package/test/unit/examples/contextRequests/updateContextCommandError.json +0 -22
- package/test/unit/examples/contextRequests/updateContextCommandExpired.json +0 -22
- package/test/unit/examples/contextRequests/updateContextCommandFinish.json +0 -22
- package/test/unit/examples/contextRequests/updateContextCommandStatus.json +0 -17
- package/test/unit/examples/contextRequests/updateContextCompressTimestamp1.json +0 -22
- package/test/unit/examples/contextRequests/updateContextCompressTimestamp2.json +0 -29
- package/test/unit/examples/contextRequests/updateContextExpressionPlugin1.json +0 -17
- package/test/unit/examples/contextRequests/updateContextExpressionPlugin10.json +0 -17
- package/test/unit/examples/contextRequests/updateContextExpressionPlugin2.json +0 -27
- package/test/unit/examples/contextRequests/updateContextExpressionPlugin3.json +0 -17
- package/test/unit/examples/contextRequests/updateContextExpressionPlugin4.json +0 -17
- package/test/unit/examples/contextRequests/updateContextExpressionPlugin5.json +0 -27
- package/test/unit/examples/contextRequests/updateContextExpressionPlugin6.json +0 -17
- package/test/unit/examples/contextRequests/updateContextExpressionPlugin7.json +0 -27
- package/test/unit/examples/contextRequests/updateContextExpressionPlugin8.json +0 -22
- package/test/unit/examples/contextRequests/updateContextExpressionPlugin9.json +0 -27
- package/test/unit/examples/contextRequests/updateContextMiddleware1.json +0 -22
- package/test/unit/examples/contextRequests/updateContextMultiEntityPlugin3.json +0 -35
- package/test/unit/examples/contextRequests/updateContextMultientityPlugin1.json +0 -30
- package/test/unit/examples/contextRequests/updateContextMultientityPlugin2.json +0 -30
- package/test/unit/examples/contextRequests/updateContextProcessTimestamp1.json +0 -29
- package/test/unit/examples/contextRequests/updateContextStaticAttributes.json +0 -22
- package/test/unit/examples/contextRequests/updateContextTimestamp.json +0 -41
- package/test/unit/examples/contextRequests/updateContextTimestampOverride.json +0 -22
- package/test/unit/examples/contextRequests/updateContextTimestampOverrideWithoutMilis.json +0 -22
- package/test/unit/examples/contextRequests/updateContextTimestampTimezone.json +0 -41
- package/test/unit/examples/contextRequests/updateProvisionActiveAttributes1.json +0 -17
- package/test/unit/examples/contextRequests/updateProvisionCommands1.json +0 -27
- package/test/unit/examples/contextRequests/updateProvisionDeviceStatic.json +0 -38
- package/test/unit/examples/contextRequests/updateProvisionMinimumDevice.json +0 -17
- package/test/unit/examples/contextResponses/contextSubscriptionRequest2Success.json +0 -7
- package/test/unit/examples/contextResponses/contextSubscriptionRequestSuccess.json +0 -7
- package/test/unit/examples/contextResponses/createBidirectionalDeviceSuccess.json +0 -22
- package/test/unit/examples/contextResponses/createDatetimeProvisionedDeviceSuccess.json +0 -22
- package/test/unit/examples/contextResponses/createGeopointProvisionedDeviceSuccess.json +0 -22
- package/test/unit/examples/contextResponses/createProvisionedDeviceSuccess.json +0 -22
- package/test/unit/examples/contextResponses/createTimeinstantSuccess.json +0 -22
- package/test/unit/examples/contextResponses/queryContext1Success.json +0 -27
- package/test/unit/examples/contextResponses/queryContext2Error.json +0 -7
- package/test/unit/examples/contextResponses/queryContext2UnknownError.json +0 -6
- package/test/unit/examples/contextResponses/queryContext3Error.json +0 -34
- package/test/unit/examples/contextResponses/queryContextAliasPlugin1Success.json +0 -27
- package/test/unit/examples/contextResponses/queryContextCompressTimestamp1Success.json +0 -27
- package/test/unit/examples/contextResponses/updateActiveAttributesSuccess.json +0 -42
- package/test/unit/examples/contextResponses/updateContext1Failed.json +0 -7
- package/test/unit/examples/contextResponses/updateContext1Success.json +0 -27
- package/test/unit/examples/contextResponses/updateContext2Failed.json +0 -35
- package/test/unit/examples/contextResponses/updateContextAliasPlugin2Success.json +0 -27
- package/test/unit/examples/contextResponses/updateContextAliasPluginSuccess.json +0 -27
- package/test/unit/examples/contextResponses/updateContextCommandFinishSuccess.json +0 -27
- package/test/unit/examples/contextResponses/updateContextCommandStatusSuccess.json +0 -22
- package/test/unit/examples/contextResponses/updateContextCompressTimestamp1Success.json +0 -27
- package/test/unit/examples/contextResponses/updateContextCompressTimestamp2Success.json +0 -34
- package/test/unit/examples/contextResponses/updateContextEvents1Success.json +0 -27
- package/test/unit/examples/contextResponses/updateContextExpressionPlugin1Success.json +0 -22
- package/test/unit/examples/contextResponses/updateContextExpressionPlugin2Success.json +0 -22
- package/test/unit/examples/contextResponses/updateContextExpressionPlugin3Success.json +0 -22
- package/test/unit/examples/contextResponses/updateContextExpressionPlugin5Success.json +0 -32
- package/test/unit/examples/contextResponses/updateContextMultientityPlugin1Success.json +0 -40
- package/test/unit/examples/contextResponses/updateContextMultientityPlugin2Success.json +0 -40
- package/test/unit/examples/contextResponses/updateContextMultientityPlugin3Success.json +0 -40
- package/test/unit/examples/contextResponses/updateContextProcessTimestamp1Success.json +0 -27
- package/test/unit/examples/contextResponses/updateProvisionActiveAttributes1Success.json +0 -22
- package/test/unit/examples/contextResponses/updateProvisionCommands1Success.json +0 -32
- package/test/unit/examples/contextResponses/updateProvisionMinimumDeviceSuccess.json +0 -22
- package/test/unit/examples/subscriptionRequests/bidirectionalNotification.json +0 -24
- package/test/unit/examples/subscriptionRequests/bidirectionalSubscriptionRemove.json +0 -3
- package/test/unit/examples/subscriptionRequests/bidirectionalSubscriptionRequest.json +0 -22
- package/test/unit/examples/subscriptionRequests/errorNotification.json +0 -24
- package/test/unit/examples/subscriptionRequests/simpleNotification.json +0 -24
- package/test/unit/examples/subscriptionRequests/simpleSubscriptionRemove.json +0 -3
- package/test/unit/examples/subscriptionRequests/simpleSubscriptionRequest.json +0 -19
- package/test/unit/examples/subscriptionRequests/simpleSubscriptionRequest1.json +0 -19
- package/test/unit/examples/subscriptionResponses/bidirectionalSubscriptionSuccess.json +0 -6
- package/test/unit/examples/subscriptionResponses/simpleSubscriptionSuccess.json +0 -6
- package/test/unit/expressions/expressionBasedTransformations-test.js +0 -328
- package/test/unit/expressions/expressionCombinedTransformations-test.js +0 -306
- package/test/unit/expressions/jexlBasedTransformations-test.js +0 -334
- package/test/unit/general/contextBrokerOAuthSecurityAccess-test.js +0 -902
- package/test/unit/general/https-support-test.js +0 -286
- package/test/unit/general/iotam-autoregistration-test.js +0 -368
- package/test/unit/general/migration-test.js +0 -256
- package/test/unit/lazyAndCommands/active-devices-attribute-update-test.js +0 -168
- package/test/unit/lazyAndCommands/command-test.js +0 -341
- package/test/unit/lazyAndCommands/lazy-devices-test.js +0 -878
- package/test/unit/lazyAndCommands/polling-commands-test.js +0 -421
- package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin20.json +0 -25
- package/test/unit/ngsiService/active-devices-test.js +0 -692
- package/test/unit/ngsiService/staticAttributes-test.js +0 -148
- package/test/unit/ngsiService/subscriptions-test.js +0 -345
- package/test/unit/plugins/alias-plugin_test.js +0 -158
- package/test/unit/plugins/bidirectional-plugin_test.js +0 -564
- package/test/unit/plugins/compress-timestamp-plugin_test.js +0 -257
- package/test/unit/plugins/event-plugin_test.js +0 -119
- package/test/unit/plugins/multientity-plugin_test.js +0 -248
- package/test/unit/plugins/timestamp-processing-plugin_test.js +0 -119
- package/test/unit/provisioning/device-provisioning-api_test.js +0 -748
- package/test/unit/provisioning/device-registration_test.js +0 -432
- package/test/unit/provisioning/device-update-registration_test.js +0 -326
- package/test/unit/provisioning/listProvisionedDevices-test.js +0 -488
- package/test/unit/provisioning/provisionDeviceMultientity-test.js +0 -123
- package/test/unit/provisioning/removeProvisionedDevice-test.js +0 -244
- package/test/unit/provisioning/singleConfigurationMode-test.js +0 -346
- package/test/unit/provisioning/updateProvisionedDevices-test.js +0 -436
|
@@ -27,10 +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 logger = require('logops');
|
|
32
33
|
const nock = require('nock');
|
|
33
|
-
const request = require('request');
|
|
34
34
|
const timekeeper = require('timekeeper');
|
|
35
35
|
let contextBrokerMock;
|
|
36
36
|
let oauth2Mock;
|
|
@@ -336,7 +336,7 @@ describe('NGSI-LD - Secured access to the Context Broker with OAuth2 provider',
|
|
|
336
336
|
)
|
|
337
337
|
.reply(201, utils.readExampleFile('./test/unit/examples/oauthResponses/tokenFromTrust.json'), {});
|
|
338
338
|
|
|
339
|
-
contextBrokerMock.delete('/ngsi-ld/v1/subscriptions/51c0ac9ed714fb3b37d7d5a8').reply(204);
|
|
339
|
+
contextBrokerMock.delete('/ngsi-ld/v1/subscriptions/51c0ac9ed714fb3b37d7d5a8', '').reply(204);
|
|
340
340
|
|
|
341
341
|
iotAgentLib.getDevice('Light1', 'smartgondor', 'electricity', function (error, device) {
|
|
342
342
|
iotAgentLib.subscribe(device, ['dimming'], null, function (error) {
|
|
@@ -27,9 +27,9 @@
|
|
|
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
|
-
const request = require('request');
|
|
33
33
|
const logger = require('logops');
|
|
34
34
|
const async = require('async');
|
|
35
35
|
const iotAgentConfig = {
|
|
@@ -27,10 +27,11 @@
|
|
|
27
27
|
/* eslint-disable no-unused-vars */
|
|
28
28
|
|
|
29
29
|
const iotAgentLib = require('../../../../lib/fiware-iotagent-lib');
|
|
30
|
-
|
|
30
|
+
|
|
31
31
|
const nock = require('nock');
|
|
32
32
|
const logger = require('logops');
|
|
33
33
|
const utils = require('../../../tools/utils');
|
|
34
|
+
const request = utils.request;
|
|
34
35
|
const groupRegistryMemory = require('../../../../lib/services/groups/groupRegistryMemory');
|
|
35
36
|
const should = require('should');
|
|
36
37
|
const iotAgentConfig = {
|
|
@@ -24,9 +24,10 @@
|
|
|
24
24
|
/* eslint-disable no-unused-vars */
|
|
25
25
|
|
|
26
26
|
const iotAgentLib = require('../../../../lib/fiware-iotagent-lib');
|
|
27
|
-
|
|
27
|
+
|
|
28
28
|
const nock = require('nock');
|
|
29
29
|
const utils = require('../../../tools/utils');
|
|
30
|
+
const request = utils.request;
|
|
30
31
|
const groupRegistryMemory = require('../../../../lib/services/groups/groupRegistryMemory');
|
|
31
32
|
const should = require('should');
|
|
32
33
|
const iotAgentConfig = {
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
const iotAgentLib = require('../../../../lib/fiware-iotagent-lib');
|
|
29
29
|
const nock = require('nock');
|
|
30
30
|
const utils = require('../../../tools/utils');
|
|
31
|
+
const request = utils.request;
|
|
31
32
|
const config = require('../../../../lib/commonConfig');
|
|
32
33
|
const iotAgentConfig = {
|
|
33
34
|
logLevel: 'FATAL',
|
|
@@ -26,11 +26,13 @@
|
|
|
26
26
|
/* eslint-disable no-unused-vars */
|
|
27
27
|
|
|
28
28
|
const iotAgentLib = require('../../../../lib/fiware-iotagent-lib');
|
|
29
|
+
const utils = require('../../../tools/utils');
|
|
30
|
+
const request = utils.request;
|
|
29
31
|
const should = require('should');
|
|
30
32
|
const logger = require('logops');
|
|
31
33
|
const nock = require('nock');
|
|
32
34
|
const mongoUtils = require('../../mongodb/mongoDBUtils');
|
|
33
|
-
|
|
35
|
+
|
|
34
36
|
let contextBrokerMock;
|
|
35
37
|
const iotAgentConfig = {
|
|
36
38
|
logLevel: 'FATAL',
|
|
@@ -27,11 +27,12 @@
|
|
|
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 logger = require('logops');
|
|
32
33
|
const nock = require('nock');
|
|
33
34
|
const mongoUtils = require('../../mongodb/mongoDBUtils');
|
|
34
|
-
|
|
35
|
+
|
|
35
36
|
const timekeeper = require('timekeeper');
|
|
36
37
|
let contextBrokerMock;
|
|
37
38
|
let statusAttributeMock;
|
|
@@ -27,13 +27,14 @@
|
|
|
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 async = require('async');
|
|
31
32
|
const apply = async.apply;
|
|
32
33
|
const should = require('should');
|
|
33
34
|
const logger = require('logops');
|
|
34
35
|
const nock = require('nock');
|
|
35
36
|
const mongoUtils = require('../../mongodb/mongoDBUtils');
|
|
36
|
-
|
|
37
|
+
|
|
37
38
|
const timekeeper = require('timekeeper');
|
|
38
39
|
let contextBrokerMock;
|
|
39
40
|
const iotAgentConfig = {
|
|
@@ -231,7 +232,6 @@ describe('NGSI-LD - IoT Agent Lazy Devices', function () {
|
|
|
231
232
|
iotAgentConfig.server.port +
|
|
232
233
|
'/ngsi-ld/v1/entities/urn:ngsi-ld:Light:light1?attrs=dimming',
|
|
233
234
|
method: 'GET',
|
|
234
|
-
json: true,
|
|
235
235
|
headers: {
|
|
236
236
|
'fiware-service': 'smartgondor',
|
|
237
237
|
'fiware-servicepath': 'gardens'
|
|
@@ -300,7 +300,6 @@ describe('NGSI-LD - IoT Agent Lazy Devices', function () {
|
|
|
300
300
|
iotAgentConfig.server.port +
|
|
301
301
|
'/ngsi-ld/v1/entities/urn:ngsi-ld:Light:light1?attrs=dimming',
|
|
302
302
|
method: 'GET',
|
|
303
|
-
json: true,
|
|
304
303
|
headers: {
|
|
305
304
|
'fiware-service': 'smartgondor',
|
|
306
305
|
'fiware-servicepath': 'gardens'
|
|
@@ -353,7 +352,6 @@ describe('NGSI-LD - IoT Agent Lazy Devices', function () {
|
|
|
353
352
|
const options = {
|
|
354
353
|
url: 'http://localhost:' + iotAgentConfig.server.port + '/ngsi-ld/v1/entities/urn:ngsi-ld:Light:light1',
|
|
355
354
|
method: 'GET',
|
|
356
|
-
json: true,
|
|
357
355
|
headers: {
|
|
358
356
|
'fiware-service': 'smartgondor',
|
|
359
357
|
'fiware-servicepath': 'gardens'
|
|
@@ -419,7 +417,6 @@ describe('NGSI-LD - IoT Agent Lazy Devices', function () {
|
|
|
419
417
|
iotAgentConfig.server.port +
|
|
420
418
|
'/ngsi-ld/v1/entities/urn:ngsi-ld:Motion:motion1?attrs=moving,location',
|
|
421
419
|
method: 'GET',
|
|
422
|
-
json: true,
|
|
423
420
|
headers: {
|
|
424
421
|
'fiware-service': 'smartgondor',
|
|
425
422
|
'fiware-servicepath': 'gardens'
|
|
@@ -485,7 +482,6 @@ describe('NGSI-LD - IoT Agent Lazy Devices', function () {
|
|
|
485
482
|
iotAgentConfig.server.port +
|
|
486
483
|
'/ngsi-ld/v1/entities/urn:ngsi-ld:Light:light1?attrs=temperature',
|
|
487
484
|
method: 'GET',
|
|
488
|
-
json: true,
|
|
489
485
|
headers: {
|
|
490
486
|
'fiware-service': 'smartgondor',
|
|
491
487
|
'fiware-servicepath': 'gardens'
|
|
@@ -27,11 +27,12 @@
|
|
|
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 logger = require('logops');
|
|
32
33
|
const nock = require('nock');
|
|
33
34
|
const mongoUtils = require('../../mongodb/mongoDBUtils');
|
|
34
|
-
|
|
35
|
+
|
|
35
36
|
let contextBrokerMock;
|
|
36
37
|
let statusAttributeMock;
|
|
37
38
|
const iotAgentConfig = {
|
|
@@ -27,6 +27,7 @@
|
|
|
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 timekeeper = require('timekeeper');
|
|
31
32
|
const should = require('should');
|
|
32
33
|
const logger = require('logops');
|
|
@@ -27,6 +27,7 @@
|
|
|
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 logger = require('logops');
|
|
32
33
|
const nock = require('nock');
|
|
@@ -27,6 +27,7 @@
|
|
|
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 logger = require('logops');
|
|
32
33
|
const nock = require('nock');
|
|
@@ -27,8 +27,9 @@
|
|
|
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
|
+
|
|
32
33
|
const nock = require('nock');
|
|
33
34
|
let contextBrokerMock;
|
|
34
35
|
const iotAgentConfig = {
|
|
@@ -131,7 +132,7 @@ describe('NGSI-LD - Subscription tests', function () {
|
|
|
131
132
|
beforeEach(function (done) {
|
|
132
133
|
contextBrokerMock
|
|
133
134
|
.matchHeader('fiware-service', 'smartgondor')
|
|
134
|
-
.delete('/ngsi-ld/v1/subscriptions/51c0ac9ed714fb3b37d7d5a8')
|
|
135
|
+
.delete('/ngsi-ld/v1/subscriptions/51c0ac9ed714fb3b37d7d5a8', '')
|
|
135
136
|
.reply(204);
|
|
136
137
|
|
|
137
138
|
done();
|
|
@@ -168,7 +169,7 @@ describe('NGSI-LD - Subscription tests', function () {
|
|
|
168
169
|
beforeEach(function (done) {
|
|
169
170
|
contextBrokerMock
|
|
170
171
|
.matchHeader('fiware-service', 'smartgondor')
|
|
171
|
-
.delete('/ngsi-ld/v1/subscriptions/51c0ac9ed714fb3b37d7d5a8')
|
|
172
|
+
.delete('/ngsi-ld/v1/subscriptions/51c0ac9ed714fb3b37d7d5a8', '')
|
|
172
173
|
.reply(204);
|
|
173
174
|
|
|
174
175
|
done();
|
|
@@ -27,6 +27,7 @@
|
|
|
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 logger = require('logops');
|
|
32
33
|
const nock = require('nock');
|
|
@@ -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 logger = require('logops');
|
|
32
33
|
const nock = require('nock');
|
|
33
|
-
|
|
34
|
+
|
|
34
35
|
let contextBrokerMock;
|
|
35
36
|
const iotAgentConfig = {
|
|
36
37
|
contextBroker: {
|
|
@@ -143,7 +144,7 @@ describe('NGSI-LD - Bidirectional data plugin', function () {
|
|
|
143
144
|
|
|
144
145
|
contextBrokerMock
|
|
145
146
|
.matchHeader('fiware-service', 'smartgondor')
|
|
146
|
-
.delete('/ngsi-ld/v1/subscriptions/51c0ac9ed714fb3b37d7d5a8')
|
|
147
|
+
.delete('/ngsi-ld/v1/subscriptions/51c0ac9ed714fb3b37d7d5a8', '')
|
|
147
148
|
.reply(204);
|
|
148
149
|
});
|
|
149
150
|
|
|
@@ -214,6 +214,26 @@ const iotAgentConfig = {
|
|
|
214
214
|
],
|
|
215
215
|
type: 'SensorCommand',
|
|
216
216
|
lazy: []
|
|
217
|
+
},
|
|
218
|
+
GPS: {
|
|
219
|
+
commands: [],
|
|
220
|
+
type: 'GPS',
|
|
221
|
+
lazy: [],
|
|
222
|
+
active: [
|
|
223
|
+
{
|
|
224
|
+
name: 'explicit',
|
|
225
|
+
type: 'number',
|
|
226
|
+
entity_name: 'SO5',
|
|
227
|
+
object_id: 'x'
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
name: 'explicit',
|
|
231
|
+
type: 'number',
|
|
232
|
+
entity_name: 'SO6',
|
|
233
|
+
object_id: 'y'
|
|
234
|
+
}
|
|
235
|
+
],
|
|
236
|
+
explicitAttrs: true
|
|
217
237
|
}
|
|
218
238
|
},
|
|
219
239
|
service: 'smartgondor',
|
|
@@ -463,6 +483,47 @@ describe('NGSI-LD - Multi-entity plugin', function () {
|
|
|
463
483
|
});
|
|
464
484
|
});
|
|
465
485
|
|
|
486
|
+
describe('When an update comes for a multientity measurement explicitAttrs for one entity', function () {
|
|
487
|
+
const values = [
|
|
488
|
+
{
|
|
489
|
+
name: 'x',
|
|
490
|
+
type: 'Number',
|
|
491
|
+
value: 52
|
|
492
|
+
},
|
|
493
|
+
{
|
|
494
|
+
name: 'y',
|
|
495
|
+
type: 'Number',
|
|
496
|
+
value: 13
|
|
497
|
+
},
|
|
498
|
+
{
|
|
499
|
+
name: 'z',
|
|
500
|
+
type: 'Number',
|
|
501
|
+
value: 12
|
|
502
|
+
}
|
|
503
|
+
];
|
|
504
|
+
|
|
505
|
+
beforeEach(function () {
|
|
506
|
+
nock.cleanAll();
|
|
507
|
+
contextBrokerMock = nock('http://192.168.1.1:1026')
|
|
508
|
+
.matchHeader('fiware-service', 'smartgondor')
|
|
509
|
+
.post(
|
|
510
|
+
'/ngsi-ld/v1/entityOperations/upsert/?options=update',
|
|
511
|
+
utils.readExampleFile(
|
|
512
|
+
'./test/unit/ngsi-ld/examples/contextRequests/updateContextMultientityPlugin15.json'
|
|
513
|
+
)
|
|
514
|
+
)
|
|
515
|
+
.reply(204);
|
|
516
|
+
});
|
|
517
|
+
|
|
518
|
+
it('should remove hidden attrs from the value', function (done) {
|
|
519
|
+
iotAgentLib.update('gps1', 'GPS', '', values, function (error) {
|
|
520
|
+
should.not.exist(error);
|
|
521
|
+
contextBrokerMock.done();
|
|
522
|
+
done();
|
|
523
|
+
});
|
|
524
|
+
});
|
|
525
|
+
});
|
|
526
|
+
|
|
466
527
|
describe(
|
|
467
528
|
'When an update comes for a multientity measurement and there are attributes with' +
|
|
468
529
|
' the same name but different alias and mapped to different CB entities',
|
|
@@ -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,6 +27,7 @@
|
|
|
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 logger = require('logops');
|
|
32
33
|
const nock = require('nock');
|
|
@@ -283,7 +284,7 @@ describe('NGSI-LD - IoT Agent Device Registration', function () {
|
|
|
283
284
|
contextBrokerMock.post('/ngsi-ld/v1/entityOperations/upsert/').reply(204);
|
|
284
285
|
|
|
285
286
|
contextBrokerMock
|
|
286
|
-
.delete('/ngsi-ld/v1/csourceRegistrations/6319a7f5254b05844116584d')
|
|
287
|
+
.delete('/ngsi-ld/v1/csourceRegistrations/6319a7f5254b05844116584d', '')
|
|
287
288
|
.reply(204, null, { Location: '/ngsi-ld/v1/csourceRegistrations/6319a7f5254b05844116584d' });
|
|
288
289
|
|
|
289
290
|
iotAgentLib.activate(iotAgentConfig, function (error) {
|
|
@@ -328,7 +329,7 @@ describe('NGSI-LD - IoT Agent Device Registration', function () {
|
|
|
328
329
|
// provisioning folder
|
|
329
330
|
contextBrokerMock.post('/ngsi-ld/v1/entityOperations/upsert/').reply(204);
|
|
330
331
|
|
|
331
|
-
contextBrokerMock.delete('/ngsi-ld/v1/csourceRegistrations/6319a7f5254b05844116584d').reply(500);
|
|
332
|
+
contextBrokerMock.delete('/ngsi-ld/v1/csourceRegistrations/6319a7f5254b05844116584d', '').reply(500);
|
|
332
333
|
|
|
333
334
|
iotAgentLib.activate(iotAgentConfig, function (error) {
|
|
334
335
|
async.series(
|
|
@@ -27,6 +27,7 @@
|
|
|
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 logger = require('logops');
|
|
32
33
|
const nock = require('nock');
|
|
@@ -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',
|
|
@@ -145,12 +146,11 @@ describe('NGSI-LD - Device provisioning API: List provisioned devices', function
|
|
|
145
146
|
|
|
146
147
|
it('should return all the provisioned devices', function (done) {
|
|
147
148
|
request(options, function (error, response, body) {
|
|
148
|
-
const parsedBody = JSON.parse(body);
|
|
149
149
|
should.not.exist(error);
|
|
150
|
-
should.exist(
|
|
150
|
+
should.exist(body.devices);
|
|
151
151
|
response.statusCode.should.equal(200);
|
|
152
|
-
|
|
153
|
-
|
|
152
|
+
body.devices.length.should.equal(3);
|
|
153
|
+
body.count.should.equal(3);
|
|
154
154
|
done();
|
|
155
155
|
});
|
|
156
156
|
});
|
|
@@ -159,22 +159,20 @@ describe('NGSI-LD - Device provisioning API: List provisioned devices', function
|
|
|
159
159
|
/* jshint camelcase:false */
|
|
160
160
|
|
|
161
161
|
request(options, function (error, response, body) {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
should.exist(parsedBody.devices[0].attributes);
|
|
165
|
-
parsedBody.devices[0].attributes.length.should.equal(1);
|
|
162
|
+
should.exist(body.devices[0].attributes);
|
|
163
|
+
body.devices[0].attributes.length.should.equal(1);
|
|
166
164
|
|
|
167
|
-
should.exist(
|
|
168
|
-
|
|
165
|
+
should.exist(body.devices[0].device_id);
|
|
166
|
+
body.devices[0].device_id.should.equal('Light1');
|
|
169
167
|
|
|
170
|
-
should.exist(
|
|
171
|
-
|
|
168
|
+
should.exist(body.devices[0].entity_name);
|
|
169
|
+
body.devices[0].entity_name.should.equal('TheFirstLight');
|
|
172
170
|
|
|
173
|
-
should.exist(
|
|
174
|
-
|
|
171
|
+
should.exist(body.devices[0].protocol);
|
|
172
|
+
body.devices[0].protocol.should.equal('GENERIC_PROTO');
|
|
175
173
|
|
|
176
|
-
should.exist(
|
|
177
|
-
|
|
174
|
+
should.exist(body.devices[0].static_attributes);
|
|
175
|
+
body.devices[0].static_attributes.length.should.equal(1);
|
|
178
176
|
|
|
179
177
|
done();
|
|
180
178
|
});
|
|
@@ -182,16 +180,14 @@ describe('NGSI-LD - Device provisioning API: List provisioned devices', function
|
|
|
182
180
|
|
|
183
181
|
it('should return all the plugin attributes', function (done) {
|
|
184
182
|
request(options, function (error, response, body) {
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
should.exist(
|
|
188
|
-
should.exist(
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
parsedBody.devices[2].attributes[1].expression.should.equal('${@humidity * 20}');
|
|
194
|
-
parsedBody.devices[2].attributes[2].reverse.length.should.equal(2);
|
|
183
|
+
should.exist(body.devices[2].attributes[0].entity_name);
|
|
184
|
+
should.exist(body.devices[2].attributes[0].entity_type);
|
|
185
|
+
should.exist(body.devices[2].attributes[1].expression);
|
|
186
|
+
should.exist(body.devices[2].attributes[2].reverse);
|
|
187
|
+
body.devices[2].attributes[0].entity_name.should.equal('Higro2000');
|
|
188
|
+
body.devices[2].attributes[0].entity_type.should.equal('Higrometer');
|
|
189
|
+
body.devices[2].attributes[1].expression.should.equal('${@humidity * 20}');
|
|
190
|
+
body.devices[2].attributes[2].reverse.length.should.equal(2);
|
|
195
191
|
done();
|
|
196
192
|
});
|
|
197
193
|
});
|
|
@@ -212,9 +208,8 @@ describe('NGSI-LD - Device provisioning API: List provisioned devices', function
|
|
|
212
208
|
should.not.exist(error);
|
|
213
209
|
response.statusCode.should.equal(200);
|
|
214
210
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
parsedBody.device_id.should.equal('Light1');
|
|
211
|
+
body.entity_name.should.equal('TheFirstLight');
|
|
212
|
+
body.device_id.should.equal('Light1');
|
|
218
213
|
done();
|
|
219
214
|
});
|
|
220
215
|
});
|
|
@@ -223,12 +218,10 @@ describe('NGSI-LD - Device provisioning API: List provisioned devices', function
|
|
|
223
218
|
request(options, function (error, response, body) {
|
|
224
219
|
/* jshint camelcase:false */
|
|
225
220
|
should.not.exist(error);
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
parsedBody.attributes[0].name.should.equal('attr_name');
|
|
231
|
-
parsedBody.attributes[0].type.should.equal('string');
|
|
221
|
+
should.exist(body.attributes[0].object_id);
|
|
222
|
+
body.attributes[0].object_id.should.equal('attr_name');
|
|
223
|
+
body.attributes[0].name.should.equal('attr_name');
|
|
224
|
+
body.attributes[0].type.should.equal('string');
|
|
232
225
|
done();
|
|
233
226
|
});
|
|
234
227
|
});
|
|
@@ -248,15 +241,14 @@ describe('NGSI-LD - Device provisioning API: List provisioned devices', function
|
|
|
248
241
|
/* jshint camelcase:false */
|
|
249
242
|
should.not.exist(error);
|
|
250
243
|
|
|
251
|
-
|
|
252
|
-
should.exist(
|
|
253
|
-
should.exist(
|
|
254
|
-
should.exist(
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
parsedBody.attributes[2].reverse.length.should.equal(2);
|
|
244
|
+
should.exist(body.attributes[0].entity_name);
|
|
245
|
+
should.exist(body.attributes[0].entity_type);
|
|
246
|
+
should.exist(body.attributes[1].expression);
|
|
247
|
+
should.exist(body.attributes[2].reverse);
|
|
248
|
+
body.attributes[0].entity_name.should.equal('Higro2000');
|
|
249
|
+
body.attributes[0].entity_type.should.equal('Higrometer');
|
|
250
|
+
body.attributes[1].expression.should.equal('${@humidity * 20}');
|
|
251
|
+
body.attributes[2].reverse.length.should.equal(2);
|
|
260
252
|
done();
|
|
261
253
|
});
|
|
262
254
|
});
|
|
@@ -332,18 +324,16 @@ describe('NGSI-LD - Device provisioning API: List provisioned devices', function
|
|
|
332
324
|
|
|
333
325
|
it('should return just 3 devices', function (done) {
|
|
334
326
|
request(options, function (error, response, body) {
|
|
335
|
-
const parsedBody = JSON.parse(body);
|
|
336
327
|
should.not.exist(error);
|
|
337
|
-
|
|
328
|
+
body.devices.length.should.equal(3);
|
|
338
329
|
done();
|
|
339
330
|
});
|
|
340
331
|
});
|
|
341
332
|
|
|
342
333
|
it('should return a count with the complete number of devices', function (done) {
|
|
343
334
|
request(options, function (error, response, body) {
|
|
344
|
-
const parsedBody = JSON.parse(body);
|
|
345
335
|
should.not.exist(error);
|
|
346
|
-
|
|
336
|
+
body.count.should.equal(10);
|
|
347
337
|
done();
|
|
348
338
|
});
|
|
349
339
|
});
|
|
@@ -396,11 +386,10 @@ describe('NGSI-LD - Device provisioning API: List provisioned devices', function
|
|
|
396
386
|
|
|
397
387
|
it('should skip the first 3 devices', function (done) {
|
|
398
388
|
request(options, function (error, response, body) {
|
|
399
|
-
const parsedBody = JSON.parse(body);
|
|
400
389
|
should.not.exist(error);
|
|
401
390
|
|
|
402
|
-
for (let i = 0; i <
|
|
403
|
-
['Light1_0', 'Light1_1', 'Light1_2'].indexOf(
|
|
391
|
+
for (let i = 0; i < body.devices.length; i++) {
|
|
392
|
+
['Light1_0', 'Light1_1', 'Light1_2'].indexOf(body.devices[i].id).should.equal(-1);
|
|
404
393
|
}
|
|
405
394
|
|
|
406
395
|
done();
|
|
@@ -442,10 +431,9 @@ describe('NGSI-LD - Device provisioning API: List provisioned devices', function
|
|
|
442
431
|
|
|
443
432
|
it('should return just the ones in the selected service', function (done) {
|
|
444
433
|
request(options, function (error, response, body) {
|
|
445
|
-
const parsedBody = JSON.parse(body);
|
|
446
434
|
should.not.exist(error);
|
|
447
435
|
response.statusCode.should.equal(200);
|
|
448
|
-
|
|
436
|
+
body.devices.length.should.equal(3);
|
|
449
437
|
done();
|
|
450
438
|
});
|
|
451
439
|
});
|
|
@@ -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
|
|
|
31
32
|
const should = require('should');
|
|
32
33
|
const nock = require('nock');
|
|
33
|
-
|
|
34
|
+
|
|
34
35
|
let contextBrokerMock;
|
|
35
36
|
const iotAgentConfig = {
|
|
36
37
|
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: 'ERROR',
|
|
@@ -115,7 +116,7 @@ describe('NGSI-LD - Device provisioning API: Remove provisioned devices', functi
|
|
|
115
116
|
|
|
116
117
|
contextBrokerMock
|
|
117
118
|
.matchHeader('fiware-service', 'smartgondor')
|
|
118
|
-
.delete('/ngsi-ld/v1/csourceRegistrations/6319a7f5254b05844116584d')
|
|
119
|
+
.delete('/ngsi-ld/v1/csourceRegistrations/6319a7f5254b05844116584d', '')
|
|
119
120
|
.reply(204);
|
|
120
121
|
|
|
121
122
|
// This mock does not check the payload since the aim of the test is not to verify
|
|
@@ -174,8 +175,7 @@ describe('NGSI-LD - Device provisioning API: Remove provisioned devices', functi
|
|
|
174
175
|
};
|
|
175
176
|
|
|
176
177
|
request(options, function (error, response, body) {
|
|
177
|
-
|
|
178
|
-
parsedBody.devices.length.should.equal(2);
|
|
178
|
+
body.devices.length.should.equal(2);
|
|
179
179
|
done();
|
|
180
180
|
});
|
|
181
181
|
});
|
|
@@ -27,11 +27,12 @@
|
|
|
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
|
|
|
31
32
|
const should = require('should');
|
|
32
33
|
const nock = require('nock');
|
|
33
34
|
let contextBrokerMock;
|
|
34
|
-
|
|
35
|
+
|
|
35
36
|
const iotAgentConfig = {
|
|
36
37
|
logLevel: 'FATAL',
|
|
37
38
|
contextBroker: {
|
|
@@ -258,10 +259,7 @@ describe('NGSI-LD - Provisioning API: Single service mode', function () {
|
|
|
258
259
|
it('should be provisioned with the default type', function (done) {
|
|
259
260
|
request(deviceCreation, function (error, response, body) {
|
|
260
261
|
request(getDevice, function (error, response, body) {
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
parsedBody.entity_type.should.equal('SensorMachine');
|
|
264
|
-
|
|
262
|
+
body.entity_type.should.equal('SensorMachine');
|
|
265
263
|
done();
|
|
266
264
|
});
|
|
267
265
|
});
|