iotagent-node-lib 2.17.0 → 2.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (347) hide show
  1. package/.github/workflows/ci.yml +17 -2
  2. package/.nyc_output/76bc24ff-5fac-4b5a-997d-de2799342eb0.json +1 -0
  3. package/.nyc_output/processinfo/76bc24ff-5fac-4b5a-997d-de2799342eb0.json +1 -0
  4. package/.nyc_output/processinfo/index.json +1 -1
  5. package/CHANGES_NEXT_RELEASE +1 -0
  6. package/README.md +3 -54
  7. package/doc/advanced-topics.md +121 -85
  8. package/doc/api.md +52 -52
  9. package/doc/development.md +13 -6
  10. package/doc/expressionLanguage.md +514 -312
  11. package/doc/installationguide.md +66 -64
  12. package/doc/usermanual.md +48 -16
  13. package/docker/Mosquitto/Dockerfile +1 -0
  14. package/docker/Mosquitto/README.md +1 -0
  15. package/docker/Mosquitto/startMosquitto.sh +9 -4
  16. package/lib/commonConfig.js +1 -14
  17. package/lib/errors.js +0 -16
  18. package/lib/fiware-iotagent-lib.js +4 -2
  19. package/lib/jexlTranformsMap.js +13 -2
  20. package/lib/model/Device.js +4 -1
  21. package/lib/model/Group.js +19 -1
  22. package/lib/plugins/attributeAlias.js +6 -13
  23. package/lib/plugins/bidirectionalData.js +1 -21
  24. package/lib/plugins/expressionParser.js +7 -6
  25. package/lib/plugins/expressionPlugin.js +11 -25
  26. package/lib/plugins/jexlParser.js +8 -4
  27. package/lib/plugins/multiEntity.js +54 -145
  28. package/lib/plugins/pluginUtils.js +12 -48
  29. package/lib/plugins/timestampProcessPlugin.js +1 -46
  30. package/lib/request-shim.js +111 -0
  31. package/lib/services/common/domain.js +6 -2
  32. package/lib/services/common/genericMiddleware.js +6 -2
  33. package/lib/services/common/iotManagerService.js +1 -1
  34. package/lib/services/common/securityServiceKeystone.js +1 -1
  35. package/lib/services/common/securityServiceOAuth2.js +3 -2
  36. package/lib/services/devices/deviceRegistryMongoDB.js +2 -0
  37. package/lib/services/devices/deviceService.js +2 -5
  38. package/lib/services/devices/devices-NGSI-LD.js +1 -1
  39. package/lib/services/devices/devices-NGSI-v2.js +4 -8
  40. package/lib/services/devices/registrationUtils.js +1 -134
  41. package/lib/services/ngsi/entities-NGSI-LD.js +205 -124
  42. package/lib/services/ngsi/entities-NGSI-v2.js +109 -15
  43. package/lib/services/ngsi/ngsiService.js +4 -6
  44. package/lib/services/ngsi/ngsiUtils.js +0 -36
  45. package/lib/services/ngsi/subscriptionService.js +1 -4
  46. package/lib/services/northBound/contextServer-NGSI-LD.js +7 -2
  47. package/lib/services/northBound/contextServer-NGSI-v2.js +24 -12
  48. package/lib/services/northBound/contextServer.js +1 -4
  49. package/lib/services/northBound/contextServerUtils.js +0 -81
  50. package/lib/services/northBound/deviceProvisioningServer.js +31 -7
  51. package/lib/services/northBound/northboundServer.js +2 -0
  52. package/lib/services/northBound/restUtils.js +1 -38
  53. package/lib/templates/updateDevice.json +4 -0
  54. package/lib/templates/updateDeviceLax.json +4 -0
  55. package/package.json +10 -16
  56. package/test/tools/utils.js +2 -0
  57. package/test/unit/examples/groupProvisioningRequests/multipleGroupsCreation.json +1 -1
  58. package/test/unit/expressions/jexlExpression-test.js +44 -5
  59. package/test/unit/general/contextBrokerKeystoneSecurityAccess-test.js +19 -66
  60. package/test/unit/general/deviceService-test.js +11 -27
  61. package/test/unit/general/loglevel-api_test.js +6 -11
  62. package/test/unit/general/startup-test.js +2 -1
  63. package/test/unit/memoryRegistry/deviceRegistryMemory_test.js +8 -16
  64. package/test/unit/mongodb/mongodb-group-registry-test.js +1 -1
  65. package/test/unit/mongodb/mongodb-registry-test.js +38 -114
  66. package/test/unit/ngsi-ld/examples/contextRequests/createMinimumProvisionedDevice.json +0 -7
  67. package/test/unit/ngsi-ld/examples/contextRequests/createProvisionedDevice.json +0 -7
  68. package/test/unit/ngsi-ld/examples/contextRequests/createProvisionedDeviceMultientity.json +0 -7
  69. package/test/unit/ngsi-ld/examples/contextRequests/createProvisionedDeviceWithGroupAndStatic.json +0 -14
  70. package/test/unit/ngsi-ld/examples/contextRequests/createProvisionedDeviceWithGroupAndStatic2.json +0 -14
  71. package/test/unit/ngsi-ld/examples/contextRequests/createProvisionedDeviceWithGroupAndStatic3.json +1 -15
  72. package/test/unit/ngsi-ld/examples/contextRequests/createTimeInstantMinimumDevice.json +0 -7
  73. package/test/unit/ngsi-ld/examples/contextRequests/updateContextAliasPlugin6.json +0 -7
  74. package/test/unit/ngsi-ld/examples/contextRequests/updateContextAutocast5.json +0 -7
  75. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin12a.json +7 -0
  76. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin13.json +13 -13
  77. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin16.json +0 -7
  78. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin17.json +0 -7
  79. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin1a.json +18 -0
  80. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin29.json +18 -0
  81. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin31.json +15 -0
  82. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin32.json +17 -0
  83. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin33.json +18 -0
  84. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin34.json +17 -0
  85. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin4a.json +36 -0
  86. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin5.json +0 -7
  87. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin7.json +16 -16
  88. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin8a.json +18 -0
  89. package/test/unit/ngsi-ld/examples/contextRequests/updateContextGeoproperties3.json +0 -7
  90. package/test/unit/ngsi-ld/examples/contextRequests/updateContextMultientityPlugin15.json +25 -0
  91. package/test/unit/ngsi-ld/examples/contextRequests/updateContextMultientityTimestampPlugin1.json +6 -6
  92. package/test/unit/ngsi-ld/examples/contextRequests/updateContextMultientityTimestampPlugin2.json +3 -3
  93. package/test/unit/ngsi-ld/examples/contextRequests/updateProvisionActiveAttributes1.json +0 -7
  94. package/test/unit/ngsi-ld/examples/contextRequests/updateProvisionCommands1.json +0 -7
  95. package/test/unit/ngsi-ld/examples/contextRequests/updateProvisionDeviceStatic.json +0 -7
  96. package/test/unit/ngsi-ld/examples/contextRequests/updateProvisionMinimumDevice.json +0 -7
  97. package/test/unit/ngsi-ld/expressions/jexlBasedTransformations-test.js +1018 -0
  98. package/test/unit/ngsi-ld/general/contextBrokerOAuthSecurityAccess-test.js +2 -2
  99. package/test/unit/ngsi-ld/general/deviceService-test.js +1 -1
  100. package/test/unit/ngsi-ld/general/https-support-test.js +2 -1
  101. package/test/unit/ngsi-ld/general/iotam-autoregistration-test.js +2 -1
  102. package/test/unit/ngsi-ld/general/startup-test.js +1 -0
  103. package/test/unit/ngsi-ld/lazyAndCommands/active-devices-attribute-update-test.js +3 -1
  104. package/test/unit/ngsi-ld/lazyAndCommands/command-test.js +2 -1
  105. package/test/unit/ngsi-ld/lazyAndCommands/lazy-devices-test.js +2 -6
  106. package/test/unit/ngsi-ld/lazyAndCommands/polling-commands-test.js +2 -1
  107. package/test/unit/ngsi-ld/ngsiService/active-devices-test.js +1 -0
  108. package/test/unit/ngsi-ld/ngsiService/autocast-test.js +1 -0
  109. package/test/unit/ngsi-ld/ngsiService/geoproperties-test.js +1 -0
  110. package/test/unit/ngsi-ld/ngsiService/subscriptions-test.js +4 -3
  111. package/test/unit/ngsi-ld/plugins/alias-plugin_test.js +1 -0
  112. package/test/unit/ngsi-ld/plugins/bidirectional-plugin_test.js +3 -2
  113. package/test/unit/ngsi-ld/plugins/multientity-plugin_test.js +61 -0
  114. package/test/unit/ngsi-ld/provisioning/device-provisioning-api_test.js +2 -1
  115. package/test/unit/ngsi-ld/provisioning/device-registration_test.js +3 -2
  116. package/test/unit/ngsi-ld/provisioning/device-update-registration_test.js +1 -0
  117. package/test/unit/ngsi-ld/provisioning/listProvisionedDevices-test.js +42 -54
  118. package/test/unit/ngsi-ld/provisioning/provisionDeviceMultientity-test.js +2 -1
  119. package/test/unit/ngsi-ld/provisioning/removeProvisionedDevice-test.js +4 -4
  120. package/test/unit/ngsi-ld/provisioning/singleConfigurationMode-test.js +3 -5
  121. package/test/unit/ngsi-ld/provisioning/updateProvisionedDevices-test.js +12 -18
  122. package/test/unit/ngsi-mixed/provisioning/ngsi-versioning-test.js +3 -1
  123. package/test/unit/ngsiv2/examples/contextAvailabilityRequests/registerIoTAgent3.json +19 -0
  124. package/test/unit/ngsiv2/examples/contextAvailabilityRequests/registerIoTAgent5.json +19 -0
  125. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin17.json +1 -1
  126. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin29.json +22 -0
  127. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin30.json +6 -0
  128. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin31.json +18 -0
  129. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin32.json +16 -0
  130. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin33.json +22 -0
  131. package/test/unit/ngsiv2/examples/contextRequests/updateContextExpressionPlugin34.json +12 -0
  132. package/test/unit/ngsiv2/examples/contextRequests/updateContextMiddleware1.json +10 -0
  133. package/test/unit/ngsiv2/examples/contextRequests/updateContextMiddleware2.json +10 -0
  134. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin11.json +13 -0
  135. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin12.json +33 -0
  136. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin13.json +33 -0
  137. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin14.json +33 -0
  138. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin15.json +25 -0
  139. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityPlugin16.json +25 -0
  140. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityTimestampPlugin1.json +6 -6
  141. package/test/unit/ngsiv2/examples/contextRequests/updateContextMultientityTimestampPlugin2.json +3 -3
  142. package/test/unit/{examples → ngsiv2/examples}/contextRequests/updateProvisionDevice.json +0 -0
  143. package/test/unit/ngsiv2/expressions/expressionBasedTransformations-test.js +37 -4
  144. package/test/unit/ngsiv2/expressions/jexlBasedTransformations-test.js +598 -0
  145. package/test/unit/ngsiv2/general/contextBrokerOAuthSecurityAccess-test.js +3 -2
  146. package/test/unit/ngsiv2/general/deviceService-test.js +9 -8
  147. package/test/unit/ngsiv2/general/https-support-test.js +2 -1
  148. package/test/unit/ngsiv2/general/iotam-autoregistration-test.js +2 -1
  149. package/test/unit/ngsiv2/general/startup-test.js +1 -0
  150. package/test/unit/ngsiv2/lazyAndCommands/active-devices-attribute-update-test.js +3 -1
  151. package/test/unit/ngsiv2/lazyAndCommands/command-test.js +2 -1
  152. package/test/unit/ngsiv2/lazyAndCommands/lazy-devices-test.js +287 -15
  153. package/test/unit/ngsiv2/lazyAndCommands/polling-commands-test.js +3 -1
  154. package/test/unit/ngsiv2/ngsiService/active-devices-test.js +88 -0
  155. package/test/unit/{ngsiService → ngsiv2/ngsiService}/queryDeviceInformationInCb-test.js +20 -49
  156. package/test/unit/ngsiv2/ngsiService/subscriptions-test.js +4 -3
  157. package/test/unit/ngsiv2/plugins/bidirectional-plugin_test.js +3 -2
  158. package/test/unit/ngsiv2/plugins/multientity-plugin_test.js +526 -0
  159. package/test/unit/{plugins → ngsiv2/plugins}/translation-inPlugins_test.js +21 -21
  160. package/test/unit/{provisioning → ngsiv2/provisioning}/device-group-api-test.js +19 -50
  161. package/test/unit/{provisioning/device-group-utils_test.js → ngsiv2/provisioning/device-group-utils-test.js} +5 -4
  162. package/test/unit/ngsiv2/provisioning/device-provisioning-api_test.js +2 -1
  163. package/test/unit/ngsiv2/provisioning/device-registration_test.js +3 -2
  164. package/test/unit/ngsiv2/provisioning/device-update-registration_test.js +4 -3
  165. package/test/unit/ngsiv2/provisioning/listProvisionedDevices-test.js +42 -53
  166. package/test/unit/ngsiv2/provisioning/provisionDeviceMultientity-test.js +2 -1
  167. package/test/unit/ngsiv2/provisioning/removeProvisionedDevice-test.js +4 -4
  168. package/test/unit/ngsiv2/provisioning/singleConfigurationMode-test.js +3 -4
  169. package/test/unit/ngsiv2/provisioning/updateProvisionedDevices-test.js +14 -20
  170. package/test/unit/plugins/capture-configuration-inPlugins_test.js +3 -1
  171. package/test/unit/plugins/capture-provision-inPlugins_test.js +8 -18
  172. package/.eslintcache +0 -1
  173. package/.nyc_output/dca24ca1-851e-490c-9d34-8d13b3330297.json +0 -1
  174. package/.nyc_output/processinfo/dca24ca1-851e-490c-9d34-8d13b3330297.json +0 -1
  175. package/bin/agentConsole.js +0 -257
  176. package/bin/iotAgentTester.js +0 -44
  177. package/lib/command/commandLine.js +0 -918
  178. package/lib/command/migration.js +0 -176
  179. package/lib/services/devices/devices-NGSI-v1.js +0 -310
  180. package/lib/services/ngsi/entities-NGSI-v1.js +0 -299
  181. package/lib/services/ngsi/subscription-NGSI-v1.js +0 -234
  182. package/lib/services/northBound/contextServer-NGSI-v1.js +0 -526
  183. package/lib/templates/notificationTemplateNgsi1.json +0 -75
  184. package/lib/templates/updateContextNgsi1.json +0 -50
  185. package/test/unit/examples/contextAvailabilityRequests/registerIoTAgent1.json +0 -21
  186. package/test/unit/examples/contextAvailabilityRequests/registerIoTAgent2.json +0 -21
  187. package/test/unit/examples/contextAvailabilityRequests/registerIoTAgent3.json +0 -25
  188. package/test/unit/examples/contextAvailabilityRequests/registerIoTAgent4.json +0 -22
  189. package/test/unit/examples/contextAvailabilityRequests/registerIoTAgentAttributeUpdates.json +0 -16
  190. package/test/unit/examples/contextAvailabilityRequests/registerIoTAgentCommands.json +0 -21
  191. package/test/unit/examples/contextAvailabilityRequests/registerNewDevice1.json +0 -21
  192. package/test/unit/examples/contextAvailabilityRequests/registerNewDevice2.json +0 -21
  193. package/test/unit/examples/contextAvailabilityRequests/registerProvisionedDevice.json +0 -25
  194. package/test/unit/examples/contextAvailabilityRequests/registerProvisionedDevice2.json +0 -21
  195. package/test/unit/examples/contextAvailabilityRequests/registerProvisionedDeviceWithGroup.json +0 -33
  196. package/test/unit/examples/contextAvailabilityRequests/registerProvisionedDeviceWithGroup2.json +0 -33
  197. package/test/unit/examples/contextAvailabilityRequests/unregisterDevice1.json +0 -22
  198. package/test/unit/examples/contextAvailabilityRequests/unregisterDevice3.json +0 -26
  199. package/test/unit/examples/contextAvailabilityRequests/unregisterProvisionedDevice.json +0 -26
  200. package/test/unit/examples/contextAvailabilityRequests/updateCommands1.json +0 -22
  201. package/test/unit/examples/contextAvailabilityRequests/updateIoTAgent1.json +0 -22
  202. package/test/unit/examples/contextAvailabilityRequests/updateIoTAgent2.json +0 -26
  203. package/test/unit/examples/contextAvailabilityRequests/updateIoTAgent3.json +0 -26
  204. package/test/unit/examples/contextAvailabilityResponses/registerIoTAgent1Failed.json +0 -8
  205. package/test/unit/examples/contextAvailabilityResponses/registerIoTAgent1Success.json +0 -4
  206. package/test/unit/examples/contextAvailabilityResponses/registerNewDevice1Success.json +0 -4
  207. package/test/unit/examples/contextAvailabilityResponses/registerNewDevice2Success.json +0 -4
  208. package/test/unit/examples/contextAvailabilityResponses/registerProvisionedDeviceSuccess.json +0 -4
  209. package/test/unit/examples/contextAvailabilityResponses/unregisterDevice1Failed.json +0 -8
  210. package/test/unit/examples/contextAvailabilityResponses/unregisterDevice1Success.json +0 -4
  211. package/test/unit/examples/contextAvailabilityResponses/updateCommands1Success.json +0 -4
  212. package/test/unit/examples/contextAvailabilityResponses/updateIoTAgent1Success.json +0 -6
  213. package/test/unit/examples/contextProviderResponses/queryInformationResponse.json +0 -22
  214. package/test/unit/examples/contextProviderResponses/queryInformationResponseEmptyAttributes.json +0 -22
  215. package/test/unit/examples/contextProviderResponses/queryInformationStaticAttributesResponse.json +0 -27
  216. package/test/unit/examples/contextProviderResponses/updateInformationResponse.json +0 -22
  217. package/test/unit/examples/contextProviderResponses/updateInformationResponse2.json +0 -22
  218. package/test/unit/examples/contextRequests/contextSubscriptionRequest.json +0 -20
  219. package/test/unit/examples/contextRequests/contextSubscriptionRequest2.json +0 -20
  220. package/test/unit/examples/contextRequests/createBidirectionalDevice.json +0 -17
  221. package/test/unit/examples/contextRequests/createDatetimeProvisionedDevice.json +0 -17
  222. package/test/unit/examples/contextRequests/createGeopointProvisionedDevice.json +0 -17
  223. package/test/unit/examples/contextRequests/createMinimumProvisionedDevice.json +0 -17
  224. package/test/unit/examples/contextRequests/createProvisionedDevice.json +0 -32
  225. package/test/unit/examples/contextRequests/createProvisionedDeviceMultientity.json +0 -32
  226. package/test/unit/examples/contextRequests/createProvisionedDeviceWithGroup.json +0 -47
  227. package/test/unit/examples/contextRequests/createProvisionedDeviceWithGroupAndStatic.json +0 -52
  228. package/test/unit/examples/contextRequests/createProvisionedDeviceWithGroupAndStatic2.json +0 -52
  229. package/test/unit/examples/contextRequests/createTimeinstantDevice.json +0 -17
  230. package/test/unit/examples/contextRequests/queryContext1.json +0 -13
  231. package/test/unit/examples/contextRequests/queryContext2.json +0 -13
  232. package/test/unit/examples/contextRequests/queryContextAliasPlugin1.json +0 -10
  233. package/test/unit/examples/contextRequests/queryContextCompressTimestamp1.json +0 -13
  234. package/test/unit/examples/contextRequests/updateActiveAttributes.json +0 -32
  235. package/test/unit/examples/contextRequests/updateContext1.json +0 -22
  236. package/test/unit/examples/contextRequests/updateContext2.json +0 -22
  237. package/test/unit/examples/contextRequests/updateContext3.json +0 -17
  238. package/test/unit/examples/contextRequests/updateContext3WithStatic.json +0 -22
  239. package/test/unit/examples/contextRequests/updateContext4.json +0 -22
  240. package/test/unit/examples/contextRequests/updateContext5.json +0 -19
  241. package/test/unit/examples/contextRequests/updateContextAliasPlugin.json +0 -22
  242. package/test/unit/examples/contextRequests/updateContextAliasPlugin2.json +0 -17
  243. package/test/unit/examples/contextRequests/updateContextAppendMode.json +0 -22
  244. package/test/unit/examples/contextRequests/updateContextCommandError.json +0 -22
  245. package/test/unit/examples/contextRequests/updateContextCommandExpired.json +0 -22
  246. package/test/unit/examples/contextRequests/updateContextCommandFinish.json +0 -22
  247. package/test/unit/examples/contextRequests/updateContextCommandStatus.json +0 -17
  248. package/test/unit/examples/contextRequests/updateContextCompressTimestamp1.json +0 -22
  249. package/test/unit/examples/contextRequests/updateContextCompressTimestamp2.json +0 -29
  250. package/test/unit/examples/contextRequests/updateContextExpressionPlugin1.json +0 -17
  251. package/test/unit/examples/contextRequests/updateContextExpressionPlugin10.json +0 -17
  252. package/test/unit/examples/contextRequests/updateContextExpressionPlugin2.json +0 -27
  253. package/test/unit/examples/contextRequests/updateContextExpressionPlugin3.json +0 -17
  254. package/test/unit/examples/contextRequests/updateContextExpressionPlugin4.json +0 -17
  255. package/test/unit/examples/contextRequests/updateContextExpressionPlugin5.json +0 -27
  256. package/test/unit/examples/contextRequests/updateContextExpressionPlugin6.json +0 -17
  257. package/test/unit/examples/contextRequests/updateContextExpressionPlugin7.json +0 -27
  258. package/test/unit/examples/contextRequests/updateContextExpressionPlugin8.json +0 -22
  259. package/test/unit/examples/contextRequests/updateContextExpressionPlugin9.json +0 -27
  260. package/test/unit/examples/contextRequests/updateContextMiddleware1.json +0 -22
  261. package/test/unit/examples/contextRequests/updateContextMultiEntityPlugin3.json +0 -35
  262. package/test/unit/examples/contextRequests/updateContextMultientityPlugin1.json +0 -30
  263. package/test/unit/examples/contextRequests/updateContextMultientityPlugin2.json +0 -30
  264. package/test/unit/examples/contextRequests/updateContextProcessTimestamp1.json +0 -29
  265. package/test/unit/examples/contextRequests/updateContextStaticAttributes.json +0 -22
  266. package/test/unit/examples/contextRequests/updateContextTimestamp.json +0 -41
  267. package/test/unit/examples/contextRequests/updateContextTimestampOverride.json +0 -22
  268. package/test/unit/examples/contextRequests/updateContextTimestampOverrideWithoutMilis.json +0 -22
  269. package/test/unit/examples/contextRequests/updateContextTimestampTimezone.json +0 -41
  270. package/test/unit/examples/contextRequests/updateProvisionActiveAttributes1.json +0 -17
  271. package/test/unit/examples/contextRequests/updateProvisionCommands1.json +0 -27
  272. package/test/unit/examples/contextRequests/updateProvisionDeviceStatic.json +0 -38
  273. package/test/unit/examples/contextRequests/updateProvisionMinimumDevice.json +0 -17
  274. package/test/unit/examples/contextResponses/contextSubscriptionRequest2Success.json +0 -7
  275. package/test/unit/examples/contextResponses/contextSubscriptionRequestSuccess.json +0 -7
  276. package/test/unit/examples/contextResponses/createBidirectionalDeviceSuccess.json +0 -22
  277. package/test/unit/examples/contextResponses/createDatetimeProvisionedDeviceSuccess.json +0 -22
  278. package/test/unit/examples/contextResponses/createGeopointProvisionedDeviceSuccess.json +0 -22
  279. package/test/unit/examples/contextResponses/createProvisionedDeviceSuccess.json +0 -22
  280. package/test/unit/examples/contextResponses/createTimeinstantSuccess.json +0 -22
  281. package/test/unit/examples/contextResponses/queryContext1Success.json +0 -27
  282. package/test/unit/examples/contextResponses/queryContext2Error.json +0 -7
  283. package/test/unit/examples/contextResponses/queryContext2UnknownError.json +0 -6
  284. package/test/unit/examples/contextResponses/queryContext3Error.json +0 -34
  285. package/test/unit/examples/contextResponses/queryContextAliasPlugin1Success.json +0 -27
  286. package/test/unit/examples/contextResponses/queryContextCompressTimestamp1Success.json +0 -27
  287. package/test/unit/examples/contextResponses/updateActiveAttributesSuccess.json +0 -42
  288. package/test/unit/examples/contextResponses/updateContext1Failed.json +0 -7
  289. package/test/unit/examples/contextResponses/updateContext1Success.json +0 -27
  290. package/test/unit/examples/contextResponses/updateContext2Failed.json +0 -35
  291. package/test/unit/examples/contextResponses/updateContextAliasPlugin2Success.json +0 -27
  292. package/test/unit/examples/contextResponses/updateContextAliasPluginSuccess.json +0 -27
  293. package/test/unit/examples/contextResponses/updateContextCommandFinishSuccess.json +0 -27
  294. package/test/unit/examples/contextResponses/updateContextCommandStatusSuccess.json +0 -22
  295. package/test/unit/examples/contextResponses/updateContextCompressTimestamp1Success.json +0 -27
  296. package/test/unit/examples/contextResponses/updateContextCompressTimestamp2Success.json +0 -34
  297. package/test/unit/examples/contextResponses/updateContextEvents1Success.json +0 -27
  298. package/test/unit/examples/contextResponses/updateContextExpressionPlugin1Success.json +0 -22
  299. package/test/unit/examples/contextResponses/updateContextExpressionPlugin2Success.json +0 -22
  300. package/test/unit/examples/contextResponses/updateContextExpressionPlugin3Success.json +0 -22
  301. package/test/unit/examples/contextResponses/updateContextExpressionPlugin5Success.json +0 -32
  302. package/test/unit/examples/contextResponses/updateContextMultientityPlugin1Success.json +0 -40
  303. package/test/unit/examples/contextResponses/updateContextMultientityPlugin2Success.json +0 -40
  304. package/test/unit/examples/contextResponses/updateContextMultientityPlugin3Success.json +0 -40
  305. package/test/unit/examples/contextResponses/updateContextProcessTimestamp1Success.json +0 -27
  306. package/test/unit/examples/contextResponses/updateProvisionActiveAttributes1Success.json +0 -22
  307. package/test/unit/examples/contextResponses/updateProvisionCommands1Success.json +0 -32
  308. package/test/unit/examples/contextResponses/updateProvisionMinimumDeviceSuccess.json +0 -22
  309. package/test/unit/examples/subscriptionRequests/bidirectionalNotification.json +0 -24
  310. package/test/unit/examples/subscriptionRequests/bidirectionalSubscriptionRemove.json +0 -3
  311. package/test/unit/examples/subscriptionRequests/bidirectionalSubscriptionRequest.json +0 -22
  312. package/test/unit/examples/subscriptionRequests/errorNotification.json +0 -24
  313. package/test/unit/examples/subscriptionRequests/simpleNotification.json +0 -24
  314. package/test/unit/examples/subscriptionRequests/simpleSubscriptionRemove.json +0 -3
  315. package/test/unit/examples/subscriptionRequests/simpleSubscriptionRequest.json +0 -19
  316. package/test/unit/examples/subscriptionRequests/simpleSubscriptionRequest1.json +0 -19
  317. package/test/unit/examples/subscriptionResponses/bidirectionalSubscriptionSuccess.json +0 -6
  318. package/test/unit/examples/subscriptionResponses/simpleSubscriptionSuccess.json +0 -6
  319. package/test/unit/expressions/expressionBasedTransformations-test.js +0 -328
  320. package/test/unit/expressions/expressionCombinedTransformations-test.js +0 -306
  321. package/test/unit/expressions/jexlBasedTransformations-test.js +0 -334
  322. package/test/unit/general/contextBrokerOAuthSecurityAccess-test.js +0 -902
  323. package/test/unit/general/https-support-test.js +0 -286
  324. package/test/unit/general/iotam-autoregistration-test.js +0 -368
  325. package/test/unit/general/migration-test.js +0 -256
  326. package/test/unit/lazyAndCommands/active-devices-attribute-update-test.js +0 -168
  327. package/test/unit/lazyAndCommands/command-test.js +0 -341
  328. package/test/unit/lazyAndCommands/lazy-devices-test.js +0 -878
  329. package/test/unit/lazyAndCommands/polling-commands-test.js +0 -421
  330. package/test/unit/ngsi-ld/examples/contextRequests/updateContextExpressionPlugin20.json +0 -25
  331. package/test/unit/ngsiService/active-devices-test.js +0 -692
  332. package/test/unit/ngsiService/staticAttributes-test.js +0 -148
  333. package/test/unit/ngsiService/subscriptions-test.js +0 -345
  334. package/test/unit/plugins/alias-plugin_test.js +0 -158
  335. package/test/unit/plugins/bidirectional-plugin_test.js +0 -564
  336. package/test/unit/plugins/compress-timestamp-plugin_test.js +0 -257
  337. package/test/unit/plugins/event-plugin_test.js +0 -119
  338. package/test/unit/plugins/multientity-plugin_test.js +0 -248
  339. package/test/unit/plugins/timestamp-processing-plugin_test.js +0 -119
  340. package/test/unit/provisioning/device-provisioning-api_test.js +0 -748
  341. package/test/unit/provisioning/device-registration_test.js +0 -432
  342. package/test/unit/provisioning/device-update-registration_test.js +0 -326
  343. package/test/unit/provisioning/listProvisionedDevices-test.js +0 -488
  344. package/test/unit/provisioning/provisionDeviceMultientity-test.js +0 -123
  345. package/test/unit/provisioning/removeProvisionedDevice-test.js +0 -244
  346. package/test/unit/provisioning/singleConfigurationMode-test.js +0 -346
  347. package/test/unit/provisioning/updateProvisionedDevices-test.js +0 -436
