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
|
@@ -23,13 +23,14 @@
|
|
|
23
23
|
|
|
24
24
|
/* eslint-disable no-unused-vars */
|
|
25
25
|
|
|
26
|
-
const iotAgentLib = require('
|
|
26
|
+
const iotAgentLib = require('../../../../lib/fiware-iotagent-lib');
|
|
27
27
|
const _ = require('underscore');
|
|
28
28
|
const async = require('async');
|
|
29
29
|
const nock = require('nock');
|
|
30
|
-
const utils = require('
|
|
31
|
-
const
|
|
32
|
-
const
|
|
30
|
+
const utils = require('../../../tools/utils');
|
|
31
|
+
const request = utils.request;
|
|
32
|
+
const groupRegistryMemory = require('../../../../lib/services/groups/groupRegistryMemory');
|
|
33
|
+
|
|
33
34
|
const should = require('should');
|
|
34
35
|
const iotAgentConfig = {
|
|
35
36
|
logLevel: 'FATAL',
|
|
@@ -188,7 +189,7 @@ const optionsGet = {
|
|
|
188
189
|
}
|
|
189
190
|
};
|
|
190
191
|
|
|
191
|
-
describe('Device Group Configuration API', function () {
|
|
192
|
+
describe('NGSI-v2 - Device Group Configuration API', function () {
|
|
192
193
|
beforeEach(function (done) {
|
|
193
194
|
iotAgentLib.activate(iotAgentConfig, function () {
|
|
194
195
|
groupRegistryMemory.clear(done);
|
|
@@ -412,58 +413,26 @@ describe('Device Group Configuration API', function () {
|
|
|
412
413
|
contextBrokerMock = nock('http://192.168.1.1:1026')
|
|
413
414
|
.matchHeader('fiware-service', 'testservice')
|
|
414
415
|
.matchHeader('fiware-servicepath', '/testingPath')
|
|
415
|
-
.post(
|
|
416
|
-
|
|
417
|
-
utils.readExampleFile('./test/unit/examples/contextRequests/createProvisionedDevice.json')
|
|
418
|
-
)
|
|
419
|
-
.reply(
|
|
420
|
-
200,
|
|
421
|
-
utils.readExampleFile('./test/unit/examples/contextResponses/createProvisionedDeviceSuccess.json')
|
|
422
|
-
);
|
|
416
|
+
.post('/v2/entities?options=upsert')
|
|
417
|
+
.reply(204);
|
|
423
418
|
|
|
424
419
|
contextBrokerMock
|
|
425
420
|
.matchHeader('fiware-service', 'testservice')
|
|
426
421
|
.matchHeader('fiware-servicepath', '/testingPath')
|
|
427
|
-
.post(
|
|
428
|
-
|
|
429
|
-
utils.readExampleFile(
|
|
430
|
-
'./test/unit/examples/contextAvailabilityRequests/registerProvisionedDevice.json'
|
|
431
|
-
)
|
|
432
|
-
)
|
|
433
|
-
.reply(
|
|
434
|
-
200,
|
|
435
|
-
utils.readExampleFile(
|
|
436
|
-
'./test/unit/examples/contextAvailabilityResponses/registerProvisionedDeviceSuccess.json'
|
|
437
|
-
)
|
|
438
|
-
);
|
|
422
|
+
.post('/v2/registrations')
|
|
423
|
+
.reply(201, null, { Location: '/v2/registrations/6319a7f5254b05844116584d' });
|
|
439
424
|
|
|
440
425
|
contextBrokerMock
|
|
441
426
|
.matchHeader('fiware-service', 'testservice')
|
|
442
427
|
.matchHeader('fiware-servicepath', '/testingPath')
|
|
443
|
-
.
|
|
444
|
-
|
|
445
|
-
utils.readExampleFile(
|
|
446
|
-
'./test/unit/examples/contextAvailabilityRequests/unregisterProvisionedDevice.json'
|
|
447
|
-
)
|
|
448
|
-
)
|
|
449
|
-
.reply(
|
|
450
|
-
200,
|
|
451
|
-
utils.readExampleFile(
|
|
452
|
-
'./test/unit/examples/contextAvailabilityResponses/unregisterDevice1Success.json'
|
|
453
|
-
)
|
|
454
|
-
);
|
|
428
|
+
.delete('/v2/registrations/6319a7f5254b05844116584d', '')
|
|
429
|
+
.reply(204);
|
|
455
430
|
|
|
456
431
|
contextBrokerMock
|
|
457
432
|
.matchHeader('fiware-service', 'testservice')
|
|
458
433
|
.matchHeader('fiware-servicepath', '/testingPath')
|
|
459
|
-
.post(
|
|
460
|
-
|
|
461
|
-
utils.readExampleFile('./test/unit/examples/contextRequests/createProvisionedDevice.json')
|
|
462
|
-
)
|
|
463
|
-
.reply(
|
|
464
|
-
200,
|
|
465
|
-
utils.readExampleFile('./test/unit/examples/contextResponses/createProvisionedDeviceSuccess.json')
|
|
466
|
-
);
|
|
434
|
+
.post('/v2/entities?options=upsert')
|
|
435
|
+
.reply(204);
|
|
467
436
|
|
|
468
437
|
async.series(
|
|
469
438
|
[
|
|
@@ -936,12 +905,12 @@ describe('Device Group Configuration API', function () {
|
|
|
936
905
|
contextBrokerMock = nock('http://unexistentHost:1026')
|
|
937
906
|
.matchHeader('fiware-service', 'testservice')
|
|
938
907
|
.matchHeader('fiware-servicepath', '/testingPath')
|
|
939
|
-
.
|
|
940
|
-
'/
|
|
941
|
-
utils.readExampleFile('./test/unit/examples/contextRequests/updateContext3WithStatic.json')
|
|
908
|
+
.patch(
|
|
909
|
+
'/v2/entities/machine1/attrs',
|
|
910
|
+
utils.readExampleFile('./test/unit/ngsiv2/examples/contextRequests/updateContext3WithStatic.json')
|
|
942
911
|
)
|
|
943
|
-
.
|
|
944
|
-
|
|
912
|
+
.query({ type: 'SensorMachine' })
|
|
913
|
+
.reply(204, {});
|
|
945
914
|
async.series([async.apply(request, optionsCreation)], done);
|
|
946
915
|
});
|
|
947
916
|
|
|
@@ -23,12 +23,13 @@
|
|
|
23
23
|
|
|
24
24
|
/* eslint-disable no-unused-vars */
|
|
25
25
|
|
|
26
|
-
const iotAgentLib = require('
|
|
27
|
-
const utils = require('
|
|
26
|
+
const iotAgentLib = require('../../../../lib/fiware-iotagent-lib');
|
|
27
|
+
const utils = require('../../../tools/utils');
|
|
28
|
+
const request = utils.request;
|
|
28
29
|
const should = require('should');
|
|
29
30
|
const async = require('async');
|
|
30
|
-
const groupRegistryMemory = require('
|
|
31
|
-
|
|
31
|
+
const groupRegistryMemory = require('../../../../lib/services/groups/groupRegistryMemory');
|
|
32
|
+
|
|
32
33
|
const groupCreation = {
|
|
33
34
|
url: 'http://localhost:4041/iot/services',
|
|
34
35
|
method: 'POST',
|
|
@@ -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
|
const moment = require('moment');
|
|
34
35
|
let contextBrokerMock;
|
|
35
36
|
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 should = require('should');
|
|
31
32
|
const logger = require('logops');
|
|
32
33
|
const nock = require('nock');
|
|
@@ -289,7 +290,7 @@ describe('NGSI-v2 - IoT Agent Device Registration', function () {
|
|
|
289
290
|
contextBrokerMock.post('/v2/entities?options=upsert').reply(204);
|
|
290
291
|
|
|
291
292
|
contextBrokerMock
|
|
292
|
-
.delete('/v2/registrations/6319a7f5254b05844116584d')
|
|
293
|
+
.delete('/v2/registrations/6319a7f5254b05844116584d', '')
|
|
293
294
|
.reply(204, null, { Location: '/v2/registrations/6319a7f5254b05844116584d' });
|
|
294
295
|
|
|
295
296
|
iotAgentLib.activate(iotAgentConfig, function (error) {
|
|
@@ -334,7 +335,7 @@ describe('NGSI-v2 - IoT Agent Device Registration', function () {
|
|
|
334
335
|
// provisioning folder
|
|
335
336
|
contextBrokerMock.post('/v2/entities?options=upsert').reply(204);
|
|
336
337
|
|
|
337
|
-
contextBrokerMock.delete('/v2/registrations/6319a7f5254b05844116584d').reply(500);
|
|
338
|
+
contextBrokerMock.delete('/v2/registrations/6319a7f5254b05844116584d', '').reply(500);
|
|
338
339
|
|
|
339
340
|
iotAgentLib.activate(iotAgentConfig, function (error) {
|
|
340
341
|
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');
|
|
@@ -188,7 +189,7 @@ describe('NGSI-v2 - IoT Agent Device Update Registration', function () {
|
|
|
188
189
|
contextBrokerMock
|
|
189
190
|
.matchHeader('fiware-service', 'smartgondor')
|
|
190
191
|
.matchHeader('fiware-servicepath', 'gardens')
|
|
191
|
-
.delete('/v2/registrations/6319a7f5254b05844116584d')
|
|
192
|
+
.delete('/v2/registrations/6319a7f5254b05844116584d', '')
|
|
192
193
|
.reply(204);
|
|
193
194
|
|
|
194
195
|
contextBrokerMock
|
|
@@ -243,7 +244,7 @@ describe('NGSI-v2 - IoT Agent Device Update Registration', function () {
|
|
|
243
244
|
contextBrokerMock
|
|
244
245
|
.matchHeader('fiware-service', 'smartgondor')
|
|
245
246
|
.matchHeader('fiware-servicepath', 'gardens')
|
|
246
|
-
.delete('/v2/registrations/6319a7f5254b05844116584d')
|
|
247
|
+
.delete('/v2/registrations/6319a7f5254b05844116584d', '')
|
|
247
248
|
.reply(204);
|
|
248
249
|
|
|
249
250
|
contextBrokerMock
|
|
@@ -296,7 +297,7 @@ describe('NGSI-v2 - IoT Agent Device Update Registration', function () {
|
|
|
296
297
|
// FIXME: When https://github.com/telefonicaid/fiware-orion/issues/3007 is merged into master branch,
|
|
297
298
|
// this function should use the new API. This is just a temporary solution which implies deleting the
|
|
298
299
|
// registration and creating a new one.
|
|
299
|
-
contextBrokerMock.delete('/v2/registrations/6319a7f5254b05844116584d').reply(500, {});
|
|
300
|
+
contextBrokerMock.delete('/v2/registrations/6319a7f5254b05844116584d', '').reply(500, {});
|
|
300
301
|
|
|
301
302
|
contextBrokerMock
|
|
302
303
|
.matchHeader('fiware-service', 'smartgondor')
|
|
@@ -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(
|
|
@@ -180,7 +181,7 @@ describe('NGSI-v2 - Device provisioning API: Update provisioned devices', functi
|
|
|
180
181
|
.matchHeader('fiware-servicepath', '/gardens')
|
|
181
182
|
.post(
|
|
182
183
|
'/v2/entities?options=upsert',
|
|
183
|
-
utils.readExampleFile('./test/unit/examples/contextRequests/updateProvisionDevice.json')
|
|
184
|
+
utils.readExampleFile('./test/unit/ngsiv2/examples/contextRequests/updateProvisionDevice.json')
|
|
184
185
|
)
|
|
185
186
|
.reply(204);
|
|
186
187
|
|
|
@@ -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: {
|
|
@@ -62,7 +63,7 @@ const iotAgentConfig = {
|
|
|
62
63
|
deviceRegistrationDuration: 'P1M'
|
|
63
64
|
};
|
|
64
65
|
|
|
65
|
-
describe('Data Mapping Plugins: device provision', function () {
|
|
66
|
+
describe('NGSI-v2 - Data Mapping Plugins: device provision', function () {
|
|
66
67
|
const options = {
|
|
67
68
|
url: 'http://localhost:' + iotAgentConfig.server.port + '/iot/devices',
|
|
68
69
|
method: 'POST',
|
|
@@ -82,27 +83,16 @@ describe('Data Mapping Plugins: device provision', function () {
|
|
|
82
83
|
.matchHeader('fiware-service', 'smartgondor')
|
|
83
84
|
.matchHeader('fiware-servicepath', '/gardens')
|
|
84
85
|
.post(
|
|
85
|
-
'/
|
|
86
|
-
utils.readExampleFile('./test/unit/examples/contextAvailabilityRequests/
|
|
86
|
+
'/v2/registrations',
|
|
87
|
+
utils.readExampleFile('./test/unit/ngsiv2/examples/contextAvailabilityRequests/registerIoTAgent5.json')
|
|
87
88
|
)
|
|
88
|
-
.reply(
|
|
89
|
-
200,
|
|
90
|
-
utils.readExampleFile(
|
|
91
|
-
'./test/unit/examples/contextAvailabilityResponses/registerProvisionedDeviceSuccess.json'
|
|
92
|
-
)
|
|
93
|
-
);
|
|
89
|
+
.reply(201, null, { Location: '/v2/registrations/6319a7f5254b05844116584d' });
|
|
94
90
|
|
|
95
91
|
contextBrokerMock
|
|
96
92
|
.matchHeader('fiware-service', 'smartgondor')
|
|
97
93
|
.matchHeader('fiware-servicepath', '/gardens')
|
|
98
|
-
.post(
|
|
99
|
-
|
|
100
|
-
utils.readExampleFile('./test/unit/examples/contextRequests/createProvisionedDevice.json')
|
|
101
|
-
)
|
|
102
|
-
.reply(
|
|
103
|
-
200,
|
|
104
|
-
utils.readExampleFile('./test/unit/examples/contextResponses/createProvisionedDeviceSuccess.json')
|
|
105
|
-
);
|
|
94
|
+
.post('/v2/entities?options=upsert')
|
|
95
|
+
.reply(204);
|
|
106
96
|
|
|
107
97
|
iotAgentLib.activate(iotAgentConfig, function (error) {
|
|
108
98
|
iotAgentLib.clearAll(done);
|