iotagent-node-lib 2.15.1 → 2.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (448) hide show
  1. package/.github/workflows/ci.yml +17 -1
  2. package/.readthedocs.yml +7 -0
  3. package/CHANGES_NEXT_RELEASE +0 -1
  4. package/README.md +1 -0
  5. package/doc/Contribution.md +60 -1
  6. package/doc/advanced-topics.md +136 -14
  7. package/doc/api.md +38 -22
  8. package/doc/apiary/iotagent.apib +1 -3
  9. package/doc/architecture.md +2 -2
  10. package/doc/config-basic-example.js +0 -1
  11. package/doc/deprecated.md +2 -2
  12. package/doc/development.md +13 -6
  13. package/doc/expressionLanguage.md +519 -277
  14. package/doc/getting-started.md +0 -1
  15. package/doc/howto.md +13 -17
  16. package/doc/installationguide.md +67 -69
  17. package/doc/usermanual.md +48 -16
  18. package/docker/Mosquitto/Dockerfile +4 -9
  19. package/docker/Mosquitto/README.md +2 -0
  20. package/docker/Mosquitto/startMosquitto.sh +18 -1
  21. package/lib/command/commandLine.js +1 -1
  22. package/lib/commonConfig.js +5 -14
  23. package/lib/errors.js +0 -16
  24. package/lib/fiware-iotagent-lib.js +5 -0
  25. package/lib/jexlTranformsMap.js +71 -0
  26. package/lib/model/Command.js +1 -1
  27. package/lib/model/Device.js +5 -2
  28. package/lib/model/Group.js +20 -2
  29. package/lib/model/dbConn.js +7 -1
  30. package/lib/plugins/attributeAlias.js +6 -13
  31. package/lib/plugins/bidirectionalData.js +2 -27
  32. package/lib/plugins/expressionParser.js +41 -17
  33. package/lib/plugins/expressionPlugin.js +21 -27
  34. package/lib/plugins/jexlParser.js +71 -67
  35. package/lib/plugins/multiEntity.js +68 -147
  36. package/lib/plugins/pluginUtils.js +12 -48
  37. package/lib/plugins/timestampProcessPlugin.js +1 -46
  38. package/lib/request-shim.js +111 -0
  39. package/lib/services/common/domain.js +2 -2
  40. package/lib/services/common/genericMiddleware.js +6 -2
  41. package/lib/services/common/iotManagerService.js +1 -1
  42. package/lib/services/common/securityServiceKeystone.js +1 -1
  43. package/lib/services/common/securityServiceOAuth2.js +3 -2
  44. package/lib/services/devices/deviceRegistryMongoDB.js +29 -22
  45. package/lib/services/devices/deviceService.js +56 -33
  46. package/lib/services/devices/devices-NGSI-LD.js +42 -14
  47. package/lib/services/devices/devices-NGSI-mixed.js +3 -3
  48. package/lib/services/devices/devices-NGSI-v2.js +48 -24
  49. package/lib/services/devices/registrationUtils.js +1 -134
  50. package/lib/services/groups/groupRegistryMemory.js +2 -0
  51. package/lib/services/groups/groupRegistryMongoDB.js +58 -76
  52. package/lib/services/groups/groupService.js +1 -1
  53. package/lib/services/ngsi/entities-NGSI-LD.js +205 -124
  54. package/lib/services/ngsi/entities-NGSI-v2.js +142 -32
  55. package/lib/services/ngsi/ngsiService.js +4 -6
  56. package/lib/services/ngsi/ngsiUtils.js +0 -21
  57. package/lib/services/ngsi/subscription-NGSI-LD.js +14 -5
  58. package/lib/services/ngsi/subscriptionService.js +1 -4
  59. package/lib/services/northBound/contextServer-NGSI-LD.js +7 -2
  60. package/lib/services/northBound/contextServer-NGSI-v2.js +25 -13
  61. package/lib/services/northBound/contextServer.js +1 -4
  62. package/lib/services/northBound/contextServerUtils.js +0 -81
  63. package/lib/services/northBound/deviceProvisioningServer.js +36 -9
  64. package/lib/services/northBound/northboundServer.js +2 -0
  65. package/lib/services/northBound/restUtils.js +2 -39
  66. package/lib/templates/updateDevice.json +4 -0
  67. package/lib/templates/updateDeviceLax.json +4 -0
  68. package/package.json +13 -13
  69. package/test/tools/utils.js +2 -0
  70. package/test/unit/examples/deviceProvisioningRequests/provisionAnotherDevice.json +1 -1
  71. package/test/unit/examples/deviceProvisioningRequests/provisionDeviceMissingParameters.json +1 -1
  72. package/test/unit/examples/deviceProvisioningRequests/provisionDuplicatedDev.json +1 -1
  73. package/test/unit/examples/deviceProvisioningRequests/provisionFullDevice.json +1 -1
  74. package/test/unit/examples/deviceProvisioningRequests/provisionNewDeviceMalformed1.json +1 -1
  75. package/test/unit/examples/groupProvisioningRequests/multipleGroupsCreation.json +1 -1
  76. package/test/unit/examples/iotamRequests/registrationEmpty.json +1 -1
  77. package/test/unit/examples/iotamRequests/registrationWithGroups.json +2 -2
  78. package/test/unit/examples/iotamRequests/registrationWithGroupsWithoutCB.json +2 -2
  79. package/test/unit/examples/iotamRequests/registrationWithStaticGroups.json +2 -2
  80. package/test/unit/expressions/jexlExpression-test.js +119 -0
  81. package/test/unit/general/config-multi-core-test.js +1 -1
  82. package/test/unit/general/contextBrokerKeystoneSecurityAccess-test.js +30 -77
  83. package/test/unit/general/deviceService-test.js +19 -35
  84. package/test/unit/general/loglevel-api_test.js +8 -13
  85. package/test/unit/general/migration-test.js +1 -0
  86. package/test/unit/general/startup-test.js +3 -2
  87. package/test/unit/general/statistics-persistence_test.js +2 -2
  88. package/test/unit/general/statistics-service_test.js +2 -2
  89. package/test/unit/lazyAndCommands/commandRegistry_test.js +18 -18
  90. package/test/unit/memoryRegistry/deviceRegistryMemory_test.js +16 -24
  91. package/test/unit/mongodb/mongodb-connectionoptions-test.js +2 -2
  92. package/test/unit/mongodb/mongodb-group-registry-test.js +11 -11
  93. package/test/unit/mongodb/mongodb-registry-test.js +55 -131
  94. package/test/unit/ngsi-ld/examples/contextAvailabilityRequests/registerIoTAgent1.json +1 -1
  95. package/test/unit/ngsi-ld/examples/contextAvailabilityRequests/registerIoTAgent2.json +1 -1
  96. package/test/unit/ngsi-ld/examples/contextAvailabilityRequests/registerIoTAgent4.json +1 -1
  97. package/test/unit/ngsi-ld/examples/contextAvailabilityRequests/registerIoTAgentCommands.json +1 -1
  98. package/test/unit/ngsi-ld/examples/contextAvailabilityRequests/registerProvisionedDevice.json +1 -1
  99. package/test/unit/ngsi-ld/examples/contextAvailabilityRequests/registerProvisionedDevice2.json +1 -1
  100. package/test/unit/ngsi-ld/examples/contextAvailabilityRequests/registerProvisionedDeviceWithGroup.json +1 -1
  101. package/test/unit/ngsi-ld/examples/contextAvailabilityRequests/registerProvisionedDeviceWithGroup2.json +1 -1
  102. package/test/unit/ngsi-ld/examples/contextAvailabilityRequests/registerProvisionedDeviceWithGroup3.json +1 -1
  103. package/test/unit/ngsi-ld/examples/contextAvailabilityRequests/updateCommands1.json +1 -1
  104. package/test/unit/ngsi-ld/examples/contextAvailabilityRequests/updateIoTAgent1.json +1 -1
  105. package/test/unit/ngsi-ld/examples/contextAvailabilityRequests/updateIoTAgent2.json +1 -1
  106. package/test/unit/ngsi-ld/examples/contextAvailabilityRequests/updateIoTAgent3.json +1 -1
  107. package/test/unit/ngsi-ld/examples/contextRequests/createMinimumProvisionedDevice.json +0 -7
  108. package/test/unit/ngsi-ld/examples/contextRequests/createProvisionedDevice.json +0 -7
  109. package/test/unit/ngsi-ld/examples/contextRequests/createProvisionedDeviceMultientity.json +0 -7
  110. package/test/unit/ngsi-ld/examples/contextRequests/createProvisionedDeviceWithGroupAndStatic.json +0 -14
  111. package/test/unit/ngsi-ld/examples/contextRequests/createProvisionedDeviceWithGroupAndStatic2.json +0 -14
  112. package/test/unit/ngsi-ld/examples/contextRequests/createProvisionedDeviceWithGroupAndStatic3.json +1 -15
  113. package/test/unit/ngsi-ld/examples/contextRequests/createTimeInstantMinimumDevice.json +0 -7
  114. package/test/unit/ngsi-ld/examples/contextRequests/updateContextAliasPlugin6.json +0 -7
  115. package/test/unit/ngsi-ld/examples/contextRequests/updateContextAutocast5.json +0 -7
  116. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin12a.json +7 -0
  117. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin13.json +13 -13
  118. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin16.json +0 -7
  119. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin17.json +0 -7
  120. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin1a.json +18 -0
  121. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin29.json +18 -0
  122. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin31.json +15 -0
  123. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin32.json +17 -0
  124. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin33.json +18 -0
  125. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin34.json +17 -0
  126. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin4a.json +36 -0
  127. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin5.json +0 -7
  128. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin7.json +16 -16
  129. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin8a.json +18 -0
  130. package/test/unit/ngsi-ld/examples/contextRequests/updateContextGeoproperties3.json +0 -7
  131. package/test/unit/ngsi-ld/examples/contextRequests/updateContextMultientityPlugin15.json +25 -0
  132. package/test/unit/ngsi-ld/examples/contextRequests/updateContextMultientityTimestampPlugin1.json +6 -6
  133. package/test/unit/ngsi-ld/examples/contextRequests/updateContextMultientityTimestampPlugin2.json +3 -3
  134. package/test/unit/ngsi-ld/examples/contextRequests/updateProvisionActiveAttributes1.json +0 -7
  135. package/test/unit/ngsi-ld/examples/contextRequests/updateProvisionCommands1.json +0 -7
  136. package/test/unit/ngsi-ld/examples/contextRequests/updateProvisionDeviceStatic.json +0 -7
  137. package/test/unit/ngsi-ld/examples/contextRequests/updateProvisionMinimumDevice.json +0 -7
  138. package/test/unit/ngsi-ld/examples/subscriptionRequests/bidirectionalSubscriptionRequest.json +20 -17
  139. package/test/unit/ngsi-ld/examples/subscriptionRequests/simpleSubscriptionRequest.json +18 -15
  140. package/test/unit/ngsi-ld/examples/subscriptionRequests/simpleSubscriptionRequest2.json +18 -15
  141. package/test/unit/ngsi-ld/expressions/expressionBasedTransformations-test.js +21 -21
  142. package/test/unit/ngsi-ld/expressions/jexlBasedTransformations-test.js +1018 -0
  143. package/test/unit/ngsi-ld/general/config-jsonld-contexts-test.js +2 -2
  144. package/test/unit/ngsi-ld/general/contextBrokerOAuthSecurityAccess-test.js +24 -24
  145. package/test/unit/ngsi-ld/general/deviceService-test.js +7 -7
  146. package/test/unit/ngsi-ld/general/https-support-test.js +14 -13
  147. package/test/unit/ngsi-ld/general/iotam-autoregistration-test.js +8 -7
  148. package/test/unit/ngsi-ld/general/startup-test.js +2 -1
  149. package/test/unit/ngsi-ld/lazyAndCommands/active-devices-attribute-update-test.js +10 -8
  150. package/test/unit/ngsi-ld/lazyAndCommands/command-test.js +11 -12
  151. package/test/unit/ngsi-ld/lazyAndCommands/lazy-devices-test.js +25 -29
  152. package/test/unit/ngsi-ld/lazyAndCommands/polling-commands-test.js +16 -15
  153. package/test/unit/ngsi-ld/ngsiService/active-devices-test.js +18 -17
  154. package/test/unit/ngsi-ld/ngsiService/autocast-test.js +13 -12
  155. package/test/unit/ngsi-ld/ngsiService/geoproperties-test.js +10 -9
  156. package/test/unit/ngsi-ld/ngsiService/staticAttributes-test.js +3 -3
  157. package/test/unit/ngsi-ld/ngsiService/subscriptions-test.js +25 -24
  158. package/test/unit/ngsi-ld/plugins/alias-plugin_test.js +13 -12
  159. package/test/unit/ngsi-ld/plugins/bidirectional-plugin_test.js +27 -26
  160. package/test/unit/ngsi-ld/plugins/compress-timestamp-plugin_test.js +5 -5
  161. package/test/unit/ngsi-ld/plugins/event-plugin_test.js +3 -3
  162. package/test/unit/ngsi-ld/plugins/multientity-plugin_test.js +75 -14
  163. package/test/unit/ngsi-ld/plugins/timestamp-processing-plugin_test.js +3 -3
  164. package/test/unit/ngsi-ld/provisioning/device-provisioning-api_test.js +54 -53
  165. package/test/unit/ngsi-ld/provisioning/device-registration_test.js +20 -19
  166. package/test/unit/ngsi-ld/provisioning/device-update-registration_test.js +23 -22
  167. package/test/unit/ngsi-ld/provisioning/listProvisionedDevices-test.js +58 -70
  168. package/test/unit/ngsi-ld/provisioning/provisionDeviceMultientity-test.js +8 -7
  169. package/test/unit/ngsi-ld/provisioning/removeProvisionedDevice-test.js +19 -19
  170. package/test/unit/ngsi-ld/provisioning/singleConfigurationMode-test.js +18 -20
  171. package/test/unit/ngsi-ld/provisioning/updateProvisionedDevices-test.js +43 -49
  172. package/test/unit/ngsi-mixed/provisioning/ngsi-versioning-test.js +16 -14
  173. package/test/unit/ngsiv2/examples/contextAvailabilityRequests/registerIoTAgent1.json +1 -1
  174. package/test/unit/ngsiv2/examples/contextAvailabilityRequests/registerIoTAgent2.json +1 -1
  175. package/test/unit/ngsiv2/examples/contextAvailabilityRequests/registerIoTAgent3.json +19 -0
  176. package/test/unit/ngsiv2/examples/contextAvailabilityRequests/registerIoTAgent4.json +1 -1
  177. package/test/unit/ngsiv2/examples/contextAvailabilityRequests/registerIoTAgent5.json +19 -0
  178. package/test/unit/ngsiv2/examples/contextAvailabilityRequests/registerIoTAgentCommands.json +1 -1
  179. package/test/unit/ngsiv2/examples/contextAvailabilityRequests/registerProvisionedDevice.json +1 -1
  180. package/test/unit/ngsiv2/examples/contextAvailabilityRequests/registerProvisionedDevice2.json +1 -1
  181. package/test/unit/ngsiv2/examples/contextAvailabilityRequests/registerProvisionedDeviceWithGroup.json +1 -1
  182. package/test/unit/ngsiv2/examples/contextAvailabilityRequests/registerProvisionedDeviceWithGroup2.json +1 -1
  183. package/test/unit/ngsiv2/examples/contextAvailabilityRequests/registerProvisionedDeviceWithGroup3.json +1 -1
  184. package/test/unit/ngsiv2/examples/contextAvailabilityRequests/updateCommands1.json +3 -3
  185. package/test/unit/ngsiv2/examples/contextAvailabilityRequests/updateIoTAgent1.json +3 -3
  186. package/test/unit/ngsiv2/examples/contextAvailabilityRequests/updateIoTAgent2.json +1 -1
  187. package/test/unit/ngsiv2/examples/contextAvailabilityRequests/updateIoTAgent3.json +1 -1
  188. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin1.json +17 -1
  189. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin11.json +5 -1
  190. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin12.json +2 -2
  191. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin15.json +6 -0
  192. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin16.json +14 -0
  193. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin17.json +14 -0
  194. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin18.json +6 -0
  195. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin19.json +6 -0
  196. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin2.json +13 -1
  197. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin20.json +6 -0
  198. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin21.json +6 -0
  199. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin22.json +6 -0
  200. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin23.json +6 -0
  201. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin24.json +6 -0
  202. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin25.json +6 -0
  203. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin26.json +6 -0
  204. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin27.json +6 -0
  205. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin28.json +6 -0
  206. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin29.json +22 -0
  207. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin3.json +5 -1
  208. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin30.json +6 -0
  209. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin31.json +18 -0
  210. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin32.json +16 -0
  211. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin33.json +22 -0
  212. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin34.json +12 -0
  213. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin4.json +12 -0
  214. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin5.json +5 -1
  215. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin6.json +5 -1
  216. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin7.json +5 -1
  217. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin8.json +17 -1
  218. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin9.json +5 -1
  219. package/test/unit/ngsiv2/examples/contextRequests/updateContextMiddleware1.json +10 -0
  220. package/test/unit/ngsiv2/examples/contextRequests/updateContextMiddleware2.json +10 -0
  221. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin1.json +2 -2
  222. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin10.json +1 -1
  223. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin11.json +13 -0
  224. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin12.json +33 -0
  225. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin13.json +33 -0
  226. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin14.json +33 -0
  227. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin15.json +25 -0
  228. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin16.json +25 -0
  229. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin2.json +2 -2
  230. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin3.json +1 -1
  231. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin4.json +1 -1
  232. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin5.json +1 -1
  233. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin6.json +1 -1
  234. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin7.json +1 -1
  235. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin8.json +2 -2
  236. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin9.json +1 -1
  237. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityTimestampPlugin1.json +8 -8
  238. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityTimestampPlugin2.json +4 -4
  239. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityTimestampPlugin3.json +1 -1
  240. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityTimestampPlugin4.json +2 -2
  241. package/test/unit/ngsiv2/examples/contextRequests/updateProvisionDevice.json +20 -0
  242. package/test/unit/ngsiv2/examples/subscriptionRequests/bidirectionalSubscriptionRequest.json +1 -1
  243. package/test/unit/ngsiv2/examples/subscriptionRequests/simpleSubscriptionRequest.json +1 -1
  244. package/test/unit/ngsiv2/examples/subscriptionRequests/simpleSubscriptionRequest2.json +1 -1
  245. package/test/unit/ngsiv2/expressions/expressionBasedTransformations-test.js +93 -60
  246. package/test/unit/ngsiv2/expressions/expressionCombinedTransformations-test.js +16 -16
  247. package/test/unit/ngsiv2/expressions/jexlBasedTransformations-test.js +548 -164
  248. package/test/unit/ngsiv2/general/contextBrokerOAuthSecurityAccess-test.js +34 -33
  249. package/test/unit/ngsiv2/general/deviceService-test.js +15 -14
  250. package/test/unit/ngsiv2/general/https-support-test.js +14 -13
  251. package/test/unit/ngsiv2/general/iotam-autoregistration-test.js +8 -7
  252. package/test/unit/ngsiv2/general/startup-test.js +2 -1
  253. package/test/unit/ngsiv2/lazyAndCommands/active-devices-attribute-update-test.js +9 -7
  254. package/test/unit/ngsiv2/lazyAndCommands/command-test.js +13 -12
  255. package/test/unit/ngsiv2/lazyAndCommands/lazy-devices-test.js +323 -51
  256. package/test/unit/ngsiv2/lazyAndCommands/polling-commands-test.js +22 -20
  257. package/test/unit/ngsiv2/ngsiService/active-devices-test.js +114 -26
  258. package/test/unit/ngsiv2/ngsiService/autocast-test.js +16 -16
  259. package/test/unit/ngsiv2/ngsiService/geoproperties-test.js +39 -38
  260. package/test/unit/{ngsiService → ngsiv2/ngsiService}/queryDeviceInformationInCb-test.js +25 -54
  261. package/test/unit/ngsiv2/ngsiService/staticAttributes-test.js +5 -5
  262. package/test/unit/ngsiv2/ngsiService/subscriptions-test.js +25 -24
  263. package/test/unit/ngsiv2/plugins/alias-plugin_test.js +22 -22
  264. package/test/unit/ngsiv2/plugins/bidirectional-plugin_test.js +27 -26
  265. package/test/unit/ngsiv2/plugins/compress-timestamp-plugin_test.js +7 -7
  266. package/test/unit/ngsiv2/plugins/event-plugin_test.js +4 -4
  267. package/test/unit/ngsiv2/plugins/multientity-plugin_test.js +549 -24
  268. package/test/unit/ngsiv2/plugins/timestamp-processing-plugin_test.js +4 -4
  269. package/test/unit/{plugins → ngsiv2/plugins}/translation-inPlugins_test.js +25 -25
  270. package/test/unit/{provisioning → ngsiv2/provisioning}/device-group-api-test.js +44 -75
  271. package/test/unit/{provisioning/device-group-utils_test.js → ngsiv2/provisioning/device-group-utils-test.js} +15 -14
  272. package/test/unit/ngsiv2/provisioning/device-provisioning-api_test.js +74 -73
  273. package/test/unit/ngsiv2/provisioning/device-registration_test.js +20 -19
  274. package/test/unit/ngsiv2/provisioning/device-update-registration_test.js +30 -29
  275. package/test/unit/ngsiv2/provisioning/listProvisionedDevices-test.js +58 -69
  276. package/test/unit/ngsiv2/provisioning/provisionDeviceMultientity-test.js +8 -7
  277. package/test/unit/ngsiv2/provisioning/removeProvisionedDevice-test.js +19 -19
  278. package/test/unit/ngsiv2/provisioning/singleConfigurationMode-test.js +18 -19
  279. package/test/unit/ngsiv2/provisioning/updateProvisionedDevices-test.js +49 -52
  280. package/test/unit/plugins/capture-configuration-inPlugins_test.js +6 -4
  281. package/test/unit/plugins/capture-provision-inPlugins_test.js +13 -23
  282. package/.nyc_output/016aca19-69bf-4681-9b41-2835c5131681.json +0 -1
  283. package/.nyc_output/processinfo/016aca19-69bf-4681-9b41-2835c5131681.json +0 -1
  284. package/.nyc_output/processinfo/index.json +0 -1
  285. package/lib/services/devices/devices-NGSI-v1.js +0 -293
  286. package/lib/services/devices/registrationUtils.js_avega +0 -589
  287. package/lib/services/ngsi/entities-NGSI-v1.js +0 -300
  288. package/lib/services/ngsi/subscription-NGSI-v1.js +0 -234
  289. package/lib/services/northBound/contextServer-NGSI-v1.js +0 -526
  290. package/lib/templates/notificationTemplateNgsi1.json +0 -75
  291. package/lib/templates/updateContextNgsi1.json +0 -50
  292. package/test/unit/examples/contextAvailabilityRequests/registerIoTAgent1.json +0 -21
  293. package/test/unit/examples/contextAvailabilityRequests/registerIoTAgent2.json +0 -21
  294. package/test/unit/examples/contextAvailabilityRequests/registerIoTAgent3.json +0 -25
  295. package/test/unit/examples/contextAvailabilityRequests/registerIoTAgent4.json +0 -22
  296. package/test/unit/examples/contextAvailabilityRequests/registerIoTAgentAttributeUpdates.json +0 -16
  297. package/test/unit/examples/contextAvailabilityRequests/registerIoTAgentCommands.json +0 -21
  298. package/test/unit/examples/contextAvailabilityRequests/registerNewDevice1.json +0 -21
  299. package/test/unit/examples/contextAvailabilityRequests/registerNewDevice2.json +0 -21
  300. package/test/unit/examples/contextAvailabilityRequests/registerProvisionedDevice.json +0 -25
  301. package/test/unit/examples/contextAvailabilityRequests/registerProvisionedDevice2.json +0 -21
  302. package/test/unit/examples/contextAvailabilityRequests/registerProvisionedDeviceWithGroup.json +0 -33
  303. package/test/unit/examples/contextAvailabilityRequests/registerProvisionedDeviceWithGroup2.json +0 -33
  304. package/test/unit/examples/contextAvailabilityRequests/unregisterDevice1.json +0 -22
  305. package/test/unit/examples/contextAvailabilityRequests/unregisterDevice3.json +0 -26
  306. package/test/unit/examples/contextAvailabilityRequests/unregisterProvisionedDevice.json +0 -26
  307. package/test/unit/examples/contextAvailabilityRequests/updateCommands1.json +0 -22
  308. package/test/unit/examples/contextAvailabilityRequests/updateIoTAgent1.json +0 -22
  309. package/test/unit/examples/contextAvailabilityRequests/updateIoTAgent2.json +0 -26
  310. package/test/unit/examples/contextAvailabilityRequests/updateIoTAgent3.json +0 -22
  311. package/test/unit/examples/contextAvailabilityResponses/registerIoTAgent1Failed.json +0 -8
  312. package/test/unit/examples/contextAvailabilityResponses/registerIoTAgent1Success.json +0 -4
  313. package/test/unit/examples/contextAvailabilityResponses/registerNewDevice1Success.json +0 -4
  314. package/test/unit/examples/contextAvailabilityResponses/registerNewDevice2Success.json +0 -4
  315. package/test/unit/examples/contextAvailabilityResponses/registerProvisionedDeviceSuccess.json +0 -4
  316. package/test/unit/examples/contextAvailabilityResponses/unregisterDevice1Failed.json +0 -8
  317. package/test/unit/examples/contextAvailabilityResponses/unregisterDevice1Success.json +0 -4
  318. package/test/unit/examples/contextAvailabilityResponses/updateCommands1Success.json +0 -4
  319. package/test/unit/examples/contextAvailabilityResponses/updateIoTAgent1Success.json +0 -6
  320. package/test/unit/examples/contextProviderResponses/queryInformationResponse.json +0 -22
  321. package/test/unit/examples/contextProviderResponses/queryInformationResponseEmptyAttributes.json +0 -22
  322. package/test/unit/examples/contextProviderResponses/queryInformationStaticAttributesResponse.json +0 -27
  323. package/test/unit/examples/contextProviderResponses/updateInformationResponse.json +0 -22
  324. package/test/unit/examples/contextProviderResponses/updateInformationResponse2.json +0 -22
  325. package/test/unit/examples/contextRequests/contextSubscriptionRequest.json +0 -20
  326. package/test/unit/examples/contextRequests/contextSubscriptionRequest2.json +0 -20
  327. package/test/unit/examples/contextRequests/createBidirectionalDevice.json +0 -17
  328. package/test/unit/examples/contextRequests/createDatetimeProvisionedDevice.json +0 -17
  329. package/test/unit/examples/contextRequests/createGeopointProvisionedDevice.json +0 -17
  330. package/test/unit/examples/contextRequests/createMinimumProvisionedDevice.json +0 -17
  331. package/test/unit/examples/contextRequests/createProvisionedDevice.json +0 -32
  332. package/test/unit/examples/contextRequests/createProvisionedDeviceMultientity.json +0 -32
  333. package/test/unit/examples/contextRequests/createProvisionedDeviceWithGroup.json +0 -47
  334. package/test/unit/examples/contextRequests/createProvisionedDeviceWithGroupAndStatic.json +0 -52
  335. package/test/unit/examples/contextRequests/createProvisionedDeviceWithGroupAndStatic2.json +0 -52
  336. package/test/unit/examples/contextRequests/createTimeinstantDevice.json +0 -17
  337. package/test/unit/examples/contextRequests/queryContext1.json +0 -13
  338. package/test/unit/examples/contextRequests/queryContext2.json +0 -13
  339. package/test/unit/examples/contextRequests/queryContextAliasPlugin1.json +0 -10
  340. package/test/unit/examples/contextRequests/queryContextCompressTimestamp1.json +0 -13
  341. package/test/unit/examples/contextRequests/updateActiveAttributes.json +0 -11
  342. package/test/unit/examples/contextRequests/updateContext1.json +0 -22
  343. package/test/unit/examples/contextRequests/updateContext2.json +0 -22
  344. package/test/unit/examples/contextRequests/updateContext3.json +0 -17
  345. package/test/unit/examples/contextRequests/updateContext3WithStatic.json +0 -22
  346. package/test/unit/examples/contextRequests/updateContext4.json +0 -22
  347. package/test/unit/examples/contextRequests/updateContext5.json +0 -19
  348. package/test/unit/examples/contextRequests/updateContextAliasPlugin.json +0 -22
  349. package/test/unit/examples/contextRequests/updateContextAliasPlugin2.json +0 -17
  350. package/test/unit/examples/contextRequests/updateContextAppendMode.json +0 -22
  351. package/test/unit/examples/contextRequests/updateContextCommandError.json +0 -22
  352. package/test/unit/examples/contextRequests/updateContextCommandExpired.json +0 -22
  353. package/test/unit/examples/contextRequests/updateContextCommandFinish.json +0 -22
  354. package/test/unit/examples/contextRequests/updateContextCommandStatus.json +0 -17
  355. package/test/unit/examples/contextRequests/updateContextCompressTimestamp1.json +0 -22
  356. package/test/unit/examples/contextRequests/updateContextCompressTimestamp2.json +0 -29
  357. package/test/unit/examples/contextRequests/updateContextExpressionPlugin1.json +0 -17
  358. package/test/unit/examples/contextRequests/updateContextExpressionPlugin2.json +0 -27
  359. package/test/unit/examples/contextRequests/updateContextExpressionPlugin3.json +0 -17
  360. package/test/unit/examples/contextRequests/updateContextExpressionPlugin4.json +0 -17
  361. package/test/unit/examples/contextRequests/updateContextExpressionPlugin5.json +0 -27
  362. package/test/unit/examples/contextRequests/updateContextMiddleware1.json +0 -22
  363. package/test/unit/examples/contextRequests/updateContextMultiEntityPlugin3.json +0 -35
  364. package/test/unit/examples/contextRequests/updateContextMultientityPlugin1.json +0 -30
  365. package/test/unit/examples/contextRequests/updateContextMultientityPlugin2.json +0 -30
  366. package/test/unit/examples/contextRequests/updateContextProcessTimestamp1.json +0 -29
  367. package/test/unit/examples/contextRequests/updateContextStaticAttributes.json +0 -22
  368. package/test/unit/examples/contextRequests/updateContextTimestamp.json +0 -41
  369. package/test/unit/examples/contextRequests/updateContextTimestampOverride.json +0 -22
  370. package/test/unit/examples/contextRequests/updateContextTimestampOverrideWithoutMilis.json +0 -22
  371. package/test/unit/examples/contextRequests/updateContextTimestampTimezone.json +0 -41
  372. package/test/unit/examples/contextRequests/updateProvisionActiveAttributes1.json +0 -17
  373. package/test/unit/examples/contextRequests/updateProvisionCommands1.json +0 -27
  374. package/test/unit/examples/contextRequests/updateProvisionDeviceStatic.json +0 -38
  375. package/test/unit/examples/contextRequests/updateProvisionMinimumDevice.json +0 -17
  376. package/test/unit/examples/contextResponses/contextSubscriptionRequest2Success.json +0 -7
  377. package/test/unit/examples/contextResponses/contextSubscriptionRequestSuccess.json +0 -7
  378. package/test/unit/examples/contextResponses/createBidirectionalDeviceSuccess.json +0 -22
  379. package/test/unit/examples/contextResponses/createDatetimeProvisionedDeviceSuccess.json +0 -22
  380. package/test/unit/examples/contextResponses/createGeopointProvisionedDeviceSuccess.json +0 -22
  381. package/test/unit/examples/contextResponses/createProvisionedDeviceSuccess.json +0 -22
  382. package/test/unit/examples/contextResponses/createTimeinstantSuccess.json +0 -22
  383. package/test/unit/examples/contextResponses/queryContext1Success.json +0 -27
  384. package/test/unit/examples/contextResponses/queryContext2Error.json +0 -7
  385. package/test/unit/examples/contextResponses/queryContext2UnknownError.json +0 -6
  386. package/test/unit/examples/contextResponses/queryContext3Error.json +0 -34
  387. package/test/unit/examples/contextResponses/queryContextAliasPlugin1Success.json +0 -27
  388. package/test/unit/examples/contextResponses/queryContextCompressTimestamp1Success.json +0 -27
  389. package/test/unit/examples/contextResponses/updateActiveAttributesSuccess.json +0 -16
  390. package/test/unit/examples/contextResponses/updateContext1Failed.json +0 -7
  391. package/test/unit/examples/contextResponses/updateContext1Success.json +0 -27
  392. package/test/unit/examples/contextResponses/updateContext2Failed.json +0 -35
  393. package/test/unit/examples/contextResponses/updateContextAliasPlugin2Success.json +0 -27
  394. package/test/unit/examples/contextResponses/updateContextAliasPluginSuccess.json +0 -27
  395. package/test/unit/examples/contextResponses/updateContextCommandFinishSuccess.json +0 -27
  396. package/test/unit/examples/contextResponses/updateContextCommandStatusSuccess.json +0 -22
  397. package/test/unit/examples/contextResponses/updateContextCompressTimestamp1Success.json +0 -27
  398. package/test/unit/examples/contextResponses/updateContextCompressTimestamp2Success.json +0 -34
  399. package/test/unit/examples/contextResponses/updateContextEvents1Success.json +0 -27
  400. package/test/unit/examples/contextResponses/updateContextExpressionPlugin1Success.json +0 -22
  401. package/test/unit/examples/contextResponses/updateContextExpressionPlugin2Success.json +0 -22
  402. package/test/unit/examples/contextResponses/updateContextExpressionPlugin3Success.json +0 -22
  403. package/test/unit/examples/contextResponses/updateContextExpressionPlugin5Success.json +0 -32
  404. package/test/unit/examples/contextResponses/updateContextMultientityPlugin1Success.json +0 -40
  405. package/test/unit/examples/contextResponses/updateContextMultientityPlugin2Success.json +0 -40
  406. package/test/unit/examples/contextResponses/updateContextMultientityPlugin3Success.json +0 -40
  407. package/test/unit/examples/contextResponses/updateContextProcessTimestamp1Success.json +0 -27
  408. package/test/unit/examples/contextResponses/updateProvisionActiveAttributes1Success.json +0 -22
  409. package/test/unit/examples/contextResponses/updateProvisionCommands1Success.json +0 -32
  410. package/test/unit/examples/contextResponses/updateProvisionMinimumDeviceSuccess.json +0 -22
  411. package/test/unit/examples/subscriptionRequests/bidirectionalNotification.json +0 -24
  412. package/test/unit/examples/subscriptionRequests/bidirectionalSubscriptionRemove.json +0 -3
  413. package/test/unit/examples/subscriptionRequests/bidirectionalSubscriptionRequest.json +0 -22
  414. package/test/unit/examples/subscriptionRequests/errorNotification.json +0 -24
  415. package/test/unit/examples/subscriptionRequests/simpleNotification.json +0 -24
  416. package/test/unit/examples/subscriptionRequests/simpleSubscriptionRemove.json +0 -3
  417. package/test/unit/examples/subscriptionRequests/simpleSubscriptionRequest.json +0 -19
  418. package/test/unit/examples/subscriptionRequests/simpleSubscriptionRequest1.json +0 -19
  419. package/test/unit/examples/subscriptionResponses/bidirectionalSubscriptionSuccess.json +0 -6
  420. package/test/unit/examples/subscriptionResponses/simpleSubscriptionSuccess.json +0 -6
  421. package/test/unit/expressions/expressionBasedTransformations-test.js +0 -328
  422. package/test/unit/expressions/expressionCombinedTransformations-test.js +0 -306
  423. package/test/unit/expressions/jexlBasedTransformations-test.js +0 -334
  424. package/test/unit/general/contextBrokerOAuthSecurityAccess-test.js +0 -902
  425. package/test/unit/general/https-support-test.js +0 -286
  426. package/test/unit/general/iotam-autoregistration-test.js +0 -368
  427. package/test/unit/lazyAndCommands/active-devices-attribute-update-test.js +0 -168
  428. package/test/unit/lazyAndCommands/command-test.js +0 -341
  429. package/test/unit/lazyAndCommands/lazy-devices-test.js +0 -878
  430. package/test/unit/lazyAndCommands/polling-commands-test.js +0 -421
  431. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin20.json +0 -25
  432. package/test/unit/ngsiService/active-devices-test.js +0 -692
  433. package/test/unit/ngsiService/staticAttributes-test.js +0 -148
  434. package/test/unit/ngsiService/subscriptions-test.js +0 -345
  435. package/test/unit/plugins/alias-plugin_test.js +0 -158
  436. package/test/unit/plugins/bidirectional-plugin_test.js +0 -564
  437. package/test/unit/plugins/compress-timestamp-plugin_test.js +0 -257
  438. package/test/unit/plugins/event-plugin_test.js +0 -119
  439. package/test/unit/plugins/multientity-plugin_test.js +0 -248
  440. package/test/unit/plugins/timestamp-processing-plugin_test.js +0 -119
  441. package/test/unit/provisioning/device-provisioning-api_test.js +0 -748
  442. package/test/unit/provisioning/device-registration_test.js +0 -432
  443. package/test/unit/provisioning/device-update-registration_test.js +0 -326
  444. package/test/unit/provisioning/listProvisionedDevices-test.js +0 -488
  445. package/test/unit/provisioning/provisionDeviceMultientity-test.js +0 -123
  446. package/test/unit/provisioning/removeProvisionedDevice-test.js +0 -244
  447. package/test/unit/provisioning/singleConfigurationMode-test.js +0 -346
  448. package/test/unit/provisioning/updateProvisionedDevices-test.js +0 -436