@@ -25,10 +25,10 @@
25
25
 
26
26
  const iotAgentLib = require('../../../lib/fiware-iotagent-lib');
27
27
  const utils = require('../../tools/utils');
28
+ const request = utils.request;
28
29
  const should = require('should');
29
30
  const logger = require('logops');
30
31
  const nock = require('nock');
31
- const request = require('request');
32
32
  let contextBrokerMock;
33
33
  let keystoneMock;
34
34
  const iotAgentConfig = {
@@ -87,7 +87,7 @@ const iotAgentConfig = {
87
87
  deviceRegistrationDuration: 'P1M'
88
88
  };
89
89
 
90
- describe('NGSI-v1 - Secured access to the Context Broker with Keystone', function () {
90
+ describe('NGSI-v2 - Secured access to the Context Broker with Keystone', function () {
91
91
  const values = [
92
92
  {
93
93
  name: 'state',
@@ -127,12 +127,9 @@ describe('NGSI-v1 - Secured access to the Context Broker with Keystone', functio
127
127
  .matchHeader('fiware-service', 'smartgondor')
128
128
  .matchHeader('fiware-servicepath', 'electricity')
129
129
  .matchHeader('X-Auth-Token', '12345679ABCDEF')
130
- .post(
131
- '/v1/updateContext',
132
- utils.readExampleFile('./test/unit/examples/contextRequests/updateContext1.json')
133
- )
134
- .reply(200, utils.readExampleFile('./test/unit/examples/contextResponses/updateContext1Success.json'));
135
-
130
+ .patch('/v2/entities/light1/attrs')
131
+ .query({ type: 'Light' })
132
+ .reply(204);
136
133
  iotAgentLib.activate(iotAgentConfig, done);
137
134
  });
138
135
 
@@ -168,11 +165,9 @@ describe('NGSI-v1 - Secured access to the Context Broker with Keystone', functio
168
165
  .matchHeader('fiware-service', 'smartgondor')
169
166
  .matchHeader('fiware-servicepath', 'electricity')
170
167
  .matchHeader('X-Auth-Token', '12345679ABCDEF')
171
- .post(
172
- '/v1/updateContext',
173
- utils.readExampleFile('./test/unit/examples/contextRequests/updateContext1.json')
174
- )
175
- .reply(403, utils.readExampleFile('./test/unit/examples/contextResponses/updateContext1Success.json'));
168
+ .patch('/v2/entities/light1/attrs')
169
+ .query({ type: 'Light' })
170
+ .reply(403, { name: 'ACCESS_FORBIDDEN' });
176
171
 
177
172
  iotAgentLib.activate(iotAgentConfig, done);
178
173
  });
@@ -203,11 +198,8 @@ describe('NGSI-v1 - Secured access to the Context Broker with Keystone', functio
203
198
  .matchHeader('fiware-service', 'smartgondor')
204
199
  .matchHeader('fiware-servicepath', 'electricity')
205
200
  .matchHeader('X-Auth-Token', '12345679ABCDEF')
206
- .post(
207
- '/v1/updateContext',
208
- utils.readExampleFile('./test/unit/examples/contextRequests/updateContext1.json')
209
- )
210
- .reply(200, utils.readExampleFile('./test/unit/examples/contextResponses/updateContext1Success.json'));
201
+ .patch('/v2/entities/light1/attrs')
202
+ .query({ type: 'Light' });
211
203
 
212
204
  iotAgentLib.activate(iotAgentConfig, done);
213
205
  });
@@ -240,11 +232,9 @@ describe('NGSI-v1 - Secured access to the Context Broker with Keystone', functio
240
232
  .matchHeader('fiware-service', 'smartgondor')
241
233
  .matchHeader('fiware-servicepath', 'electricity')
242
234
  .matchHeader('X-Auth-Token', '12345679ABCDEF')
243
- .post(
244
- '/v1/queryContext',
245
- utils.readExampleFile('./test/unit/examples/contextRequests/queryContext1.json')
246
- )
247
- .reply(200, utils.readExampleFile('./test/unit/examples/contextResponses/queryContext1Success.json'));
235
+ .get('/v2/entities/light1/attrs')
236
+ .query({ attrs: 'state,dimming', type: 'Light' })
237
+ .reply(200, { state: 'good', dimming: '23' });
248
238
 
249
239
  iotAgentLib.activate(iotAgentConfig, done);
250
240
  });
@@ -291,43 +281,17 @@ describe('NGSI-v1 - Secured access to the Context Broker with Keystone', functio
291
281
  .matchHeader('fiware-service', 'smartgondor')
292
282
  .matchHeader('fiware-servicepath', 'electricity')
293
283
  .matchHeader('X-Auth-Token', '12345679ABCDEF')
294
- .post(
295
- '/v1/updateContext',
296
- utils.readExampleFile('./test/unit/examples/contextRequests/updateContext5.json')
297
- )
298
- .reply(
299
- 200,
300
- utils.readExampleFile('./test/unit/examples/contextResponses/updateContext1Success.json')
301
- );
284
+ .post('/v2/entities?options=upsert')
285
+ .reply(204);
302
286
 
303
287
  contextBrokerMock
304
- .post(
305
- '/NGSI9/registerContext',
306
- utils.readExampleFile(
307
- './test/unit/examples/contextAvailabilityRequests/registerNewDevice1.json'
308
- )
309
- )
310
- .reply(
311
- 200,
312
- utils.readExampleFile(
313
- './test/unit/examples/contextAvailabilityResponses/registerNewDevice1Success.json'
314
- )
315
- );
288
+ .post('/v2/registrations')
289
+ .reply(201, null, { Location: '/v2/registrations/6319a7f5254b05844116584d' });
316
290
 
317
291
  contextBrokerMock
318
- .post(
319
- '/v1/subscribeContext',
320
- utils.readExampleFile(
321
- './test/unit/examples/subscriptionRequests/simpleSubscriptionRequest1.json'
322
- )
323
- )
292
+ .post('/v2/subscriptions')
324
293
  .matchHeader('X-Auth-Token', '12345679ABCDEF')
325
- .reply(
326
- 200,
327
- utils.readExampleFile(
328
- './test/unit/examples/subscriptionResponses/simpleSubscriptionSuccess.json'
329
- )
330
- );
294
+ .reply(201, null, { Location: '/v2/subscriptions/51c0ac9ed714fb3b37d7d5a8' });
331
295
 
332
296
  iotAgentLib.clearAll(function () {
333
297
  request(optionsProvision, function (error, result, body) {
@@ -359,17 +323,6 @@ describe('NGSI-v1 - Secured access to the Context Broker with Keystone', functio
359
323
  'X-Subject-Token': '12345679ABCDEF'
360
324
  });
361
325
 
362
- contextBrokerMock = nock('http://192.168.1.1:1026')
363
- .post(
364
- '/v1/unsubscribeContext',
365
- utils.readExampleFile('./test/unit/examples/subscriptionRequests/simpleSubscriptionRemove.json')
366
- )
367
- .matchHeader('X-Auth-Token', '12345679ABCDEF')
368
- .reply(
369
- 200,
370
- utils.readExampleFile('./test/unit/examples/subscriptionResponses/simpleSubscriptionSuccess.json')
371
- );
372
-
373
326
  iotAgentLib.getDevice('Light1', 'smartgondor', 'electricity', function (error, device) {
374
327
  iotAgentLib.subscribe(device, ['dimming'], null, function (error) {
375
328
  iotAgentLib.unsubscribe(device, '51c0ac9ed714fb3b37d7d5a8', function (error) {
@@ -25,9 +25,9 @@
25
25
 
26
26
  const iotAgentLib = require('../../../lib/fiware-iotagent-lib');
27
27
  const utils = require('../../tools/utils');
28
+ const request = utils.request;
28
29
  const should = require('should');
29
30
  const nock = require('nock');
30
- const request = require('request');
31
31
  const logger = require('logops');
32
32
  const async = require('async');
33
33
  const iotAgentConfig = {
@@ -165,10 +165,10 @@ let contextBrokerMock;
165
165
  let iotamMock;
166
166
 
167
167
  /* jshint camelcase: false */
168
- describe('NGSI-v1 - Device Service: utils', function () {
168
+ describe('NGSI-v2 - Device Service: utils', function () {
169
169
  beforeEach(function (done) {
170
170
  nock.cleanAll();
171
- logger.setLevel('FATAL');
171
+ logger.setLevel('ERROR');
172
172
  iotamMock = nock('http://localhost:8082').post('/protocols').reply(200, {});
173
173
 
174
174
  iotAgentLib.activate(iotAgentConfig, done);
@@ -184,22 +184,14 @@ describe('NGSI-v1 - Device Service: utils', function () {
184
184
  contextBrokerMock = nock('http://unexistentHost:1026')
185
185
  .matchHeader('fiware-service', 'testservice')
186
186
  .matchHeader('fiware-servicepath', '/testingPath')
187
- .post('/NGSI9/registerContext')
188
- .reply(
189
- 200,
190
- utils.readExampleFile(
191
- './test/unit/examples/contextAvailabilityResponses/registerProvisionedDeviceSuccess.json'
192
- )
193
- );
187
+ .post('/v2/registrations')
188
+ .reply(201, null, { Location: '/v2/registrations/6319a7f5254b05844116584d' });
194
189
 
195
190
  contextBrokerMock
196
191
  .matchHeader('fiware-service', 'testservice')
197
192
  .matchHeader('fiware-servicepath', '/testingPath')
198
- .post('/v1/updateContext')
199
- .reply(
200
- 200,
201
- utils.readExampleFile('./test/unit/examples/contextResponses/createProvisionedDeviceSuccess.json')
202
- );
193
+ .post('/v2/entities?options=upsert')
194
+ .reply(204);
203
195
 
204
196
  async.series([request.bind(request, groupCreation), request.bind(request, deviceCreation)], function (
205
197
  error,
@@ -225,22 +217,14 @@ describe('NGSI-v1 - Device Service: utils', function () {
225
217
  contextBrokerMock = nock('http://unexistentHost:1026')
226
218
  .matchHeader('fiware-service', 'testservice')
227
219
  .matchHeader('fiware-servicepath', '/testingPath')
228
- .post('/NGSI9/registerContext')
229
- .reply(
230
- 200,
231
- utils.readExampleFile(
232
- './test/unit/examples/contextAvailabilityResponses/registerProvisionedDeviceSuccess.json'
233
- )
234
- );
220
+ .post('/v2/registrations')
221
+ .reply(201, null, { Location: '/v2/registrations/6319a7f5254b05844116584d' });
235
222
 
236
223
  contextBrokerMock
237
224
  .matchHeader('fiware-service', 'testservice')
238
225
  .matchHeader('fiware-servicepath', '/testingPath')
239
- .post('/v1/updateContext')
240
- .reply(
241
- 200,
242
- utils.readExampleFile('./test/unit/examples/contextResponses/createProvisionedDeviceSuccess.json')
243
- );
226
+ .post('/v2/entities?options=upsert')
227
+ .reply(204);
244
228
 
245
229
  async.series([request.bind(request, groupCreation)], function (error, results) {
246
230
  done();
@@ -26,7 +26,8 @@
26
26
  const iotAgentLib = require('../../../lib/fiware-iotagent-lib');
27
27
  const should = require('should');
28
28
  const logger = require('logops');
29
- const request = require('request');
29
+ const utils = require('../../tools/utils');
30
+ const request = utils.request;
30
31
  const iotAgentConfig = {
31
32
  contextBroker: {
32
33
  host: '192.168.1.1',
@@ -129,10 +130,8 @@ describe('Log level API', function () {
129
130
 
130
131
  it('should return the current log level', function (done) {
131
132
  request(options, function (error, response, body) {
132
- const parsedBody = JSON.parse(body);
133
-
134
- should.exist(parsedBody.level);
135
- parsedBody.level.should.equal('FATAL');
133
+ should.exist(body.level);
134
+ body.level.should.equal('FATAL');
136
135
 
137
136
  done();
138
137
  });
@@ -158,9 +157,7 @@ describe('Log level API', function () {
158
157
  response.statusCode.should.equal(400);
159
158
  should.exist(body);
160
159
 
161
- const parsedBody = JSON.parse(body);
162
-
163
- parsedBody.error.should.equal('invalid log level');
160
+ body.error.should.equal('invalid log level');
164
161
 
165
162
  done();
166
163
  });
@@ -183,9 +180,7 @@ describe('Log level API', function () {
183
180
  response.statusCode.should.equal(400);
184
181
  should.exist(body);
185
182
 
186
- const parsedBody = JSON.parse(body);
187
-
188
- parsedBody.error.should.equal('log level missing');
183
+ body.error.should.equal('log level missing');
189
184
 
190
185
  done();
191
186
  });
@@ -28,6 +28,7 @@ const iotAgentLib = require('../../../lib/fiware-iotagent-lib');
28
28
  const should = require('should');
29
29
  const nock = require('nock');
30
30
  const utils = require('../../tools/utils');
31
+ const request = utils.request;
31
32
  const config = require('../../../lib/commonConfig');
32
33
  const _ = require('underscore');
33
34
  const iotAgentConfig = {
@@ -64,7 +65,7 @@ const iotAgentConfigNoUrl = _.clone(iotAgentConfig);
64
65
  const iotAgentConfigNoTypes = _.clone(iotAgentConfig);
65
66
  let iotamMock;
66
67
 
67
- describe('NGSI-v1 - Startup tests', function () {
68
+ describe('Startup tests', function () {
68
69
  describe('When the IoT Agent is started without a "providerUrl" config parameter', function () {
69
70
  beforeEach(function () {
70
71
  delete iotAgentConfigNoUrl.providerUrl;
@@ -28,6 +28,7 @@ const async = require('async');
28
28
  const should = require('should');
29
29
  const nock = require('nock');
30
30
  const utils = require('../../tools/utils');
31
+ const request = utils.request;
31
32
  const iotAgentConfig = {
32
33
  logLevel: 'FATAL',
33
34
  contextBroker: {
@@ -50,7 +51,7 @@ const iotAgentConfig = {
50
51
  };
51
52
  let contextBrokerMock;
52
53
 
53
- describe('In memory device registry', function () {
54
+ describe('NGSI-v2 - In memory device registry', function () {
54
55
  beforeEach(function (done) {
55
56
  iotAgentLib.activate(iotAgentConfig, done);
56
57
  });
@@ -62,14 +63,11 @@ describe('In memory device registry', function () {
62
63
  describe('When a the registry is queried for a device using an arbitrary attribute', function () {
63
64
  beforeEach(function (done) {
64
65
  contextBrokerMock = nock('http://192.168.1.1:1026')
65
- .post('/v1/updateContext')
66
+ .post('/v2/entities?options=upsert')
66
67
  .times(10)
67
68
  .matchHeader('fiware-service', 'smartgondor')
68
69
  .matchHeader('fiware-servicepath', 'gardens')
69
- .reply(
70
- 200,
71
- utils.readExampleFile('./test/unit/examples/contextResponses/createProvisionedDeviceSuccess.json')
72
- );
70
+ .reply(204);
73
71
 
74
72
  const devices = [];
75
73
 
@@ -114,12 +112,9 @@ describe('In memory device registry', function () {
114
112
  describe('When a the registry is queried for devices in multiple services', function () {
115
113
  beforeEach(function (done) {
116
114
  contextBrokerMock = nock('http://192.168.1.1:1026')
117
- .post('/v1/updateContext')
115
+ .post('/v2/entities?options=upsert')
118
116
  .times(10)
119
- .reply(
120
- 200,
121
- utils.readExampleFile('./test/unit/examples/contextResponses/createProvisionedDeviceSuccess.json')
122
- );
117
+ .reply(204);
123
118
 
124
119
  const devices = [];
125
120
 
@@ -160,12 +155,9 @@ describe('In memory device registry', function () {
160
155
  describe('When a the registry is queried for devices in a particular service', function () {
161
156
  beforeEach(function (done) {
162
157
  contextBrokerMock = nock('http://192.168.1.1:1026')
163
- .post('/v1/updateContext')
158
+ .post('/v2/entities?options=upsert')
164
159
  .times(10)
165
- .reply(
166
- 200,
167
- utils.readExampleFile('./test/unit/examples/contextResponses/createProvisionedDeviceSuccess.json')
168
- );
160
+ .reply(204);
169
161
 
170
162
  const devices = [];
171
163
 
@@ -28,8 +28,8 @@
28
28
  const iotAgentLib = require('../../../lib/fiware-iotagent-lib');
29
29
  const _ = require('underscore');
30
30
  const utils = require('../../tools/utils');
31
+ const request = utils.request;
31
32
  const async = require('async');
32
- const request = require('request');
33
33
  const should = require('should');
34
34
  const iotAgentConfig = {
35
35
  logLevel: 'FATAL',
@@ -25,6 +25,7 @@
25
25
 
26
26
  const iotAgentLib = require('../../../lib/fiware-iotagent-lib');
27
27
  const utils = require('../../tools/utils');
28
+ const request = utils.request;
28
29
  const should = require('should');
29
30
  const logger = require('logops');
30
31
  const mongo = require('mongodb').MongoClient;
@@ -185,7 +186,7 @@ const device3 = {
185
186
  };
186
187
  let iotAgentDb;
187
188
 
188
- describe('MongoDB Device Registry', function () {
189
+ describe('NGSI-v2 - MongoDB Device Registry', function () {
189
190
  beforeEach(function (done) {
190
191
  logger.setLevel('FATAL');
191
192
 
@@ -219,22 +220,14 @@ describe('MongoDB Device Registry', function () {
219
220
  .matchHeader('fiware-service', 'smartgondor')
220
221
  .matchHeader('fiware-servicepath', 'gardens')
221
222
  .post(
222
- '/NGSI9/registerContext',
223
- utils.readExampleFile('./test/unit/examples/contextAvailabilityRequests/registerIoTAgent3.json')
224
- )
225
- .reply(
226
- 200,
223
+ '/v2/registrations',
227
224
  utils.readExampleFile(
228
- './test/unit/examples/contextAvailabilityResponses/registerIoTAgent1Success.json'
225
+ './test/unit/ngsiv2/examples/contextAvailabilityRequests/registerIoTAgent3.json'
229
226
  )
230
- );
227
+ )
228
+ .reply(201, null, { Location: '/v2/registrations/6319a7f5254b05844116584d' });
231
229
 
232
- contextBrokerMock
233
- .post('/v1/updateContext')
234
- .reply(
235
- 200,
236
- utils.readExampleFile('./test/unit/examples/contextResponses/createProvisionedDeviceSuccess.json')
237
- );
230
+ contextBrokerMock.post('/v2/entities?options=upsert').reply(204);
238
231
 
239
232
  iotAgentLib.activate(iotAgentConfig, function (error) {
240
233
  done();
@@ -289,43 +282,27 @@ describe('MongoDB Device Registry', function () {
289
282
  .matchHeader('fiware-service', 'smartgondor')
290
283
  .matchHeader('fiware-servicepath', 'gardens')
291
284
  .post(
292
- '/NGSI9/registerContext',
293
- utils.readExampleFile('./test/unit/examples/contextAvailabilityRequests/registerIoTAgent3.json')
294
- )
295
- .reply(
296
- 200,
285
+ '/v2/registrations',
297
286
  utils.readExampleFile(
298
- './test/unit/examples/contextAvailabilityResponses/registerIoTAgent1Success.json'
287
+ './test/unit/ngsiv2/examples/contextAvailabilityRequests/registerIoTAgent3.json'
299
288
  )
300
- );
289
+ )
290
+ .reply(201, null, { Location: '/v2/registrations/6319a7f5254b05844116584d' });
301
291
 
302
- contextBrokerMock
303
- .post('/v1/updateContext')
304
- .reply(
305
- 200,
306
- utils.readExampleFile('./test/unit/examples/contextResponses/createProvisionedDeviceSuccess.json')
307
- );
292
+ contextBrokerMock.post('/v2/entities?options=upsert').reply(204);
308
293
 
309
294
  contextBrokerMock
310
295
  .matchHeader('fiware-service', 'smartgondor')
311
296
  .matchHeader('fiware-servicepath', 'gardens')
312
297
  .post(
313
- '/NGSI9/registerContext',
314
- utils.readExampleFile('./test/unit/examples/contextAvailabilityRequests/registerIoTAgent3.json')
315
- )
316
- .reply(
317
- 200,
298
+ '/v2/registrations',
318
299
  utils.readExampleFile(
319
- './test/unit/examples/contextAvailabilityResponses/registerIoTAgent1Success.json'
300
+ './test/unit/ngsiv2/examples/contextAvailabilityRequests/registerIoTAgent3.json'
320
301
  )
321
- );
302
+ )
303
+ .reply(201, null, { Location: '/v2/registrations/6319a7f5254b05844116584d' });
322
304
 
323
- contextBrokerMock
324
- .post('/v1/updateContext')
325
- .reply(
326
- 200,
327
- utils.readExampleFile('./test/unit/examples/contextResponses/createProvisionedDeviceSuccess.json')
328
- );
305
+ contextBrokerMock.post('/v2/entities?options=upsert').reply(204);
329
306
 
330
307
  iotAgentLib.activate(iotAgentConfig, function (error) {
331
308
  done();
@@ -349,41 +326,25 @@ describe('MongoDB Device Registry', function () {
349
326
 
350
327
  contextBrokerMock = nock('http://192.168.1.1:1026')
351
328
  .post(
352
- '/NGSI9/registerContext',
353
- utils.readExampleFile('./test/unit/examples/contextAvailabilityRequests/registerIoTAgent3.json')
354
- )
355
- .reply(
356
- 200,
329
+ '/v2/registrations',
357
330
  utils.readExampleFile(
358
- './test/unit/examples/contextAvailabilityResponses/registerIoTAgent1Success.json'
331
+ './test/unit/ngsiv2/examples/contextAvailabilityRequests/registerIoTAgent3.json'
359
332
  )
360
- );
333
+ )
334
+ .reply(201, null, { Location: '/v2/registrations/6319a7f5254b05844116584d' });
361
335
 
362
- contextBrokerMock
363
- .post('/v1/updateContext')
364
- .reply(
365
- 200,
366
- utils.readExampleFile('./test/unit/examples/contextResponses/createProvisionedDeviceSuccess.json')
367
- );
336
+ contextBrokerMock.post('/v2/entities?options=upsert').reply(204);
368
337
 
369
338
  contextBrokerMock
370
339
  .post(
371
- '/NGSI9/registerContext',
372
- utils.readExampleFile('./test/unit/examples/contextAvailabilityRequests/registerIoTAgent3.json')
373
- )
374
- .reply(
375
- 200,
340
+ '/v2/registrations',
376
341
  utils.readExampleFile(
377
- './test/unit/examples/contextAvailabilityResponses/registerIoTAgent1Success.json'
342
+ './test/unit/ngsiv2/examples/contextAvailabilityRequests/registerIoTAgent3.json'
378
343
  )
379
- );
344
+ )
345
+ .reply(201, null, { Location: '/v2/registrations/6319a7f5254b05844116584d' });
380
346
 
381
- contextBrokerMock
382
- .post('/v1/updateContext')
383
- .reply(
384
- 200,
385
- utils.readExampleFile('./test/unit/examples/contextResponses/createProvisionedDeviceSuccess.json')
386
- );
347
+ contextBrokerMock.post('/v2/entities?options=upsert').reply(204);
387
348
 
388
349
  iotAgentLib.activate(iotAgentConfig, function (error) {
389
350
  done();
@@ -402,51 +363,20 @@ describe('MongoDB Device Registry', function () {
402
363
 
403
364
  describe('When a device is removed from the IoT Agent', function () {
404
365
  beforeEach(function (done) {
405
- const expectedPayload3 = utils.readExampleFile(
406
- './test/unit/examples/contextAvailabilityRequests/unregisterDevice3.json'
407
- );
408
-
409
366
  nock.cleanAll();
410
367
  contextBrokerMock = nock('http://192.168.1.1:1026')
411
- .post('/NGSI9/registerContext')
412
- .reply(
413
- 200,
414
- utils.readExampleFile(
415
- './test/unit/examples/contextAvailabilityResponses/registerNewDevice1Success.json'
416
- )
417
- );
368
+ .post('/v2/registrations')
369
+ .reply(201, null, { Location: '/v2/registrations/6319a7f5254b05844116584d' });
418
370
 
419
- contextBrokerMock
420
- .post('/v1/updateContext')
421
- .reply(
422
- 200,
423
- utils.readExampleFile('./test/unit/examples/contextResponses/createProvisionedDeviceSuccess.json')
424
- );
371
+ contextBrokerMock.post('/v2/entities?options=upsert').reply(204);
425
372
 
426
373
  contextBrokerMock
427
- .post('/NGSI9/registerContext')
428
- .reply(
429
- 200,
430
- utils.readExampleFile(
431
- './test/unit/examples/contextAvailabilityResponses/registerNewDevice2Success.json'
432
- )
433
- );
374
+ .post('/v2/registrations')
375
+ .reply(201, null, { Location: '/v2/registrations/6319a7f5254b05844116584d' });
434
376
 
435
- contextBrokerMock
436
- .post('/v1/updateContext')
437
- .reply(
438
- 200,
439
- utils.readExampleFile('./test/unit/examples/contextResponses/createProvisionedDeviceSuccess.json')
440
- );
377
+ contextBrokerMock.post('/v2/entities?options=upsert').reply(204);
441
378
 
442
- contextBrokerMock
443
- .post('/NGSI9/registerContext', expectedPayload3)
444
- .reply(
445
- 200,
446
- utils.readExampleFile(
447
- './test/unit/examples/contextAvailabilityResponses/unregisterDevice1Success.json'
448
- )
449
- );
379
+ contextBrokerMock.delete('/v2/registrations/6319a7f5254b05844116584d', '').reply(204);
450
380
 
451
381
  iotAgentLib.activate(iotAgentConfig, function (error) {
452
382
  async.series(
@@ -476,14 +406,11 @@ describe('MongoDB Device Registry', function () {
476
406
  describe('When the registry is queried for a device using an arbitrary attribute', function () {
477
407
  beforeEach(function (done) {
478
408
  contextBrokerMock = nock('http://192.168.1.1:1026')
479
- .post('/v1/updateContext')
409
+ .post('/v2/entities?options=upsert')
480
410
  .times(10)
481
411
  .matchHeader('fiware-service', 'smartgondor')
482
412
  .matchHeader('fiware-servicepath', 'gardens')
483
- .reply(
484
- 200,
485
- utils.readExampleFile('./test/unit/examples/contextResponses/createProvisionedDeviceSuccess.json')
486
- );
413
+ .reply(204);
487
414
 
488
415
  const devices = [];
489
416
 
@@ -530,14 +457,11 @@ describe('MongoDB Device Registry', function () {
530
457
  describe('When the list of devices is retrieved', function () {
531
458
  beforeEach(function (done) {
532
459
  contextBrokerMock = nock('http://192.168.1.1:1026')
533
- .post('/v1/updateContext')
460
+ .post('/v2/entities?options=upsert')
534
461
  .times(10)
535
462
  .matchHeader('fiware-service', 'smartgondor')
536
463
  .matchHeader('fiware-servicepath', 'gardens')
537
- .reply(
538
- 200,
539
- utils.readExampleFile('./test/unit/examples/contextResponses/createProvisionedDeviceSuccess.json')
540
- );
464
+ .reply(204);
541
465
 
542
466
  const devices = [];
543
467
 
@@ -1,13 +1,6 @@
1
1
  [
2
2
  {
3
3
  "@context": "http://context.json-ld",
4
- "attr_name": {
5
- "type": "Property",
6
- "value": {
7
- "@type": "Intangible",
8
- "@value": null
9
- }
10
- },
11
4
  "id": "urn:ngsi-ld:MicroLights:FirstMicroLight",
12
5
  "type": "MicroLights"
13
6
  }
@@ -1,13 +1,6 @@
1
1
  [
2
2
  {
3
3
  "@context": "http://context.json-ld",
4
- "attr_name": {
5
- "type": "Property",
6
- "value": {
7
- "@type": "Intangible",
8
- "@value": null
9
- }
10
- },
11
4
  "commandAttr_info": {
12
5
  "type": "Property",
13
6
  "value": {
@@ -1,13 +1,6 @@
1
1
  [
2
2
  {
3
3
  "@context": "http://context.json-ld",
4
- "attr_name": {
5
- "type": "Property",
6
- "value": {
7
- "@type": "Intangible",
8
- "@value": null
9
- }
10
- },
11
4
  "commandAttr_info": {
12
5
  "type": "Property",
13
6
  "value": {