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
@@ -27,10 +27,11 @@
27
27
 
28
28
  const iotAgentLib = require('../../../../lib/fiware-iotagent-lib');
29
29
  const utils = require('../../../tools/utils');
30
+ const request = utils.request;
30
31
  const should = require('should');
31
32
  const logger = require('logops');
32
33
  const nock = require('nock');
33
- const request = require('request');
34
+
34
35
  const timekeeper = require('timekeeper');
35
36
  let contextBrokerMock;
36
37
  let oauth2Mock;
@@ -54,7 +55,7 @@ const iotAgentConfig = {
54
55
  },
55
56
  types: {
56
57
  Light: {
57
- service: 'smartGondor',
58
+ service: 'smartgondor',
58
59
  subservice: 'electricity',
59
60
  trust: 'eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ3cHdWclJ3',
60
61
  type: 'Light',
@@ -84,9 +85,9 @@ const iotAgentConfig = {
84
85
  active: []
85
86
  }
86
87
  },
87
- service: 'smartGondor',
88
+ service: 'smartgondor',
88
89
  subservice: 'gardens',
89
- providerUrl: 'http://smartGondor.com'
90
+ providerUrl: 'http://smartgondor.com'
90
91
  };
91
92
 
92
93
  describe('NGSI-v2 - Secured access to the Context Broker with OAuth2 provider', function () {
@@ -124,10 +125,10 @@ describe('NGSI-v2 - Secured access to the Context Broker with OAuth2 provider',
124
125
  .reply(201, utils.readExampleFile('./test/unit/examples/oauthResponses/tokenFromTrust.json'), {});
125
126
 
126
127
  contextBrokerMock = nock('http://192.168.1.1:1026')
127
- .matchHeader('fiware-service', 'smartGondor')
128
+ .matchHeader('fiware-service', 'smartgondor')
128
129
  .matchHeader('fiware-servicepath', 'electricity')
129
130
  .matchHeader('Authorization', 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ3cHdWclJ3')
130
- .post(
131
+ .patch(
131
132
  '/v2/entities/light1/attrs',
132
133
  utils.readExampleFile('./test/unit/ngsiv2/examples/contextRequests/updateContext1.json')
133
134
  )
@@ -164,10 +165,10 @@ describe('NGSI-v2 - Secured access to the Context Broker with OAuth2 provider',
164
165
  .reply(201, utils.readExampleFile('./test/unit/examples/oauthResponses/tokenFromTrust.json'), {});
165
166
 
166
167
  contextBrokerMock = nock('http://192.168.1.1:1026')
167
- .matchHeader('fiware-service', 'smartGondor')
168
+ .matchHeader('fiware-service', 'smartgondor')
168
169
  .matchHeader('fiware-servicepath', 'electricity')
169
170
  .matchHeader('Authorization', 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ3cHdWclJ3')
170
- .post(
171
+ .patch(
171
172
  '/v2/entities/light1/attrs',
172
173
  utils.readExampleFile('./test/unit/ngsiv2/examples/contextRequests/updateContext1.json')
173
174
  )
@@ -200,10 +201,10 @@ describe('NGSI-v2 - Secured access to the Context Broker with OAuth2 provider',
200
201
  );
201
202
 
202
203
  contextBrokerMock = nock('http://192.168.1.1:1026')
203
- .matchHeader('fiware-service', 'smartGondor')
204
+ .matchHeader('fiware-service', 'smartgondor')
204
205
  .matchHeader('fiware-servicepath', 'electricity')
205
206
  .matchHeader('Authorization', 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ3cHdWclJ3')
206
- .post(
207
+ .patch(
207
208
  '/v2/entities/light1/attrs',
208
209
  utils.readExampleFile('./test/unit/ngsiv2/examples/contextRequests/updateContext1.json')
209
210
  )
@@ -235,7 +236,7 @@ describe('NGSI-v2 - Secured access to the Context Broker with OAuth2 provider',
235
236
  .reply(201, utils.readExampleFile('./test/unit/examples/oauthResponses/tokenFromTrust.json'), {});
236
237
 
237
238
  contextBrokerMock = nock('http://192.168.1.1:1026')
238
- .matchHeader('fiware-service', 'smartGondor')
239
+ .matchHeader('fiware-service', 'smartgondor')
239
240
  .matchHeader('fiware-servicepath', 'electricity')
240
241
  .matchHeader('Authorization', 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ3cHdWclJ3')
241
242
  .get('/v2/entities/light1/attrs?attrs=state,dimming&type=Light')
@@ -264,7 +265,7 @@ describe('NGSI-v2 - Secured access to the Context Broker with OAuth2 provider',
264
265
  './test/unit/examples/deviceProvisioningRequests/provisionMinimumDevice3.json'
265
266
  ),
266
267
  headers: {
267
- 'fiware-service': 'smartGondor',
268
+ 'fiware-service': 'smartgondor',
268
269
  'fiware-servicepath': 'electricity'
269
270
  }
270
271
  };
@@ -319,7 +320,7 @@ describe('NGSI-v2 - Secured access to the Context Broker with OAuth2 provider',
319
320
  });
320
321
 
321
322
  it('subscribe requests use auth header', function (done) {
322
- iotAgentLib.getDevice('Light1', 'smartGondor', 'electricity', function (error, device) {
323
+ iotAgentLib.getDevice('Light1', 'smartgondor', 'electricity', function (error, device) {
323
324
  iotAgentLib.subscribe(device, ['dimming'], null, function (error) {
324
325
  should.not.exist(error);
325
326
 
@@ -338,9 +339,9 @@ describe('NGSI-v2 - Secured access to the Context Broker with OAuth2 provider',
338
339
  )
339
340
  .reply(201, utils.readExampleFile('./test/unit/examples/oauthResponses/tokenFromTrust.json'), {});
340
341
 
341
- contextBrokerMock.delete('/v2/subscriptions/51c0ac9ed714fb3b37d7d5a8').reply(204);
342
+ contextBrokerMock.delete('/v2/subscriptions/51c0ac9ed714fb3b37d7d5a8', '').reply(204);
342
343
 
343
- iotAgentLib.getDevice('Light1', 'smartGondor', 'electricity', function (error, device) {
344
+ iotAgentLib.getDevice('Light1', 'smartgondor', 'electricity', function (error, device) {
344
345
  iotAgentLib.subscribe(device, ['dimming'], null, function (error) {
345
346
  iotAgentLib.unsubscribe(device, '51c0ac9ed714fb3b37d7d5a8', function (error) {
346
347
  contextBrokerMock.done();
@@ -391,10 +392,10 @@ describe('NGSI-v2 - Secured access to the Context Broker with OAuth2 provider (F
391
392
  );
392
393
 
393
394
  contextBrokerMock = nock('http://192.168.1.1:1026')
394
- .matchHeader('fiware-service', 'smartGondor')
395
+ .matchHeader('fiware-service', 'smartgondor')
395
396
  .matchHeader('fiware-servicepath', 'electricity')
396
397
  .matchHeader('Authorization', 'Bearer c1b752e377680acd1349a3ed59db855a1db07605')
397
- .post(
398
+ .patch(
398
399
  '/v2/entities/light1/attrs',
399
400
  utils.readExampleFile('./test/unit/ngsiv2/examples/contextRequests/updateContext1.json')
400
401
  )
@@ -439,7 +440,7 @@ describe('NGSI-v2 - Secured access to the Context Broker with OAuth2 provider (F
439
440
  );
440
441
 
441
442
  contextBrokerMock = nock('http://192.168.1.1:1026')
442
- .matchHeader('fiware-service', 'smartGondor')
443
+ .matchHeader('fiware-service', 'smartgondor')
443
444
  .matchHeader('fiware-servicepath', 'electricity')
444
445
  .matchHeader('Authorization', 'Bearer c1b752e377680acd1349a3ed59db855a1db07605')
445
446
  .get('/v2/entities/light1/attrs?attrs=state,dimming&type=Light')
@@ -531,10 +532,10 @@ describe('NGSI-v2 - Secured access to the Context Broker with OAuth2 provider (F
531
532
  );
532
533
 
533
534
  contextBrokerMock = nock('http://192.168.1.1:1026')
534
- .matchHeader('fiware-service', 'smartGondor')
535
+ .matchHeader('fiware-service', 'smartgondor')
535
536
  .matchHeader('fiware-servicepath', 'electricity')
536
537
  .matchHeader('Authorization', 'Bearer c1b752e377680acd1349a3ed59db855a1db07605')
537
- .post(
538
+ .patch(
538
539
  '/v2/entities/light1/attrs',
539
540
  utils.readExampleFile('./test/unit/ngsiv2/examples/contextRequests/updateContext1.json')
540
541
  )
@@ -563,7 +564,7 @@ describe(
563
564
  method: 'POST',
564
565
  json: utils.readExampleFile('./test/unit/examples/groupProvisioningRequests/provisionFullGroup.json'),
565
566
  headers: {
566
- 'fiware-service': 'TestService',
567
+ 'fiware-service': 'testservice',
567
568
  'fiware-servicepath': '/testingPath'
568
569
  }
569
570
  };
@@ -619,10 +620,10 @@ describe(
619
620
  );
620
621
 
621
622
  contextBrokerMock = nock('http://unexistentHost:1026')
622
- .matchHeader('fiware-service', 'TestService')
623
+ .matchHeader('fiware-service', 'testservice')
623
624
  .matchHeader('fiware-servicepath', '/testingPath')
624
625
  .matchHeader('Authorization', 'Bearer c1b752e377680acd1349a3ed59db855a1db07605')
625
- .post(
626
+ .patch(
626
627
  '/v2/entities/machine1/attrs',
627
628
  utils.readExampleFile(
628
629
  './test/unit/ngsiv2/examples/contextRequests/updateContext3WithStatic.json'
@@ -632,10 +633,10 @@ describe(
632
633
  .reply(204, {});
633
634
 
634
635
  contextBrokerMock2 = nock('http://unexistentHost:1026')
635
- .matchHeader('fiware-service', 'TestService')
636
+ .matchHeader('fiware-service', 'testservice')
636
637
  .matchHeader('fiware-servicepath', '/testingPath')
637
638
  .matchHeader('Authorization', 'Bearer bbb752e377680acd1349a3ed59db855a1db076aa')
638
- .post(
639
+ .patch(
639
640
  '/v2/entities/machine1/attrs',
640
641
  utils.readExampleFile(
641
642
  './test/unit/ngsiv2/examples/contextRequests/updateContext3WithStatic.json'
@@ -687,7 +688,7 @@ describe(
687
688
  method: 'POST',
688
689
  json: utils.readExampleFile('./test/unit/examples/deviceProvisioningRequests/provisionNewDevice2.json'),
689
690
  headers: {
690
- 'fiware-service': 'TestService',
691
+ 'fiware-service': 'testservice',
691
692
  'fiware-servicepath': '/testingPath'
692
693
  }
693
694
  };
@@ -737,7 +738,7 @@ describe(
737
738
  );
738
739
 
739
740
  contextBrokerMock = nock('http://unexistenthost:1026')
740
- .matchHeader('fiware-service', 'TestService')
741
+ .matchHeader('fiware-service', 'testservice')
741
742
  .matchHeader('fiware-servicepath', '/testingPath')
742
743
  .matchHeader('Authorization', 'Bearer asd752e377680acd1349a3ed59db855a1db07ere')
743
744
  .post(
@@ -749,7 +750,7 @@ describe(
749
750
  .reply(201, null, { Location: '/v2/registrations/6319a7f5254b05844116584d' });
750
751
 
751
752
  contextBrokerMock2 = nock('http://unexistenthost:1026')
752
- .matchHeader('fiware-service', 'TestService')
753
+ .matchHeader('fiware-service', 'testservice')
753
754
  .matchHeader('fiware-servicepath', '/testingPath')
754
755
  .matchHeader('authorization', 'Bearer bea752e377680acd1349a3ed59db855a1db07zxc')
755
756
  .post(
@@ -761,10 +762,10 @@ describe(
761
762
  .reply(204, {});
762
763
 
763
764
  contextBrokerMock3 = nock('http://unexistentHost:1026')
764
- .matchHeader('fiware-service', 'TestService')
765
+ .matchHeader('fiware-service', 'testservice')
765
766
  .matchHeader('fiware-servicepath', '/testingPath')
766
767
  .matchHeader('authorization', 'Bearer zzz752e377680acd1349a3ed59db855a1db07bbb')
767
- .post(
768
+ .patch(
768
769
  '/v2/entities/Light1/attrs',
769
770
  utils.readExampleFile('./test/unit/ngsiv2/examples/contextRequests/updateContext4.json')
770
771
  )
@@ -813,7 +814,7 @@ describe(
813
814
  method: 'POST',
814
815
  json: utils.readExampleFile('./test/unit/examples/groupProvisioningRequests/provisionFullGroup.json'),
815
816
  headers: {
816
- 'fiware-service': 'TestService',
817
+ 'fiware-service': 'testservice',
817
818
  'fiware-servicepath': '/testingPath'
818
819
  }
819
820
  };
@@ -841,10 +842,10 @@ describe(
841
842
  nock.cleanAll();
842
843
 
843
844
  contextBrokerMock = nock('http://unexistentHost:1026')
844
- .matchHeader('fiware-service', 'TestService')
845
+ .matchHeader('fiware-service', 'testservice')
845
846
  .matchHeader('fiware-servicepath', '/testingPath')
846
847
  .matchHeader('Authorization', 'Bearer 999210dacf913772606c95dd0b895d5506cbc988')
847
- .post(
848
+ .patch(
848
849
  '/v2/entities/machine1/attrs',
849
850
  utils.readExampleFile(
850
851
  './test/unit/ngsiv2/examples/contextRequests/updateContext3WithStatic.json'
@@ -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
- const request = require('request');
33
+
33
34
  const logger = require('logops');
34
35
  const async = require('async');
35
36
  const iotAgentConfig = {
@@ -122,9 +123,9 @@ const iotAgentConfig = {
122
123
  protocol: 'MQTT_UL',
123
124
  description: 'MQTT Ultralight 2.0 IoT Agent (Node.js version)'
124
125
  },
125
- service: 'smartGondor',
126
+ service: 'smartgondor',
126
127
  subservice: 'gardens',
127
- providerUrl: 'http://smartGondor.com'
128
+ providerUrl: 'http://smartgondor.com'
128
129
  };
129
130
  const groupCreation = {
130
131
  url: 'http://localhost:' + iotAgentConfig.server.port + '/iot/services',
@@ -150,7 +151,7 @@ const groupCreation = {
150
151
  ]
151
152
  },
152
153
  headers: {
153
- 'fiware-service': 'TestService',
154
+ 'fiware-service': 'testservice',
154
155
  'fiware-servicepath': '/testingPath'
155
156
  }
156
157
  };
@@ -159,7 +160,7 @@ const deviceCreation = {
159
160
  method: 'POST',
160
161
  json: utils.readExampleFile('./test/unit/examples/deviceProvisioningRequests/provisionNewDevice.json'),
161
162
  headers: {
162
- 'fiware-service': 'TestService',
163
+ 'fiware-service': 'testservice',
163
164
  'fiware-servicepath': '/testingPath'
164
165
  }
165
166
  };
@@ -187,17 +188,17 @@ describe('NGSI-v2 - Device Service: utils', function () {
187
188
  // device provisioning functionality. Appropriate verification is done in tests under
188
189
  // provisioning folder
189
190
  contextBrokerMock = nock('http://unexistenthost:1026')
190
- .matchHeader('fiware-service', 'TestService')
191
+ .matchHeader('fiware-service', 'testservice')
191
192
  .matchHeader('fiware-servicepath', '/testingPath')
192
193
  .post('/v2/entities?options=upsert')
193
194
  .reply(204);
194
195
 
195
- async.series([request.bind(request, groupCreation), request.bind(request, deviceCreation)], function (
196
- error,
197
- results
198
- ) {
199
- done();
200
- });
196
+ async.series(
197
+ [utils.request.bind(utils.request, groupCreation), utils.request.bind(utils.request, deviceCreation)],
198
+ function (error, results) {
199
+ done();
200
+ }
201
+ );
201
202
  });
202
203
 
203
204
  it('should return the existing device', function (done) {
@@ -217,12 +218,12 @@ describe('NGSI-v2 - Device Service: utils', function () {
217
218
  // device provisioning functionality. Appropriate verification is done in tests under
218
219
  // provisioning folder
219
220
  contextBrokerMock = nock('http://unexistenthost:1026')
220
- .matchHeader('fiware-service', 'TestService')
221
+ .matchHeader('fiware-service', 'testservice')
221
222
  .matchHeader('fiware-servicepath', '/testingPath')
222
223
  .post('/v2/entities?options=upsert')
223
224
  .reply(204);
224
225
 
225
- async.series([request.bind(request, groupCreation)], function (error, results) {
226
+ async.series([utils.request.bind(utils.request, groupCreation)], function (error, results) {
226
227
  done();
227
228
  });
228
229
  });
@@ -27,9 +27,10 @@
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 utils = require('../../../tools/utils');
33
+ const request = utils.request;
33
34
  const groupRegistryMemory = require('../../../../lib/services/groups/groupRegistryMemory');
34
35
  const should = require('should');
35
36
  const iotAgentConfig = {
@@ -56,7 +57,7 @@ const iotAgentConfig = {
56
57
  type: 'Hgmm'
57
58
  }
58
59
  ],
59
- service: 'smartGondor',
60
+ service: 'smartgondor',
60
61
  subservice: 'gardens'
61
62
  },
62
63
  Termometer: {
@@ -68,13 +69,13 @@ const iotAgentConfig = {
68
69
  }
69
70
  ],
70
71
  active: [],
71
- service: 'smartGondor',
72
+ service: 'smartgondor',
72
73
  subservice: 'gardens'
73
74
  }
74
75
  },
75
- service: 'smartGondor',
76
+ service: 'smartgondor',
76
77
  subservice: 'gardens',
77
- providerUrl: 'http://smartGondor.com',
78
+ providerUrl: 'http://smartgondor.com',
78
79
  iotManager: {
79
80
  url: 'https://mockediotam.com:9876',
80
81
  path: '/protocols',
@@ -85,7 +86,7 @@ const iotAgentConfig = {
85
86
  defaultResource: '/iot/d'
86
87
  };
87
88
  const groupCreation = {
88
- service: 'theService',
89
+ service: 'theservice',
89
90
  subservice: 'theSubService',
90
91
  resource: '/deviceTest',
91
92
  apikey: '801230BJKL23Y9090DSFL123HJK09H324HV8732',
@@ -113,7 +114,7 @@ const groupCreation = {
113
114
  const device1 = {
114
115
  id: 'light1',
115
116
  type: 'Light',
116
- service: 'smartGondor',
117
+ service: 'smartgondor',
117
118
  subservice: 'gardens'
118
119
  };
119
120
  let contextBrokerMock;
@@ -161,7 +162,7 @@ describe('NGSI-v2 - HTTPS support tests', function () {
161
162
  './test/unit/examples/deviceProvisioningRequests/provisionMinimumDevice.json'
162
163
  ),
163
164
  headers: {
164
- 'fiware-service': 'smartGondor',
165
+ 'fiware-service': 'smartgondor',
165
166
  'fiware-servicepath': '/gardens'
166
167
  }
167
168
  };
@@ -170,7 +171,7 @@ describe('NGSI-v2 - HTTPS support tests', function () {
170
171
 
171
172
  iotAgentLib.activate(iotAgentConfig, function () {
172
173
  contextBrokerMock = nock('https://192.168.1.1:1026')
173
- .matchHeader('fiware-service', 'smartGondor')
174
+ .matchHeader('fiware-service', 'smartgondor')
174
175
  .matchHeader('fiware-servicepath', '/gardens')
175
176
  .post(
176
177
  '/v2/entities?options=upsert',
@@ -181,7 +182,7 @@ describe('NGSI-v2 - HTTPS support tests', function () {
181
182
  .reply(204);
182
183
 
183
184
  contextBrokerMock = nock('https://192.168.1.1:1026')
184
- .matchHeader('fiware-service', 'smartGondor')
185
+ .matchHeader('fiware-service', 'smartgondor')
185
186
  .matchHeader('fiware-servicepath', '/gardens')
186
187
  .post(
187
188
  '/v2/subscriptions',
@@ -208,7 +209,7 @@ describe('NGSI-v2 - HTTPS support tests', function () {
208
209
  });
209
210
 
210
211
  it('should send the appropriate request to the Context Broker', function (done) {
211
- iotAgentLib.getDevice('MicroLight1', 'smartGondor', '/gardens', function (error, device) {
212
+ iotAgentLib.getDevice('MicroLight1', 'smartgondor', '/gardens', function (error, device) {
212
213
  iotAgentLib.subscribe(device, ['attr_name'], null, function (error) {
213
214
  should.not.exist(error);
214
215
 
@@ -228,7 +229,7 @@ describe('NGSI-v2 - HTTPS support tests', function () {
228
229
  // device provisioning functionality. Appropriate verification is done in tests under
229
230
  // provisioning folder
230
231
  contextBrokerMock = nock('https://192.168.1.1:1026')
231
- .matchHeader('fiware-service', 'smartGondor')
232
+ .matchHeader('fiware-service', 'smartgondor')
232
233
  .matchHeader('fiware-servicepath', 'gardens')
233
234
  .post('/v2/entities?options=upsert')
234
235
  .reply(204);
@@ -237,7 +238,7 @@ describe('NGSI-v2 - HTTPS support tests', function () {
237
238
  './test/unit/ngsiv2/examples/contextAvailabilityRequests/registerIoTAgent1.json'
238
239
  );
239
240
  contextBrokerMock
240
- .matchHeader('fiware-service', 'smartGondor')
241
+ .matchHeader('fiware-service', 'smartgondor')
241
242
  .matchHeader('fiware-servicepath', 'gardens')
242
243
  .post('/v2/registrations', nockBody)
243
244
  .reply(201, null, { Location: '/v2/registrations/6319a7f5254b05844116584d' });
@@ -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 = {
@@ -57,7 +58,7 @@ const iotAgentConfig = {
57
58
  ]
58
59
  }
59
60
  },
60
- providerUrl: 'http://smartGondor.com',
61
+ providerUrl: 'http://smartgondor.com',
61
62
  iotManager: {
62
63
  host: 'mockediotam.com',
63
64
  port: 9876,
@@ -69,7 +70,7 @@ const iotAgentConfig = {
69
70
  defaultResource: '/iot/d'
70
71
  };
71
72
  const groupCreation = {
72
- service: 'theService',
73
+ service: 'theservice',
73
74
  subservice: 'theSubService',
74
75
  resource: '/deviceTest',
75
76
  apikey: '801230BJKL23Y9090DSFL123HJK09H324HV8732',
@@ -128,7 +129,7 @@ const optionsCreation = {
128
129
  ]
129
130
  },
130
131
  headers: {
131
- 'fiware-service': 'theService',
132
+ 'fiware-service': 'theservice',
132
133
  'fiware-servicepath': 'theSubService'
133
134
  }
134
135
  };
@@ -166,7 +167,7 @@ const optionsCreationStatic = {
166
167
  ]
167
168
  },
168
169
  headers: {
169
- 'fiware-service': 'theService',
170
+ 'fiware-service': 'theservice',
170
171
  'fiware-servicepath': 'theSubService'
171
172
  }
172
173
  };
@@ -175,7 +176,7 @@ const optionsDelete = {
175
176
  method: 'DELETE',
176
177
  json: {},
177
178
  headers: {
178
- 'fiware-service': 'theService',
179
+ 'fiware-service': 'theservice',
179
180
  'fiware-servicepath': 'theSubService'
180
181
  },
181
182
  qs: {
@@ -220,7 +221,7 @@ describe('NGSI-v2 - IoT Manager autoregistration', function () {
220
221
  });
221
222
 
222
223
  afterEach(function () {
223
- iotAgentConfig.providerUrl = 'http://smartGondor.com';
224
+ iotAgentConfig.providerUrl = 'http://smartgondor.com';
224
225
  });
225
226
 
226
227
  it('should fail with a MISSING_CONFIG_PARAMS error', function (done) {
@@ -30,6 +30,7 @@ const iotAgentLib = require('../../../../lib/fiware-iotagent-lib');
30
30
  const should = require('should');
31
31
  const nock = require('nock');
32
32
  const utils = require('../../../tools/utils');
33
+ const request = utils.request;
33
34
  const config = require('../../../../lib/commonConfig');
34
35
  const iotAgentConfig = {
35
36
  logLevel: 'FATAL',
@@ -58,7 +59,7 @@ const iotAgentConfig = {
58
59
  ]
59
60
  }
60
61
  },
61
- providerUrl: 'http://smartGondor.com'
62
+ providerUrl: 'http://smartgondor.com'
62
63
  };
63
64
  let iotamMock;
64
65
 
@@ -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',
@@ -53,14 +55,14 @@ const iotAgentConfig = {
53
55
  ]
54
56
  }
55
57
  },
56
- service: 'smartGondor',
58
+ service: 'smartgondor',
57
59
  subservice: 'gardens',
58
- providerUrl: 'http://smartGondor.com'
60
+ providerUrl: 'http://smartgondor.com'
59
61
  };
60
62
  const device = {
61
63
  id: 'somelight',
62
64
  type: 'Light',
63
- service: 'smartGondor',
65
+ service: 'smartgondor',
64
66
  subservice: 'gardens'
65
67
  };
66
68
 
@@ -71,13 +73,13 @@ describe('NGSI-v2 - Update attribute functionalities', function () {
71
73
  nock.cleanAll();
72
74
 
73
75
  contextBrokerMock = nock('http://192.168.1.1:1026')
74
- .matchHeader('fiware-service', 'smartGondor')
76
+ .matchHeader('fiware-service', 'smartgondor')
75
77
  .matchHeader('fiware-servicepath', 'gardens')
76
78
  .post('/v2/registrations')
77
79
  .reply(201, null, { Location: '/v2/registrations/6319a7f5254b05844116584d' });
78
80
 
79
81
  contextBrokerMock
80
- .matchHeader('fiware-service', 'smartGondor')
82
+ .matchHeader('fiware-service', 'smartgondor')
81
83
  .matchHeader('fiware-servicepath', 'gardens')
82
84
  .post('/v2/entities?options=upsert')
83
85
  .reply(204);
@@ -116,7 +118,7 @@ describe('NGSI-v2 - Update attribute functionalities', function () {
116
118
  ]
117
119
  },
118
120
  headers: {
119
- 'fiware-service': 'smartGondor',
121
+ 'fiware-service': 'smartgondor',
120
122
  'fiware-servicepath': 'gardens'
121
123
  }
122
124
  };
@@ -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;
@@ -99,14 +100,14 @@ const iotAgentConfig = {
99
100
  active: []
100
101
  }
101
102
  },
102
- service: 'smartGondor',
103
+ service: 'smartgondor',
103
104
  subservice: 'gardens',
104
- providerUrl: 'http://smartGondor.com'
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
  subservice: 'gardens'
111
112
  };
112
113
 
@@ -118,7 +119,7 @@ describe('NGSI-v2 - Command functionalities', function () {
118
119
  nock.cleanAll();
119
120
 
120
121
  contextBrokerMock = nock('http://192.168.1.1:1026')
121
- .matchHeader('fiware-service', 'smartGondor')
122
+ .matchHeader('fiware-service', 'smartgondor')
122
123
  .matchHeader('fiware-servicepath', 'gardens')
123
124
  .post(
124
125
  '/v2/registrations',
@@ -129,7 +130,7 @@ describe('NGSI-v2 - Command functionalities', function () {
129
130
  .reply(201, null, { Location: '/v2/registrations/6319a7f5254b05844116584d' });
130
131
 
131
132
  contextBrokerMock
132
- .matchHeader('fiware-service', 'smartGondor')
133
+ .matchHeader('fiware-service', 'smartgondor')
133
134
  .matchHeader('fiware-servicepath', 'gardens')
134
135
  .post('/v2/entities?options=upsert')
135
136
  .reply(204);
@@ -179,7 +180,7 @@ describe('NGSI-v2 - Command functionalities', function () {
179
180
  ]
180
181
  },
181
182
  headers: {
182
- 'fiware-service': 'smartGondor',
183
+ 'fiware-service': 'smartgondor',
183
184
  'fiware-servicepath': 'gardens'
184
185
  }
185
186
  };
@@ -242,7 +243,7 @@ describe('NGSI-v2 - Command functionalities', function () {
242
243
  let serviceAndSubservice = false;
243
244
 
244
245
  iotAgentLib.setCommandHandler(function (id, type, service, subservice, attributes, callback) {
245
- serviceAndSubservice = service === 'smartGondor' && subservice === 'gardens';
246
+ serviceAndSubservice = service === 'smartgondor' && subservice === 'gardens';
246
247
  callback(null, {
247
248
  id,
248
249
  type,
@@ -265,9 +266,9 @@ describe('NGSI-v2 - Command functionalities', function () {
265
266
  describe('When an update arrives from the south bound for a registered command', function () {
266
267
  beforeEach(function (done) {
267
268
  statusAttributeMock = nock('http://192.168.1.1:1026')
268
- .matchHeader('fiware-service', 'smartGondor')
269
+ .matchHeader('fiware-service', 'smartgondor')
269
270
  .matchHeader('fiware-servicepath', 'gardens')
270
- .post(
271
+ .patch(
271
272
  '/v2/entities/r2d2/attrs?type=Robot',
272
273
  utils.readExampleFile('./test/unit/ngsiv2/examples/contextRequests/updateContextCommandFinish.json')
273
274
  )
@@ -289,9 +290,9 @@ describe('NGSI-v2 - Command functionalities', function () {
289
290
  describe('When an error command arrives from the south bound for a registered command', function () {
290
291
  beforeEach(function (done) {
291
292
  statusAttributeMock = nock('http://192.168.1.1:1026')
292
- .matchHeader('fiware-service', 'smartGondor')
293
+ .matchHeader('fiware-service', 'smartgondor')
293
294
  .matchHeader('fiware-servicepath', 'gardens')
294
- .post(
295
+ .patch(
295
296
  '/v2/entities/r2d2/attrs?type=Robot',
296
297
  utils.readExampleFile('./test/unit/ngsiv2/examples/contextRequests/updateContextCommandError.json')
297
298
  )