@@ -57,7 +57,7 @@ const iotAgentConfig = {
57
57
  ]
58
58
  }
59
59
  },
60
- providerUrl: 'http://smartGondor.com',
60
+ providerUrl: 'http://smartgondor.com',
61
61
  deviceRegistrationDuration: 'P1M',
62
62
  throttling: 'PT5S'
63
63
  };
@@ -118,7 +118,7 @@ describe('NGSI-LD - JSON-LD @context parsing from environment variable', functio
118
118
 
119
119
  it('should load the configuration as a single entry list', function (done) {
120
120
  config.setConfig(iotAgentConfig);
121
- config.getConfig().contextBroker.jsonLdContext.should.containDeep(['http://context1.json-ld']);
121
+ config.getConfig().contextBroker.jsonLdContext.should.equal('http://context1.json-ld');
122
122
  done();
123
123
  });
124
124
  });
@@ -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;
@@ -55,7 +55,7 @@ const iotAgentConfig = {
55
55
  },
56
56
  types: {
57
57
  Light: {
58
- service: 'smartGondor',
58
+ service: 'smartgondor',
59
59
  subservice: 'electricity',
60
60
  trust: 'eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ3cHdWclJ3',
61
61
  type: 'Light',
@@ -85,9 +85,9 @@ const iotAgentConfig = {
85
85
  active: []
86
86
  }
87
87
  },
88
- service: 'smartGondor',
88
+ service: 'smartgondor',
89
89
  subservice: 'gardens',
90
- providerUrl: 'http://smartGondor.com'
90
+ providerUrl: 'http://smartgondor.com'
91
91
  };
