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 nock = require('nock');
32
33
  const async = require('async');
33
- const request = require('request');
34
+
34
35
  let contextBrokerMock;
35
36
  const iotAgentConfig = {
36
37
  logLevel: 'ERROR',
@@ -45,9 +46,9 @@ const iotAgentConfig = {
45
46
  baseRoot: '/'
46
47
  },
47
48
  types: {},
48
- service: 'smartGondor',
49
+ service: 'smartgondor',
49
50
  subservice: 'gardens',
50
- providerUrl: 'http://smartGondor.com'
51
+ providerUrl: 'http://smartgondor.com'
51
52
  };
52
53
 
53
54
  describe('NGSI-LD - Device provisioning API: Remove provisioned devices', function () {
@@ -55,7 +56,7 @@ describe('NGSI-LD - Device provisioning API: Remove provisioned devices', functi
55
56
  url: 'http://localhost:' + iotAgentConfig.server.port + '/iot/devices',
56
57
  method: 'POST',
57
58
  headers: {
58
- 'fiware-service': 'smartGondor',
59
+ 'fiware-service': 'smartgondor',
59
60
  'fiware-servicepath': '/gardens'
60
61
  },
61
62
  json: utils.readExampleFile('./test/unit/examples/deviceProvisioningRequests/provisionNewDevice.json')
@@ -64,7 +65,7 @@ describe('NGSI-LD - Device provisioning API: Remove provisioned devices', functi
64
65
  url: 'http://localhost:' + iotAgentConfig.server.port + '/iot/devices',
65
66
  method: 'POST',
66
67
  headers: {
67
- 'fiware-service': 'smartGondor',
68
+ 'fiware-service': 'smartgondor',
68
69
  'fiware-servicepath': '/gardens'
69
70
  },
70
71
  json: utils.readExampleFile('./test/unit/examples/deviceProvisioningRequests/provisionAnotherDevice.json')
@@ -73,7 +74,7 @@ describe('NGSI-LD - Device provisioning API: Remove provisioned devices', functi
73
74
  url: 'http://localhost:' + iotAgentConfig.server.port + '/iot/devices',
74
75
  method: 'POST',
75
76
  headers: {
76
- 'fiware-service': 'smartGondor',
77
+ 'fiware-service': 'smartgondor',
77
78
  'fiware-servicepath': '/gardens'
78
79
  },
79
80
  json: utils.readExampleFile('./test/unit/examples/deviceProvisioningRequests/provisionDeviceActiveAtts.json')
@@ -85,7 +86,7 @@ describe('NGSI-LD - Device provisioning API: Remove provisioned devices', functi
85
86
  './test/unit/ngsi-ld/examples/contextAvailabilityRequests/registerProvisionedDevice.json'
86
87
  );
87
88
  contextBrokerMock = nock('http://192.168.1.1:1026')
88
- .matchHeader('fiware-service', 'smartGondor')
89
+ .matchHeader('fiware-service', 'smartgondor')
89
90
  .post('/ngsi-ld/v1/csourceRegistrations/', nockBody)
90
91
  .reply(201, null, { Location: '/ngsi-ld/v1/csourceRegistrations/6319a7f5254b05844116584d' });
91
92
 
@@ -93,7 +94,7 @@ describe('NGSI-LD - Device provisioning API: Remove provisioned devices', functi
93
94
  // device provisioning functionality. Appropriate verification is done in tests under
94
95
  // provisioning folder
95
96
  contextBrokerMock
96
- .matchHeader('fiware-service', 'smartGondor')
97
+ .matchHeader('fiware-service', 'smartgondor')
97
98
  .post('/ngsi-ld/v1/entityOperations/upsert/')
98
99
  .reply(204);
99
100
 
@@ -101,7 +102,7 @@ describe('NGSI-LD - Device provisioning API: Remove provisioned devices', functi
101
102
  './test/unit/ngsi-ld/examples/contextAvailabilityRequests/registerProvisionedDevice2.json'
102
103
  );
103
104
  contextBrokerMock = nock('http://192.168.1.1:1026')
104
- .matchHeader('fiware-service', 'smartGondor')
105
+ .matchHeader('fiware-service', 'smartgondor')
105
106
  .post('/ngsi-ld/v1/csourceRegistrations/', nockBody2)
106
107
  .reply(201, null, { Location: '/ngsi-ld/v1/csourceRegistrations/6319a7f5254b05844116584d' });
107
108
 
@@ -109,20 +110,20 @@ describe('NGSI-LD - Device provisioning API: Remove provisioned devices', functi
109
110
  // device provisioning functionality. Appropriate verification is done in tests under
110
111
  // provisioning folder
111
112
  contextBrokerMock
112
- .matchHeader('fiware-service', 'smartGondor')
113
+ .matchHeader('fiware-service', 'smartgondor')
113
114
  .post('/ngsi-ld/v1/entityOperations/upsert/')
114
115
  .reply(204);
115
116
 
116
117
  contextBrokerMock
117
- .matchHeader('fiware-service', 'smartGondor')
118
- .delete('/ngsi-ld/v1/csourceRegistrations/6319a7f5254b05844116584d')
118
+ .matchHeader('fiware-service', 'smartgondor')
119
+ .delete('/ngsi-ld/v1/csourceRegistrations/6319a7f5254b05844116584d', '')
119
120
  .reply(204);
120
121
 
121
122
  // This mock does not check the payload since the aim of the test is not to verify
122
123
  // device provisioning functionality. Appropriate verification is done in tests under
123
124
  // provisioning folder
124
125
  contextBrokerMock
125
- .matchHeader('fiware-service', 'smartGondor')
126
+ .matchHeader('fiware-service', 'smartgondor')
126
127
  .post('/ngsi-ld/v1/entityOperations/upsert/')
127
128
  .reply(204);
128
129
 
@@ -148,7 +149,7 @@ describe('NGSI-LD - Device provisioning API: Remove provisioned devices', functi
148
149
  const options = {
149
150
  url: 'http://localhost:' + iotAgentConfig.server.port + '/iot/devices/Light1',
150
151
  headers: {
151
- 'fiware-service': 'smartGondor',
152
+ 'fiware-service': 'smartgondor',
152
153
  'fiware-servicepath': '/gardens'
153
154
  },
154
155
  method: 'DELETE'
@@ -167,15 +168,14 @@ describe('NGSI-LD - Device provisioning API: Remove provisioned devices', functi
167
168
  const options = {
168
169
  url: 'http://localhost:' + iotAgentConfig.server.port + '/iot/devices',
169
170
  headers: {
170
- 'fiware-service': 'smartGondor',
171
+ 'fiware-service': 'smartgondor',
171
172
  'fiware-servicepath': '/gardens'
172
173
  },
173
174
  method: 'GET'
174
175
  };
175
176
 
176
177
  request(options, function (error, response, body) {
177
- const parsedBody = JSON.parse(body);
178
- parsedBody.devices.length.should.equal(2);
178
+ body.devices.length.should.equal(2);
179
179
  done();
180
180
  });
181
181
  });
@@ -186,7 +186,7 @@ describe('NGSI-LD - Device provisioning API: Remove provisioned devices', functi
186
186
  const options = {
187
187
  url: 'http://localhost:' + iotAgentConfig.server.port + '/iot/devices/Light1',
188
188
  headers: {
189
- 'fiware-service': 'smartGondor',
189
+ 'fiware-service': 'smartgondor',
190
190
  'fiware-servicepath': '/gardens'
191
191
  },
192
192
  method: 'GET'
@@ -219,7 +219,7 @@ describe('NGSI-LD - Device provisioning API: Remove provisioned devices', functi
219
219
  const options = {
220
220
  url: 'http://localhost:' + iotAgentConfig.server.port + '/iot/devices/Light3',
221
221
  headers: {
222
- 'fiware-service': 'smartGondor',
222
+ 'fiware-service': 'smartgondor',
223
223
  'fiware-servicepath': '/gardens'
224
224
  },
225
225
  method: 'DELETE'
@@ -27,11 +27,12 @@
27
27
 
28
28
  const iotAgentLib = require('../../../../lib/fiware-iotagent-lib');
29
29
  const utils = require('../../../tools/utils');
30
+ const request = utils.request;
30
31
 
31
32
  const should = require('should');
32
33
  const nock = require('nock');
33
34
  let contextBrokerMock;
34
- const request = require('request');
35
+
35
36
  const iotAgentConfig = {
36
37
  logLevel: 'FATAL',
37
38
  contextBroker: {
@@ -45,17 +46,17 @@ const iotAgentConfig = {
45
46
  baseRoot: '/'
46
47
  },
47
48
  types: {},
48
- service: 'smartGondor',
49
+ service: 'smartgondor',
49
50
  singleConfigurationMode: true,
50
51
  subservice: 'gardens',
51
- providerUrl: 'http://smartGondor.com'
52
+ providerUrl: 'http://smartgondor.com'
52
53
  };
53
54
  const groupCreation = {
54
55
  url: 'http://localhost:4041/iot/services',
55
56
  method: 'POST',
56
57
  json: utils.readExampleFile('./test/unit/examples/groupProvisioningRequests/provisionFullGroup.json'),
57
58
  headers: {
58
- 'fiware-service': 'TestService',
59
+ 'fiware-service': 'testservice',
59
60
  'fiware-servicepath': '/testingPath'
60
61
  }
61
62
  };
@@ -64,7 +65,7 @@ const deviceCreation = {
64
65
  method: 'POST',
65
66
  json: utils.readExampleFile('./test/unit/examples/deviceProvisioningRequests/provisionNewDevice.json'),
66
67
  headers: {
67
- 'fiware-service': 'TestService',
68
+ 'fiware-service': 'testservice',
68
69
  'fiware-servicepath': '/testingPath'
69
70
  }
70
71
  };
@@ -90,7 +91,7 @@ describe('NGSI-LD - Provisioning API: Single service mode', function () {
90
91
  method: 'POST',
91
92
  json: utils.readExampleFile('./test/unit/examples/groupProvisioningRequests/provisionDuplicateGroup.json'),
92
93
  headers: {
93
- 'fiware-service': 'TestService',
94
+ 'fiware-service': 'testservice',
94
95
  'fiware-servicepath': '/testingPath'
95
96
  }
96
97
  };
@@ -115,7 +116,7 @@ describe('NGSI-LD - Provisioning API: Single service mode', function () {
115
116
  method: 'POST',
116
117
  json: utils.readExampleFile('./test/unit/examples/deviceProvisioningRequests/provisionDuplicatedDev.json'),
117
118
  headers: {
118
- 'fiware-service': 'TestService',
119
+ 'fiware-service': 'testservice',
119
120
  'fiware-servicepath': '/testingPath'
120
121
  }
121
122
  };
@@ -124,7 +125,7 @@ describe('NGSI-LD - Provisioning API: Single service mode', function () {
124
125
  nock.cleanAll();
125
126
 
126
127
  contextBrokerMock = nock('http://unexistentHost:1026')
127
- .matchHeader('fiware-service', 'TestService')
128
+ .matchHeader('fiware-service', 'testservice')
128
129
  .post('/ngsi-ld/v1/csourceRegistrations/')
129
130
  .reply(201, null, { Location: '/ngsi-ld/v1/csourceRegistrations/6319a7f5254b05844116584d' });
130
131
 
@@ -132,7 +133,7 @@ describe('NGSI-LD - Provisioning API: Single service mode', function () {
132
133
  // device provisioning functionality. Appropriate verification is done in tests under
133
134
  // provisioning folder
134
135
  contextBrokerMock
135
- .matchHeader('fiware-service', 'TestService')
136
+ .matchHeader('fiware-service', 'testservice')
136
137
  .post('/ngsi-ld/v1/entityOperations/upsert/')
137
138
  .reply(204);
138
139
 
@@ -177,7 +178,7 @@ describe('NGSI-LD - Provisioning API: Single service mode', function () {
177
178
  nock.cleanAll();
178
179
 
179
180
  contextBrokerMock = nock('http://192.168.1.1:1026')
180
- .matchHeader('fiware-service', 'TestService')
181
+ .matchHeader('fiware-service', 'testservice')
181
182
  .post('/ngsi-ld/v1/csourceRegistrations/')
182
183
  .reply(201, null, { Location: '/ngsi-ld/v1/csourceRegistrations/6319a7f5254b05844116584d' });
183
184
 
@@ -185,7 +186,7 @@ describe('NGSI-LD - Provisioning API: Single service mode', function () {
185
186
  // device provisioning functionality. Appropriate verification is done in tests under
186
187
  // provisioning folder
187
188
  contextBrokerMock
188
- .matchHeader('fiware-service', 'TestService')
189
+ .matchHeader('fiware-service', 'testservice')
189
190
  .post('/ngsi-ld/v1/entityOperations/upsert/')
190
191
  .reply(204);
191
192
 
@@ -224,7 +225,7 @@ describe('NGSI-LD - Provisioning API: Single service mode', function () {
224
225
  url: 'http://localhost:' + iotAgentConfig.server.port + '/iot/devices/Light1',
225
226
  method: 'GET',
226
227
  headers: {
227
- 'fiware-service': 'TestService',
228
+ 'fiware-service': 'testservice',
228
229
  'fiware-servicepath': '/testingPath'
229
230
  }
230
231
  };
@@ -234,7 +235,7 @@ describe('NGSI-LD - Provisioning API: Single service mode', function () {
234
235
  nock.cleanAll();
235
236
 
236
237
  contextBrokerMock = nock('http://unexistentHost:1026')
237
- .matchHeader('fiware-service', 'TestService')
238
+ .matchHeader('fiware-service', 'testservice')
238
239
  .post('/ngsi-ld/v1/csourceRegistrations/')
239
240
  .reply(201, null, { Location: '/ngsi-ld/v1/csourceRegistrations/6319a7f5254b05844116584d' });
240
241
 
@@ -242,7 +243,7 @@ describe('NGSI-LD - Provisioning API: Single service mode', function () {
242
243
  // device provisioning functionality. Appropriate verification is done in tests under
243
244
  // provisioning folder
244
245
  contextBrokerMock
245
- .matchHeader('fiware-service', 'TestService')
246
+ .matchHeader('fiware-service', 'testservice')
246
247
  .post('/ngsi-ld/v1/entityOperations/upsert/')
247
248
  .reply(204);
248
249
 
@@ -258,10 +259,7 @@ describe('NGSI-LD - Provisioning API: Single service mode', function () {
258
259
  it('should be provisioned with the default type', function (done) {
259
260
  request(deviceCreation, function (error, response, body) {
260
261
  request(getDevice, function (error, response, body) {
261
- const parsedBody = JSON.parse(body);
262
-
263
- parsedBody.entity_type.should.equal('SensorMachine');
264
-
262
+ body.entity_type.should.equal('SensorMachine');
265
263
  done();
266
264
  });
267
265
  });
@@ -271,7 +269,7 @@ describe('NGSI-LD - Provisioning API: Single service mode', function () {
271
269
  beforeEach(function (done) {
272
270
  nock.cleanAll();
273
271
  contextBrokerMock = nock('http://unexistentHost:1026')
274
- .matchHeader('fiware-service', 'TestService')
272
+ .matchHeader('fiware-service', 'testservice')
275
273
  .post(
276
274
  '/ngsi-ld/v1/csourceRegistrations/',
277
275
  utils.readExampleFile(
@@ -282,7 +280,7 @@ describe('NGSI-LD - Provisioning API: Single service mode', function () {
282
280
  .reply(201, null, { Location: '/ngsi-ld/v1/csourceRegistrations/6319a7f5254b05844116584d' });
283
281
 
284
282
  contextBrokerMock
285
- .matchHeader('fiware-service', 'TestService')
283
+ .matchHeader('fiware-service', 'testservice')
286
284
  .post(
287
285
  '/ngsi-ld/v1/entityOperations/upsert/',
288
286
  utils.readExampleFile(
@@ -27,10 +27,11 @@
27
27
 
28
28
  const iotAgentLib = require('../../../../lib/fiware-iotagent-lib');
29
29
  const utils = require('../../../tools/utils');
30
+ const request = utils.request;
30
31
  const should = require('should');
31
32
  const nock = require('nock');
32
33
  const async = require('async');
33
- const request = require('request');
34
+
34
35
  let contextBrokerMock;
35
36
  const iotAgentConfig = {
36
37
  logLevel: 'FATAL',
@@ -45,8 +46,8 @@ const iotAgentConfig = {
45
46
  baseRoot: '/'
46
47
  },
47
48
  types: {},
48
- service: 'smartGondor',
49
- providerUrl: 'http://smartGondor.com'
49
+ service: 'smartgondor',
50
+ providerUrl: 'http://smartgondor.com'
50
51
  };
51
52
 
52
53
  describe('NGSI-LD - Device provisioning API: Update provisioned devices', function () {
@@ -54,7 +55,7 @@ describe('NGSI-LD - Device provisioning API: Update provisioned devices', functi
54
55
  url: 'http://localhost:' + iotAgentConfig.server.port + '/iot/devices',
55
56
  method: 'POST',
56
57
  headers: {
57
- 'fiware-service': 'smartGondor',
58
+ 'fiware-service': 'smartgondor',
58
59
  'fiware-servicepath': '/gardens'
59
60
  },
60
61
  json: utils.readExampleFile('./test/unit/examples/deviceProvisioningRequests/provisionNewDevice.json')
@@ -63,7 +64,7 @@ describe('NGSI-LD - Device provisioning API: Update provisioned devices', functi
63
64
  url: 'http://localhost:' + iotAgentConfig.server.port + '/iot/devices',
64
65
  method: 'POST',
65
66
  headers: {
66
- 'fiware-service': 'smartGondor',
67
+ 'fiware-service': 'smartgondor',
67
68
  'fiware-servicepath': '/gardens'
68
69
  },
69
70
  json: utils.readExampleFile('./test/unit/examples/deviceProvisioningRequests/provisionAnotherDevice.json')
@@ -72,7 +73,7 @@ describe('NGSI-LD - Device provisioning API: Update provisioned devices', functi
72
73
  url: 'http://localhost:' + iotAgentConfig.server.port + '/iot/devices',
73
74
  method: 'POST',
74
75
  headers: {
75
- 'fiware-service': 'smartGondor',
76
+ 'fiware-service': 'smartgondor',
76
77
  'fiware-servicepath': '/gardens'
77
78
  },
78
79
  json: utils.readExampleFile('./test/unit/examples/deviceProvisioningRequests/provisionMinimumDevice2.json')
@@ -85,7 +86,7 @@ describe('NGSI-LD - Device provisioning API: Update provisioned devices', functi
85
86
  './test/unit/ngsi-ld/examples/contextAvailabilityRequests/registerProvisionedDevice.json'
86
87
  );
87
88
  contextBrokerMock = nock('http://192.168.1.1:1026')
88
- .matchHeader('fiware-service', 'smartGondor')
89
+ .matchHeader('fiware-service', 'smartgondor')
89
90
  .post('/ngsi-ld/v1/csourceRegistrations/', nockBody)
90
91
  .reply(201, null, { Location: '/ngsi-ld/v1/csourceRegistrations/6319a7f5254b05844116584d' });
91
92
 
@@ -93,7 +94,7 @@ describe('NGSI-LD - Device provisioning API: Update provisioned devices', functi
93
94
  // device provisioning functionality. Appropriate verification is done in tests under
94
95
  // provisioning folder
95
96
  contextBrokerMock
96
- .matchHeader('fiware-service', 'smartGondor')
97
+ .matchHeader('fiware-service', 'smartgondor')
97
98
  .post('/ngsi-ld/v1/entityOperations/upsert/')
98
99
  .reply(204);
99
100
 
@@ -102,7 +103,7 @@ describe('NGSI-LD - Device provisioning API: Update provisioned devices', functi
102
103
  );
103
104
  nockBody2.expires = /.+/i;
104
105
  contextBrokerMock
105
- .matchHeader('fiware-service', 'smartGondor')
106
+ .matchHeader('fiware-service', 'smartgondor')
106
107
  .post('/ngsi-ld/v1/csourceRegistrations/', nockBody2)
107
108
  .reply(201, null, { Location: '/ngsi-ld/v1/csourceRegistrations/6719a7f5254b058441165849' });
108
109
 
@@ -110,7 +111,7 @@ describe('NGSI-LD - Device provisioning API: Update provisioned devices', functi
110
111
  // device provisioning functionality. Appropriate verification is done in tests under
111
112
  // provisioning folder
112
113
  contextBrokerMock
113
- .matchHeader('fiware-service', 'smartGondor')
114
+ .matchHeader('fiware-service', 'smartgondor')
114
115
  .post('/ngsi-ld/v1/entityOperations/upsert/')
115
116
  .reply(204);
116
117
 
@@ -118,8 +119,8 @@ describe('NGSI-LD - Device provisioning API: Update provisioned devices', functi
118
119
  // this function should use the new API. This is just a temporary solution which implies deleting the
119
120
  // registration and creating a new one.
120
121
  contextBrokerMock
121
- .matchHeader('fiware-service', 'smartGondor')
122
- .delete('/ngsi-ld/v1/csourceRegistrations/6719a7f5254b058441165849')
122
+ .matchHeader('fiware-service', 'smartgondor')
123
+ .delete('/ngsi-ld/v1/csourceRegistrations/6719a7f5254b058441165849', '')
123
124
  .reply(204);
124
125
 
125
126
  const nockBody3 = utils.readExampleFile(
@@ -127,7 +128,7 @@ describe('NGSI-LD - Device provisioning API: Update provisioned devices', functi
127
128
  );
128
129
  nockBody3.expires = /.+/i;
129
130
  contextBrokerMock
130
- .matchHeader('fiware-service', 'smartGondor')
131
+ .matchHeader('fiware-service', 'smartgondor')
131
132
  .post('/ngsi-ld/v1/csourceRegistrations/', nockBody3)
132
133
  .reply(201, null, { Location: '/ngsi-ld/v1/csourceRegistrations/4419a7f5254b058441165849' });
133
134
 
@@ -153,7 +154,7 @@ describe('NGSI-LD - Device provisioning API: Update provisioned devices', functi
153
154
  url: 'http://localhost:' + iotAgentConfig.server.port + '/iot/devices/Light1',
154
155
  method: 'PUT',
155
156
  headers: {
156
- 'fiware-service': 'smartGondor',
157
+ 'fiware-service': 'smartgondor',
157
158
  'fiware-servicepath': '/gardens'
158
159
  },
159
160
  json: utils.readExampleFile('./test/unit/examples/deviceProvisioningRequests/updateProvisionDevice.json')
@@ -161,15 +162,15 @@ describe('NGSI-LD - Device provisioning API: Update provisioned devices', functi
161
162
 
162
163
  beforeEach(function () {
163
164
  contextBrokerMock
164
- .matchHeader('fiware-service', 'smartGondor')
165
- .post('/ngsi-ld/v1/entities/TheFirstLight/attrs?type=TheLightType', {
165
+ .matchHeader('fiware-service', 'smartgondor')
166
+ .post('/ngsi-ld/v1/entityOperations/upsert/', {
166
167
  '@context': 'http://context.json-ld'
167
168
  })
168
169
  .reply(204);
169
170
 
170
171
  contextBrokerMock
171
- .matchHeader('fiware-service', 'smartGondor')
172
- .post('/ngsi-ld/v1/entityOperations/upsert/?options=update')
172
+ .matchHeader('fiware-service', 'smartgondor')
173
+ .post('/ngsi-ld/v1/entityOperations/upsert/')
173
174
  .reply(204);
174
175
 
175
176
  // FIXME: When https://github.com/telefonicaid/fiware-orion/issues/3007 is merged into master branch,
@@ -177,12 +178,12 @@ describe('NGSI-LD - Device provisioning API: Update provisioned devices', functi
177
178
  // registration and creating a new one.
178
179
 
179
180
  contextBrokerMock
180
- .matchHeader('fiware-service', 'smartGondor')
181
- .delete('/ngsi-ld/v1/csourceRegistrations/6319a7f5254b05844116584d')
181
+ .matchHeader('fiware-service', 'smartgondor')
182
+ .delete('/ngsi-ld/v1/csourceRegistrations/6319a7f5254b05844116584d', '')
182
183
  .reply(204);
183
184
 
184
185
  contextBrokerMock
185
- .matchHeader('fiware-service', 'smartGondor')
186
+ .matchHeader('fiware-service', 'smartgondor')
186
187
  .post(
187
188
  '/ngsi-ld/v1/csourceRegistrations/',
188
189
  utils.readExampleFile(
@@ -192,7 +193,7 @@ describe('NGSI-LD - Device provisioning API: Update provisioned devices', functi
192
193
  .reply(201, null, { Location: '/ngsi-ld/v1/csourceRegistrations/4419a7f5254b058441165849' });
193
194
 
194
195
  contextBrokerMock
195
- .matchHeader('fiware-service', 'smartGondor')
196
+ .matchHeader('fiware-service', 'smartgondor')
196
197
  .post(
197
198
  '/ngsi-ld/v1/csourceRegistrations/',
198
199
  utils.readExampleFile(
@@ -215,7 +216,7 @@ describe('NGSI-LD - Device provisioning API: Update provisioned devices', functi
215
216
  const options = {
216
217
  url: 'http://localhost:' + iotAgentConfig.server.port + '/iot/devices/Light1',
217
218
  headers: {
218
- 'fiware-service': 'smartGondor',
219
+ 'fiware-service': 'smartgondor',
219
220
  'fiware-servicepath': '/gardens'
220
221
  },
221
222
  method: 'GET'
@@ -223,10 +224,8 @@ describe('NGSI-LD - Device provisioning API: Update provisioned devices', functi
223
224
 
224
225
  request(options, function (error, response, body) {
225
226
  /* jshint camelcase:false */
226
-
227
- const parsedBody = JSON.parse(body);
228
- parsedBody.entity_name.should.equal('ANewLightName');
229
- parsedBody.timezone.should.equal('Europe/Madrid');
227
+ body.entity_name.should.equal('ANewLightName');
228
+ body.timezone.should.equal('Europe/Madrid');
230
229
  done();
231
230
  });
232
231
  });
@@ -237,7 +236,7 @@ describe('NGSI-LD - Device provisioning API: Update provisioned devices', functi
237
236
  const options = {
238
237
  url: 'http://localhost:' + iotAgentConfig.server.port + '/iot/devices/Light1',
239
238
  headers: {
240
- 'fiware-service': 'smartGondor',
239
+ 'fiware-service': 'smartgondor',
241
240
  'fiware-servicepath': '/gardens'
242
241
  },
243
242
  method: 'GET'
@@ -246,9 +245,8 @@ describe('NGSI-LD - Device provisioning API: Update provisioned devices', functi
246
245
  request(options, function (error, response, body) {
247
246
  /* jshint camelcase:false */
248
247
 
249
- const parsedBody = JSON.parse(body);
250
- parsedBody.entity_type.should.equal('TheLightType');
251
- parsedBody.service.should.equal('smartGondor');
248
+ body.entity_type.should.equal('TheLightType');
249
+ body.service.should.equal('smartgondor');
252
250
  done();
253
251
  });
254
252
  });
@@ -259,7 +257,7 @@ describe('NGSI-LD - Device provisioning API: Update provisioned devices', functi
259
257
  url: 'http://localhost:' + iotAgentConfig.server.port + '/iot/devices/Light1',
260
258
  method: 'PUT',
261
259
  headers: {
262
- 'fiware-service': 'smartGondor',
260
+ 'fiware-service': 'smartgondor',
263
261
  'fiware-servicepath': '/gardens'
264
262
  },
265
263
  json: utils.readExampleFile(
@@ -280,7 +278,7 @@ describe('NGSI-LD - Device provisioning API: Update provisioned devices', functi
280
278
  url: 'http://localhost:' + iotAgentConfig.server.port + '/iot/devices/Light1',
281
279
  method: 'PUT',
282
280
  headers: {
283
- 'fiware-service': 'smartGondor',
281
+ 'fiware-service': 'smartgondor',
284
282
  'fiware-servicepath': '/gardens'
285
283
  },
286
284
  json: utils.readExampleFile(
@@ -302,7 +300,7 @@ describe('NGSI-LD - Device provisioning API: Update provisioned devices', functi
302
300
  url: 'http://localhost:' + iotAgentConfig.server.port + '/iot/devices/MicroLight2',
303
301
  method: 'PUT',
304
302
  headers: {
305
- 'fiware-service': 'smartGondor',
303
+ 'fiware-service': 'smartgondor',
306
304
  'fiware-servicepath': '/gardens'
307
305
  },
308
306
  json: utils.readExampleFile('./test/unit/examples/deviceProvisioningRequests/updateMinimumDevice.json')
@@ -311,7 +309,7 @@ describe('NGSI-LD - Device provisioning API: Update provisioned devices', functi
311
309
  url: 'http://localhost:' + iotAgentConfig.server.port + '/iot/devices/MicroLight2',
312
310
  method: 'GET',
313
311
  headers: {
314
- 'fiware-service': 'smartGondor',
312
+ 'fiware-service': 'smartgondor',
315
313
  'fiware-servicepath': '/gardens'
316
314
  }
317
315
  };
@@ -323,12 +321,12 @@ describe('NGSI-LD - Device provisioning API: Update provisioned devices', functi
323
321
  // device provisioning functionality. Appropriate verification is done in tests under
324
322
  // provisioning folder
325
323
  contextBrokerMock = nock('http://192.168.1.1:1026')
326
- .matchHeader('fiware-service', 'smartGondor')
324
+ .matchHeader('fiware-service', 'smartgondor')
327
325
  .post('/ngsi-ld/v1/entityOperations/upsert/')
328
326
  .reply(204);
329
327
 
330
328
  contextBrokerMock
331
- .matchHeader('fiware-service', 'smartGondor')
329
+ .matchHeader('fiware-service', 'smartgondor')
332
330
  .post(
333
331
  '/ngsi-ld/v1/entityOperations/upsert/?options=update',
334
332
  utils.readExampleFile(
@@ -353,10 +351,8 @@ describe('NGSI-LD - Device provisioning API: Update provisioned devices', functi
353
351
  should.not.exist(error);
354
352
  response.statusCode.should.equal(200);
355
353
 
356
- const parsedBody = JSON.parse(body);
357
-
358
- parsedBody.attributes.length.should.equal(1);
359
- parsedBody.attributes[0].name.should.equal('newAttribute');
354
+ body.attributes.length.should.equal(1);
355
+ body.attributes[0].name.should.equal('newAttribute');
360
356
  done();
361
357
  });
362
358
  });
@@ -377,7 +373,7 @@ describe('NGSI-LD - Device provisioning API: Update provisioned devices', functi
377
373
  url: 'http://localhost:' + iotAgentConfig.server.port + '/iot/devices/MicroLight2',
378
374
  method: 'PUT',
379
375
  headers: {
380
- 'fiware-service': 'smartGondor',
376
+ 'fiware-service': 'smartgondor',
381
377
  'fiware-servicepath': '/gardens'
382
378
  },
383
379
  json: utils.readExampleFile('./test/unit/examples/deviceProvisioningRequests/updateDeviceStatic.json')
@@ -386,7 +382,7 @@ describe('NGSI-LD - Device provisioning API: Update provisioned devices', functi
386
382
  url: 'http://localhost:' + iotAgentConfig.server.port + '/iot/devices/MicroLight2',
387
383
  method: 'GET',
388
384
  headers: {
389
- 'fiware-service': 'smartGondor',
385
+ 'fiware-service': 'smartgondor',
390
386
  'fiware-servicepath': '/gardens'
391
387
  }
392
388
  };
@@ -398,12 +394,12 @@ describe('NGSI-LD - Device provisioning API: Update provisioned devices', functi
398
394
  // device provisioning functionality. Appropriate verification is done in tests under
399
395
  // provisioning folder
400
396
  contextBrokerMock = nock('http://192.168.1.1:1026')
401
- .matchHeader('fiware-service', 'smartGondor')
397
+ .matchHeader('fiware-service', 'smartgondor')
402
398
  .post('/ngsi-ld/v1/entityOperations/upsert/')
403
399
  .reply(204);
404
400
 
405
401
  contextBrokerMock
406
- .matchHeader('fiware-service', 'smartGondor')
402
+ .matchHeader('fiware-service', 'smartgondor')
407
403
  .post(
408
404
  '/ngsi-ld/v1/entityOperations/upsert/?options=update',
409
405
  utils.readExampleFile(
@@ -421,10 +417,8 @@ describe('NGSI-LD - Device provisioning API: Update provisioned devices', functi
421
417
  should.not.exist(error);
422
418
  response.statusCode.should.equal(200);
423
419
 
424
- const parsedBody = JSON.parse(body);
425
-
426
- parsedBody.static_attributes.length.should.equal(3);
427
- parsedBody.static_attributes[0].name.should.equal('cellID');
420
+ body.static_attributes.length.should.equal(3);
421
+ body.static_attributes[0].name.should.equal('cellID');
428
422
  done();
429
423
  });
430
424
  });