92
92
 
93
93
  describe('NGSI-LD - Secured access to the Context Broker with OAuth2 provider', function () {
@@ -125,7 +125,7 @@ describe('NGSI-LD - Secured access to the Context Broker with OAuth2 provider',
125
125
  .reply(201, utils.readExampleFile('./test/unit/examples/oauthResponses/tokenFromTrust.json'), {});
126
126
 
127
127
  contextBrokerMock = nock('http://192.168.1.1:1026')
128
- .matchHeader('fiware-service', 'smartGondor')
128
+ .matchHeader('fiware-service', 'smartgondor')
129
129
  .matchHeader('Authorization', 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ3cHdWclJ3')
130
130
  .post(
131
131
  '/ngsi-ld/v1/entityOperations/upsert/?options=update',
@@ -163,7 +163,7 @@ describe('NGSI-LD - Secured access to the Context Broker with OAuth2 provider',
163
163
  .reply(201, utils.readExampleFile('./test/unit/examples/oauthResponses/tokenFromTrust.json'), {});
164
164
 
165
165
  contextBrokerMock = nock('http://192.168.1.1:1026')
166
- .matchHeader('fiware-service', 'smartGondor')
166
+ .matchHeader('fiware-service', 'smartgondor')
167
167
  .matchHeader('Authorization', 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ3cHdWclJ3')
168
168
  .post(
169
169
  '/ngsi-ld/v1/entityOperations/upsert/?options=update',
@@ -197,7 +197,7 @@ describe('NGSI-LD - Secured access to the Context Broker with OAuth2 provider',
197
197
  );
198
198
 
199
199
  contextBrokerMock = nock('http://192.168.1.1:1026')
200
- .matchHeader('fiware-service', 'smartGondor')
200
+ .matchHeader('fiware-service', 'smartgondor')
201
201
  .matchHeader('Authorization', 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ3cHdWclJ3')
202
202
  .post(
203
203
  '/ngsi-ld/v1/entityOperations/upsert/?options=update',
@@ -231,7 +231,7 @@ describe('NGSI-LD - Secured access to the Context Broker with OAuth2 provider',
231
231
  .reply(201, utils.readExampleFile('./test/unit/examples/oauthResponses/tokenFromTrust.json'), {});
232
232
 
233
233
  contextBrokerMock = nock('http://192.168.1.1:1026')
234
- .matchHeader('fiware-service', 'smartGondor')
234
+ .matchHeader('fiware-service', 'smartgondor')
235
235
  .matchHeader('Authorization', 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ3cHdWclJ3')
236
236
  .get('/ngsi-ld/v1/entities/urn:ngsi-ld:Light:light1?attrs=state,dimming')
237
237
  .reply(
@@ -259,7 +259,7 @@ describe('NGSI-LD - Secured access to the Context Broker with OAuth2 provider',
259
259
  './test/unit/examples/deviceProvisioningRequests/provisionMinimumDevice3.json'
260
260
  ),
261
261
  headers: {
262
- 'fiware-service': 'smartGondor',
262
+ 'fiware-service': 'smartgondor',
263
263
  'fiware-servicepath': 'electricity',
264
264
  'Content-Type': 'application/ld+json'
265
265
  }
@@ -317,7 +317,7 @@ describe('NGSI-LD - Secured access to the Context Broker with OAuth2 provider',
317
317
  });
318
318
 
319
319
  it('subscribe requests use auth header', function (done) {
320
- iotAgentLib.getDevice('Light1', 'smartGondor', 'electricity', function (error, device) {
320
+ iotAgentLib.getDevice('Light1', 'smartgondor', 'electricity', function (error, device) {
321
321
  iotAgentLib.subscribe(device, ['dimming'], null, function (error) {
322
322
  should.not.exist(error);
323
323
 
@@ -336,9 +336,9 @@ 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
- iotAgentLib.getDevice('Light1', 'smartGondor', 'electricity', function (error, device) {
341
+ iotAgentLib.getDevice('Light1', 'smartgondor', 'electricity', function (error, device) {
342
342
  iotAgentLib.subscribe(device, ['dimming'], null, function (error) {
343
343
  iotAgentLib.unsubscribe(device, '51c0ac9ed714fb3b37d7d5a8', function (error) {
344
344
  contextBrokerMock.done();
@@ -390,7 +390,7 @@ describe('NGSI-LD - Secured access to the Context Broker with OAuth2 provider (F
390
390
  );
391
391
 
392
392
  contextBrokerMock = nock('http://192.168.1.1:1026')
393
- .matchHeader('fiware-service', 'smartGondor')
393
+ .matchHeader('fiware-service', 'smartgondor')
394
394
  .matchHeader('Authorization', 'Bearer c1b752e377680acd1349a3ed59db855a1db07605')
395
395
  .post(
396
396
  '/ngsi-ld/v1/entityOperations/upsert/?options=update',
@@ -436,7 +436,7 @@ describe('NGSI-LD - Secured access to the Context Broker with OAuth2 provider (F
436
436
  );
437
437
 
438
438
  contextBrokerMock = nock('http://192.168.1.1:1026')
439
- .matchHeader('fiware-service', 'smartGondor')
439
+ .matchHeader('fiware-service', 'smartgondor')
440
440
  .matchHeader('Authorization', 'Bearer c1b752e377680acd1349a3ed59db855a1db07605')
441
441
  .get('/ngsi-ld/v1/entities/urn:ngsi-ld:Light:light1?attrs=state,dimming')
442
442
  .reply(
@@ -527,7 +527,7 @@ describe('NGSI-LD - Secured access to the Context Broker with OAuth2 provider (F
527
527
  );
528
528
 
529
529
  contextBrokerMock = nock('http://192.168.1.1:1026')
530
- .matchHeader('fiware-service', 'smartGondor')
530
+ .matchHeader('fiware-service', 'smartgondor')
531
531
  .matchHeader('Authorization', 'Bearer c1b752e377680acd1349a3ed59db855a1db07605')
532
532
  .post(
533
533
  '/ngsi-ld/v1/entityOperations/upsert/?options=update',
@@ -557,7 +557,7 @@ describe(
557
557
  method: 'POST',
558
558
  json: utils.readExampleFile('./test/unit/examples/groupProvisioningRequests/provisionFullGroup.json'),
559
559
  headers: {
560
- 'fiware-service': 'TestService',
560
+ 'fiware-service': 'testservice',
561
561
  'fiware-servicepath': '/testingPath'
562
562
  }
563
563
  };
@@ -613,7 +613,7 @@ describe(
613
613
  );
614
614
 
615
615
  contextBrokerMock = nock('http://unexistentHost:1026')
616
- .matchHeader('fiware-service', 'TestService')
616
+ .matchHeader('fiware-service', 'testservice')
617
617
  .matchHeader('Authorization', 'Bearer c1b752e377680acd1349a3ed59db855a1db07605')
618
618
  .post(
619
619
  '/ngsi-ld/v1/entityOperations/upsert/?options=update',
@@ -624,7 +624,7 @@ describe(
624
624
  .reply(204);
625
625
 
626
626
  contextBrokerMock2 = nock('http://unexistentHost:1026')
627
- .matchHeader('fiware-service', 'TestService')
627
+ .matchHeader('fiware-service', 'testservice')
628
628
  .matchHeader('Authorization', 'Bearer bbb752e377680acd1349a3ed59db855a1db076aa')
629
629
  .post(
630
630
  '/ngsi-ld/v1/entityOperations/upsert/?options=update',
@@ -677,7 +677,7 @@ describe(
677
677
  method: 'POST',
678
678
  json: utils.readExampleFile('./test/unit/examples/deviceProvisioningRequests/provisionNewDevice2.json'),
679
679
  headers: {
680
- 'fiware-service': 'TestService',
680
+ 'fiware-service': 'testservice',
681
681
  'fiware-servicepath': '/testingPath'
682
682
  }
683
683
  };
@@ -729,7 +729,7 @@ describe(
729
729
  );
730
730
 
731
731
  contextBrokerMock = nock('http://unexistenthost:1026')
732
- .matchHeader('fiware-service', 'TestService')
732
+ .matchHeader('fiware-service', 'testservice')
733
733
  .matchHeader('Authorization', 'Bearer asd752e377680acd1349a3ed59db855a1db07ere')
734
734
  .post(
735
735
  '/ngsi-ld/v1/csourceRegistrations/',
@@ -741,7 +741,7 @@ describe(
741
741
  .reply(201, null, { Location: '/ngsi-ld/v1/csourceRegistrations/6319a7f5254b05844116584d' });
742
742
 
743
743
  contextBrokerMock2 = nock('http://unexistenthost:1026')
744
- .matchHeader('fiware-service', 'TestService')
744
+ .matchHeader('fiware-service', 'testservice')
745
745
  .matchHeader('authorization', 'Bearer bea752e377680acd1349a3ed59db855a1db07zxc')
746
746
  .post(
747
747
  '/ngsi-ld/v1/entityOperations/upsert/',
@@ -753,7 +753,7 @@ describe(
753
753
  .reply(204);
754
754
 
755
755
  contextBrokerMock3 = nock('http://unexistentHost:1026')
756
- .matchHeader('fiware-service', 'TestService')
756
+ .matchHeader('fiware-service', 'testservice')
757
757
  .matchHeader('authorization', 'Bearer zzz752e377680acd1349a3ed59db855a1db07bbb')
758
758
  .post(
759
759
  '/ngsi-ld/v1/entityOperations/upsert/?options=update',
@@ -803,7 +803,7 @@ describe(
803
803
  method: 'POST',
804
804
  json: utils.readExampleFile('./test/unit/examples/groupProvisioningRequests/provisionFullGroup.json'),
805
805
  headers: {
806
- 'fiware-service': 'TestService',
806
+ 'fiware-service': 'testservice',
807
807
  'fiware-servicepath': '/testingPath'
808
808
  }
809
809
  };
@@ -831,7 +831,7 @@ describe(
831
831
  nock.cleanAll();
832
832
 
833
833
  contextBrokerMock = nock('http://unexistentHost:1026')
834
- .matchHeader('fiware-service', 'TestService')
834
+ .matchHeader('fiware-service', 'testservice')
835
835
  .matchHeader('Authorization', 'Bearer 999210dacf913772606c95dd0b895d5506cbc988')
836
836
  .post(
837
837
  '/ngsi-ld/v1/entityOperations/upsert/?options=update',
@@ -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 = {
@@ -123,9 +123,9 @@ const iotAgentConfig = {
123
123
  protocol: 'MQTT_UL',
124
124
  description: 'MQTT Ultralight 2.0 IoT Agent (Node.js version)'
125
125
  },
126
- service: 'smartGondor',
126
+ service: 'smartgondor',
127
127
  subservice: 'gardens',
128
- providerUrl: 'http://smartGondor.com'
128
+ providerUrl: 'http://smartgondor.com'
129
129
  };
130
130
  const groupCreation = {
131
131
  url: 'http://localhost:' + iotAgentConfig.server.port + '/iot/services',
@@ -151,7 +151,7 @@ const groupCreation = {
151
151
  ]
152
152
  },
153
153
  headers: {
154
- 'fiware-service': 'TestService',
154
+ 'fiware-service': 'testservice',
155
155
  'fiware-servicepath': '/testingPath'
156
156
  }
157
157
  };
@@ -160,7 +160,7 @@ const deviceCreation = {
160
160
  method: 'POST',
161
161
  json: utils.readExampleFile('./test/unit/examples/deviceProvisioningRequests/provisionNewDevice.json'),
162
162
  headers: {
163
- 'fiware-service': 'TestService',
163
+ 'fiware-service': 'testservice',
164
164
  'fiware-servicepath': '/testingPath'
165
165
  }
166
166
  };
@@ -188,7 +188,7 @@ describe('NGSI-LD - Device Service: utils', function () {
188
188
  // device provisioning functionality. Appropriate verification is done in tests under
189
189
  // provisioning folder
190
190
  contextBrokerMock = nock('http://unexistenthost:1026')
191
- .matchHeader('fiware-service', 'TestService')
191
+ .matchHeader('fiware-service', 'testservice')
192
192
  .post('/ngsi-ld/v1/entityOperations/upsert/')
193
193
  .reply(204);
194
194
 
@@ -217,7 +217,7 @@ describe('NGSI-LD - Device Service: utils', function () {
217
217
  // device provisioning functionality. Appropriate verification is done in tests under
218
218
  // provisioning folder
219
219
  contextBrokerMock = nock('http://unexistenthost:1026')
220
- .matchHeader('fiware-service', 'TestService')
220
+ .matchHeader('fiware-service', 'testservice')
221
221
  .post('/ngsi-ld/v1/entityOperations/upsert/')
222
222
  .reply(204);
223
223
 
@@ -27,10 +27,11 @@
27
27
  /* eslint-disable no-unused-vars */
28
28
 
29
29
  const iotAgentLib = require('../../../../lib/fiware-iotagent-lib');
30
- const request = require('request');
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 = {
@@ -58,7 +59,7 @@ const iotAgentConfig = {
58
59
  type: 'Hgmm'
59
60
  }
60
61
  ],
61
- service: 'smartGondor',
62
+ service: 'smartgondor',
62
63
  subservice: 'gardens'
63
64
  },
64
65
  Termometer: {
@@ -70,13 +71,13 @@ const iotAgentConfig = {
70
71
  }
71
72
  ],
72
73
  active: [],
73
- service: 'smartGondor',
74
+ service: 'smartgondor',
74
75
  subservice: 'gardens'
75
76
  }
76
77
  },
77
- service: 'smartGondor',
78
+ service: 'smartgondor',
78
79
  subservice: 'gardens',
79
- providerUrl: 'http://smartGondor.com',
80
+ providerUrl: 'http://smartgondor.com',
80
81
  iotManager: {
81
82
  url: 'https://mockediotam.com:9876',
82
83
  path: '/protocols',
@@ -87,7 +88,7 @@ const iotAgentConfig = {
87
88
  defaultResource: '/iot/d'
88
89
  };
89
90
  const groupCreation = {
90
- service: 'theService',
91
+ service: 'theservice',
91
92
  subservice: 'theSubService',
92
93
  resource: '/deviceTest',
93
94
  apikey: '801230BJKL23Y9090DSFL123HJK09H324HV8732',
@@ -115,7 +116,7 @@ const groupCreation = {
115
116
  const device1 = {
116
117
  id: 'light1',
117
118
  type: 'Light',
118
- service: 'smartGondor',
119
+ service: 'smartgondor',
119
120
  subservice: 'gardens'
120
121
  };
121
122
  let contextBrokerMock;
@@ -164,7 +165,7 @@ describe('NGSI-LD - HTTPS support tests', function () {
164
165
  './test/unit/examples/deviceProvisioningRequests/provisionMinimumDevice.json'
165
166
  ),
166
167
  headers: {
167
- 'fiware-service': 'smartGondor',
168
+ 'fiware-service': 'smartgondor',
168
169
  'fiware-servicepath': '/gardens'
169
170
  }
170
171
  };
@@ -173,7 +174,7 @@ describe('NGSI-LD - HTTPS support tests', function () {
173
174
 
174
175
  iotAgentLib.activate(iotAgentConfig, function () {
175
176
  contextBrokerMock = nock('https://192.168.1.1:1026')
176
- .matchHeader('fiware-service', 'smartGondor')
177
+ .matchHeader('fiware-service', 'smartgondor')
177
178
 
178
179
  .post(
179
180
  '/ngsi-ld/v1/entityOperations/upsert/',
@@ -184,7 +185,7 @@ describe('NGSI-LD - HTTPS support tests', function () {
184
185
  .reply(204);
185
186
 
186
187
  contextBrokerMock = nock('https://192.168.1.1:1026')
187
- .matchHeader('fiware-service', 'smartGondor')
188
+ .matchHeader('fiware-service', 'smartgondor')
188
189
 
189
190
  .post(
190
191
  '/ngsi-ld/v1/subscriptions/',
@@ -211,7 +212,7 @@ describe('NGSI-LD - HTTPS support tests', function () {
211
212
  });
212
213
 
213
214
  it('should send the appropriate request to the Context Broker', function (done) {
214
- iotAgentLib.getDevice('MicroLight1', 'smartGondor', '/gardens', function (error, device) {
215
+ iotAgentLib.getDevice('MicroLight1', 'smartgondor', '/gardens', function (error, device) {
215
216
  iotAgentLib.subscribe(device, ['attr_name'], null, function (error) {
216
217
  should.not.exist(error);
217
218
 
@@ -231,12 +232,12 @@ describe('NGSI-LD - HTTPS support tests', function () {
231
232
  // device provisioning functionality. Appropriate verification is done in tests under
232
233
  // provisioning folder
233
234
  contextBrokerMock = nock('https://192.168.1.1:1026')
234
- .matchHeader('fiware-service', 'smartGondor')
235
+ .matchHeader('fiware-service', 'smartgondor')
235
236
  .post('/ngsi-ld/v1/entityOperations/upsert/')
236
237
  .reply(204);
237
238
 
238
239
  contextBrokerMock = nock('https://192.168.1.1:1026')
239
- .matchHeader('fiware-service', 'smartGondor')
240
+ .matchHeader('fiware-service', 'smartgondor')
240
241
  .post('/ngsi-ld/v1/csourceRegistrations/')
241
242
  .reply(201, null, { Location: '/ngsi-ld/v1/csourceRegistrations/6319a7f5254b05844116584d' });
242
243
 
@@ -24,9 +24,10 @@
24
24
  /* eslint-disable no-unused-vars */
25
25
 
26
26
  const iotAgentLib = require('../../../../lib/fiware-iotagent-lib');
27
- const request = require('request');
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 = {
@@ -58,7 +59,7 @@ const iotAgentConfig = {
58
59
  ]
59
60
  }
60
61
  },
61
- providerUrl: 'http://smartGondor.com',
62
+ providerUrl: 'http://smartgondor.com',
62
63
  iotManager: {
63
64
  host: 'mockediotam.com',
64
65
  port: 9876,
@@ -70,7 +71,7 @@ const iotAgentConfig = {
70
71
  defaultResource: '/iot/d'
71
72
  };
72
73
  const groupCreation = {
73
- service: 'theService',
74
+ service: 'theservice',
74
75
  subservice: 'theSubService',
75
76
  resource: '/deviceTest',
76
77
  apikey: '801230BJKL23Y9090DSFL123HJK09H324HV8732',
@@ -129,7 +130,7 @@ const optionsCreation = {
129
130
  ]
130
131
  },
131
132
  headers: {
132
- 'fiware-service': 'theService',
133
+ 'fiware-service': 'theservice',
133
134
  'fiware-servicepath': 'theSubService'
134
135
  }
135
136
  };
@@ -167,7 +168,7 @@ const optionsCreationStatic = {
167
168
  ]
168
169
  },
169
170
  headers: {
170
- 'fiware-service': 'theService',
171
+ 'fiware-service': 'theservice',
171
172
  'fiware-servicepath': 'theSubService'
172
173
  }
173
174
  };
@@ -176,7 +177,7 @@ const optionsDelete = {
176
177
  method: 'DELETE',
177
178
  json: {},
178
179
  headers: {
179
- 'fiware-service': 'theService',
180
+ 'fiware-service': 'theservice',
180
181
  'fiware-servicepath': 'theSubService'
181
182
  },
182
183
  qs: {
@@ -221,7 +222,7 @@ describe('NGSI-LD - IoT Manager autoregistration', function () {
221
222
  });
222
223
 
223
224
  afterEach(function () {
224
- iotAgentConfig.providerUrl = 'http://smartGondor.com';
225
+ iotAgentConfig.providerUrl = 'http://smartgondor.com';
225
226
  });
226
227
 
227
228
  it('should fail with a MISSING_CONFIG_PARAMS error', function (done) {
@@ -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',
@@ -56,7 +57,7 @@ const iotAgentConfig = {
56
57
  ]
57
58
  }
58
59
  },
59
- providerUrl: 'http://smartGondor.com'
60
+ providerUrl: 'http://smartgondor.com'
60
61
  };
61
62
  let iotamMock;
62
63
 
@@ -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
- const request = require('request');
35
+
34
36
  let contextBrokerMock;
35
37
  const iotAgentConfig = {
36
38
  logLevel: 'FATAL',
@@ -54,14 +56,14 @@ const iotAgentConfig = {
54
56
  ]
55
57
  }
56
58
  },
57
- service: 'smartGondor',
59
+ service: 'smartgondor',
58
60
  subservice: 'gardens',
59
- providerUrl: 'http://smartGondor.com'
61
+ providerUrl: 'http://smartgondor.com'
60
62
  };
61
63
  const device = {
62
64
  id: 'somelight',
63
65
  type: 'Light',
64
- service: 'smartGondor',
66
+ service: 'smartgondor',
65
67
  subservice: 'gardens'
66
68
  };
67
69
 
@@ -72,17 +74,17 @@ describe('NGSI-LD - Update attribute functionalities', function () {
72
74
  nock.cleanAll();
73
75
 
74
76
  contextBrokerMock = nock('http://192.168.1.1:1026')
75
- .matchHeader('fiware-service', 'smartGondor')
77
+ .matchHeader('fiware-service', 'smartgondor')
76
78
  .post('/ngsi-ld/v1/csourceRegistrations/')
77
79
  .reply(201, null, { Location: '/ngsi-ld/v1/csourceRegistrations/6319a7f5254b05844116584d' });
78
80
 
79
81
  contextBrokerMock
80
- .matchHeader('fiware-service', 'smartGondor')
82
+ .matchHeader('fiware-service', 'smartgondor')
81
83
  .post('/ngsi-ld/v1/entityOperations/upsert/')
82
84
  .reply(204);
83
85
 
84
86
  contextBrokerMock
85
- .matchHeader('fiware-service', 'smartGondor')
87
+ .matchHeader('fiware-service', 'smartgondor')
86
88
  .post('/ngsi-ld/v1/entityOperations/upsert/?options=update')
87
89
  .reply(204);
88
90
 
@@ -114,7 +116,7 @@ describe('NGSI-LD - Update attribute functionalities', function () {
114
116
  value: 200
115
117
  },
116
118
  headers: {
117
- 'fiware-service': 'smartGondor',
119
+ 'fiware-service': 'smartgondor',
118
120
  'content-type': 'application/ld+json'
119
121
  }
120
122
  };
@@ -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
- const request = require('request');
35
+
35
36
  const timekeeper = require('timekeeper');
36
37
  let contextBrokerMock;
37
38
  let statusAttributeMock;
@@ -100,17 +101,15 @@ const iotAgentConfig = {
100
101
  active: []
101
102
  }
102
103
  },
103
- service: 'smartGondor',
104
- providerUrl: 'http://smartGondor.com'
104
+ service: 'smartgondor',
105
+ providerUrl: 'http://smartgondor.com'
105
106
  };
106
107
  const device3 = {
107
108
  id: 'r2d2',
108
109
  type: 'Robot',
109
- service: 'smartGondor'
110
+ service: 'smartgondor'
110
111
  };
111
112
 
112
-
113
-
114
113
  describe('NGSI-LD - Command functionalities', function () {
115
114
  beforeEach(function (done) {
116
115
  const time = new Date(1438760101468); // 2015-08-05T07:35:01.468+00:00
@@ -118,7 +117,7 @@ describe('NGSI-LD - Command functionalities', function () {
118
117
  nock.cleanAll();
119
118
 
120
119
  contextBrokerMock = nock('http://192.168.1.1:1026')
121
- .matchHeader('fiware-service', 'smartGondor')
120
+ .matchHeader('fiware-service', 'smartgondor')
122
121
  .post(
123
122
  '/ngsi-ld/v1/csourceRegistrations/',
124
123
  utils.readExampleFile(
@@ -128,7 +127,7 @@ describe('NGSI-LD - Command functionalities', function () {
128
127
  .reply(201, null, { Location: '/ngsi-ld/v1/csourceRegistrations/6319a7f5254b05844116584d' });
129
128
 
130
129
  contextBrokerMock
131
- .matchHeader('fiware-service', 'smartGondor')
130
+ .matchHeader('fiware-service', 'smartgondor')
132
131
  .post('/ngsi-ld/v1/entityOperations/upsert/')
133
132
  .reply(204);
134
133
 
@@ -171,7 +170,7 @@ describe('NGSI-LD - Command functionalities', function () {
171
170
  value: [28, -104, 23]
172
171
  },
173
172
  headers: {
174
- 'fiware-service': 'smartGondor',
173
+ 'fiware-service': 'smartgondor',
175
174
  'content-type': 'application/ld+json'
176
175
  }
177
176
  };
@@ -234,7 +233,7 @@ describe('NGSI-LD - Command functionalities', function () {
234
233
  it('should create the attribute with the "_status" prefix in the Context Broker', function (done) {
235
234
  let serviceReceived = false;
236
235
  iotAgentLib.setCommandHandler(function (id, type, service, subservice, attributes, callback) {
237
- serviceReceived = service === 'smartGondor';
236
+ serviceReceived = service === 'smartgondor';
238
237
  callback(null, {
239
238
  id,
240
239
  type,
@@ -257,7 +256,7 @@ describe('NGSI-LD - Command functionalities', function () {
257
256
  describe('When an update arrives from the south bound for a registered command', function () {
258
257
  beforeEach(function (done) {
259
258
  statusAttributeMock = nock('http://192.168.1.1:1026')
260
- .matchHeader('fiware-service', 'smartGondor')
259
+ .matchHeader('fiware-service', 'smartgondor')
261
260
  .post(
262
261
  '/ngsi-ld/v1/entityOperations/upsert/?options=update',
263
262
  utils.readExampleFile(
@@ -282,7 +281,7 @@ describe('NGSI-LD - Command functionalities', function () {
282
281
  describe('When an error command arrives from the south bound for a registered command', function () {
283
282
  beforeEach(function (done) {
284
283
  statusAttributeMock = nock('http://192.168.1.1:1026')
285
- .matchHeader('fiware-service', 'smartGondor')
284
+ .matchHeader('fiware-service', 'smartgondor')
286
285
  .post(
287
286
  '/ngsi-ld/v1/entityOperations/upsert/?options=update',
288
287
  utils.readExampleFile('./test/unit/ngsi-ld/examples/contextRequests/updateContextCommandError.json')