@enbox/dwn-sdk-js 0.0.1 → 0.0.3

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 (601) hide show
  1. package/README.md +52 -301
  2. package/dist/bundles/dwn.js +19 -21
  3. package/dist/esm/generated/precompiled-validators.js +2764 -1773
  4. package/dist/esm/generated/precompiled-validators.js.map +1 -1
  5. package/dist/esm/src/core/dwn-error.js +27 -3
  6. package/dist/esm/src/core/dwn-error.js.map +1 -1
  7. package/dist/esm/src/core/message.js.map +1 -1
  8. package/dist/esm/src/core/messages-grant-authorization.js +17 -6
  9. package/dist/esm/src/core/messages-grant-authorization.js.map +1 -1
  10. package/dist/esm/src/core/protocol-authorization.js +245 -69
  11. package/dist/esm/src/core/protocol-authorization.js.map +1 -1
  12. package/dist/esm/src/core/resumable-task-manager.js +4 -4
  13. package/dist/esm/src/core/resumable-task-manager.js.map +1 -1
  14. package/dist/esm/src/dwn.js +10 -8
  15. package/dist/esm/src/dwn.js.map +1 -1
  16. package/dist/esm/src/enums/dwn-interface-method.js +4 -2
  17. package/dist/esm/src/enums/dwn-interface-method.js.map +1 -1
  18. package/dist/esm/src/event-stream/event-emitter-stream.js.map +1 -0
  19. package/dist/esm/src/handlers/messages-subscribe.js +1 -1
  20. package/dist/esm/src/handlers/messages-subscribe.js.map +1 -1
  21. package/dist/esm/src/handlers/messages-sync.js +116 -0
  22. package/dist/esm/src/handlers/messages-sync.js.map +1 -0
  23. package/dist/esm/src/handlers/protocols-configure.js +149 -16
  24. package/dist/esm/src/handlers/protocols-configure.js.map +1 -1
  25. package/dist/esm/src/handlers/protocols-query.js +2 -2
  26. package/dist/esm/src/handlers/protocols-query.js.map +1 -1
  27. package/dist/esm/src/handlers/records-count.js +143 -0
  28. package/dist/esm/src/handlers/records-count.js.map +1 -0
  29. package/dist/esm/src/handlers/records-query.js +4 -0
  30. package/dist/esm/src/handlers/records-query.js.map +1 -1
  31. package/dist/esm/src/handlers/records-read.js +4 -6
  32. package/dist/esm/src/handlers/records-read.js.map +1 -1
  33. package/dist/esm/src/handlers/records-write.js +17 -18
  34. package/dist/esm/src/handlers/records-write.js.map +1 -1
  35. package/dist/esm/src/index.js +9 -5
  36. package/dist/esm/src/index.js.map +1 -1
  37. package/dist/esm/src/interfaces/messages-read.js +2 -7
  38. package/dist/esm/src/interfaces/messages-read.js.map +1 -1
  39. package/dist/esm/src/interfaces/messages-subscribe.js +1 -0
  40. package/dist/esm/src/interfaces/messages-subscribe.js.map +1 -1
  41. package/dist/esm/src/interfaces/{messages-query.js → messages-sync.js} +11 -12
  42. package/dist/esm/src/interfaces/messages-sync.js.map +1 -0
  43. package/dist/esm/src/interfaces/protocols-configure.js +153 -30
  44. package/dist/esm/src/interfaces/protocols-configure.js.map +1 -1
  45. package/dist/esm/src/interfaces/protocols-query.js +1 -0
  46. package/dist/esm/src/interfaces/protocols-query.js.map +1 -1
  47. package/dist/esm/src/interfaces/records-count.js +91 -0
  48. package/dist/esm/src/interfaces/records-count.js.map +1 -0
  49. package/dist/esm/src/interfaces/records-read.js +15 -1
  50. package/dist/esm/src/interfaces/records-read.js.map +1 -1
  51. package/dist/esm/src/interfaces/records-write.js +64 -15
  52. package/dist/esm/src/interfaces/records-write.js.map +1 -1
  53. package/dist/esm/src/jose/algorithms/signing/ed25519.js.map +1 -1
  54. package/dist/esm/src/jose/algorithms/signing/signature-algorithms.js.map +1 -1
  55. package/dist/esm/src/jose/jws/general/builder.js.map +1 -1
  56. package/dist/esm/src/jose/jws/general/verifier.js.map +1 -1
  57. package/dist/esm/src/protocols/permission-grant.js +30 -0
  58. package/dist/esm/src/protocols/permission-grant.js.map +1 -1
  59. package/dist/esm/src/protocols/permission-request.js +24 -0
  60. package/dist/esm/src/protocols/permission-request.js.map +1 -1
  61. package/dist/esm/src/protocols/permissions.js +1 -1
  62. package/dist/esm/src/protocols/permissions.js.map +1 -1
  63. package/dist/esm/src/schema-validator.js +0 -1
  64. package/dist/esm/src/schema-validator.js.map +1 -1
  65. package/dist/esm/src/smt/smt-store-level.js +125 -0
  66. package/dist/esm/src/smt/smt-store-level.js.map +1 -0
  67. package/dist/esm/src/smt/smt-store-memory.js +67 -0
  68. package/dist/esm/src/smt/smt-store-memory.js.map +1 -0
  69. package/dist/esm/src/smt/smt-utils.js +146 -0
  70. package/dist/esm/src/smt/smt-utils.js.map +1 -0
  71. package/dist/esm/src/smt/sparse-merkle-tree.js +622 -0
  72. package/dist/esm/src/smt/sparse-merkle-tree.js.map +1 -0
  73. package/dist/esm/src/state-index/state-index-level.js +228 -0
  74. package/dist/esm/src/state-index/state-index-level.js.map +1 -0
  75. package/dist/esm/src/store/data-store-level.js +6 -6
  76. package/dist/esm/src/store/data-store-level.js.map +1 -1
  77. package/dist/esm/src/store/index-level.js +375 -17
  78. package/dist/esm/src/store/index-level.js.map +1 -1
  79. package/dist/esm/src/store/message-store-level.js +56 -0
  80. package/dist/esm/src/store/message-store-level.js.map +1 -1
  81. package/dist/esm/src/store/storage-controller.js +19 -16
  82. package/dist/esm/src/store/storage-controller.js.map +1 -1
  83. package/dist/esm/src/types/encryption-types.js +2 -0
  84. package/dist/esm/src/types/encryption-types.js.map +1 -0
  85. package/dist/esm/src/types/message-types.js.map +1 -1
  86. package/dist/esm/src/types/protocols-types.js +0 -2
  87. package/dist/esm/src/types/protocols-types.js.map +1 -1
  88. package/dist/esm/src/types/records-types.js +2 -0
  89. package/dist/esm/src/types/records-types.js.map +1 -1
  90. package/dist/esm/src/types/smt-types.js +5 -0
  91. package/dist/esm/src/types/smt-types.js.map +1 -0
  92. package/dist/esm/src/types/state-index.js +2 -0
  93. package/dist/esm/src/types/state-index.js.map +1 -0
  94. package/dist/esm/src/utils/cid.js +2 -1
  95. package/dist/esm/src/utils/cid.js.map +1 -1
  96. package/dist/esm/src/utils/data-stream.js +84 -29
  97. package/dist/esm/src/utils/data-stream.js.map +1 -1
  98. package/dist/esm/src/utils/encryption.js +22 -31
  99. package/dist/esm/src/utils/encryption.js.map +1 -1
  100. package/dist/esm/src/utils/hd-key.js +3 -3
  101. package/dist/esm/src/utils/hd-key.js.map +1 -1
  102. package/dist/esm/src/utils/jws.js +4 -4
  103. package/dist/esm/src/utils/jws.js.map +1 -1
  104. package/dist/esm/src/utils/private-key-signer.js +4 -3
  105. package/dist/esm/src/utils/private-key-signer.js.map +1 -1
  106. package/dist/esm/src/utils/protocols.js +82 -9
  107. package/dist/esm/src/utils/protocols.js.map +1 -1
  108. package/dist/esm/src/utils/records.js +82 -26
  109. package/dist/esm/src/utils/records.js.map +1 -1
  110. package/dist/esm/src/utils/secp256k1.js +4 -3
  111. package/dist/esm/src/utils/secp256k1.js.map +1 -1
  112. package/dist/esm/src/utils/secp256r1.js +3 -2
  113. package/dist/esm/src/utils/secp256r1.js.map +1 -1
  114. package/dist/esm/src/utils/time.js +1 -1
  115. package/dist/esm/src/utils/url.js +1 -1
  116. package/dist/esm/src/utils/url.js.map +1 -1
  117. package/dist/esm/tests/core/auth.spec.js +2 -2
  118. package/dist/esm/tests/core/auth.spec.js.map +1 -1
  119. package/dist/esm/tests/core/message-reply.spec.js +3 -3
  120. package/dist/esm/tests/core/message-reply.spec.js.map +1 -1
  121. package/dist/esm/tests/core/message.spec.js +13 -13
  122. package/dist/esm/tests/core/message.spec.js.map +1 -1
  123. package/dist/esm/tests/core/protocol-authorization.spec.js +3 -3
  124. package/dist/esm/tests/core/protocol-authorization.spec.js.map +1 -1
  125. package/dist/esm/tests/dwn.spec.js +27 -37
  126. package/dist/esm/tests/dwn.spec.js.map +1 -1
  127. package/dist/esm/tests/{event-log → event-stream}/event-emitter-stream.spec.js +14 -15
  128. package/dist/esm/tests/event-stream/event-emitter-stream.spec.js.map +1 -0
  129. package/dist/esm/tests/{event-log → event-stream}/event-stream.spec.js +13 -15
  130. package/dist/esm/tests/event-stream/event-stream.spec.js.map +1 -0
  131. package/dist/esm/tests/features/author-delegated-grant.spec.js +281 -135
  132. package/dist/esm/tests/features/author-delegated-grant.spec.js.map +1 -1
  133. package/dist/esm/tests/features/owner-delegated-grant.spec.js +57 -59
  134. package/dist/esm/tests/features/owner-delegated-grant.spec.js.map +1 -1
  135. package/dist/esm/tests/features/owner-signature.spec.js +32 -34
  136. package/dist/esm/tests/features/owner-signature.spec.js.map +1 -1
  137. package/dist/esm/tests/features/permissions.spec.js +73 -95
  138. package/dist/esm/tests/features/permissions.spec.js.map +1 -1
  139. package/dist/esm/tests/features/protocol-composition.spec.js +1645 -0
  140. package/dist/esm/tests/features/protocol-composition.spec.js.map +1 -0
  141. package/dist/esm/tests/features/protocol-create-action.spec.js +25 -27
  142. package/dist/esm/tests/features/protocol-create-action.spec.js.map +1 -1
  143. package/dist/esm/tests/features/protocol-delete-action.spec.js +42 -44
  144. package/dist/esm/tests/features/protocol-delete-action.spec.js.map +1 -1
  145. package/dist/esm/tests/features/protocol-update-action.spec.js +53 -55
  146. package/dist/esm/tests/features/protocol-update-action.spec.js.map +1 -1
  147. package/dist/esm/tests/features/records-prune.spec.js +126 -100
  148. package/dist/esm/tests/features/records-prune.spec.js.map +1 -1
  149. package/dist/esm/tests/features/records-tags.spec.js +272 -272
  150. package/dist/esm/tests/features/records-tags.spec.js.map +1 -1
  151. package/dist/esm/tests/features/resumable-tasks.spec.js +35 -37
  152. package/dist/esm/tests/features/resumable-tasks.spec.js.map +1 -1
  153. package/dist/esm/tests/handlers/messages-read.spec.js +112 -112
  154. package/dist/esm/tests/handlers/messages-read.spec.js.map +1 -1
  155. package/dist/esm/tests/handlers/messages-subscribe.spec.js +78 -76
  156. package/dist/esm/tests/handlers/messages-subscribe.spec.js.map +1 -1
  157. package/dist/esm/tests/handlers/messages-sync.spec.js +528 -0
  158. package/dist/esm/tests/handlers/messages-sync.spec.js.map +1 -0
  159. package/dist/esm/tests/handlers/protocols-configure.spec.js +545 -152
  160. package/dist/esm/tests/handlers/protocols-configure.spec.js.map +1 -1
  161. package/dist/esm/tests/handlers/protocols-query.spec.js +70 -72
  162. package/dist/esm/tests/handlers/protocols-query.spec.js.map +1 -1
  163. package/dist/esm/tests/handlers/records-count.spec.js +313 -0
  164. package/dist/esm/tests/handlers/records-count.spec.js.map +1 -0
  165. package/dist/esm/tests/handlers/records-delete.spec.js +106 -109
  166. package/dist/esm/tests/handlers/records-delete.spec.js.map +1 -1
  167. package/dist/esm/tests/handlers/records-query.spec.js +863 -463
  168. package/dist/esm/tests/handlers/records-query.spec.js.map +1 -1
  169. package/dist/esm/tests/handlers/records-read.spec.js +439 -209
  170. package/dist/esm/tests/handlers/records-read.spec.js.map +1 -1
  171. package/dist/esm/tests/handlers/records-subscribe.spec.js +292 -97
  172. package/dist/esm/tests/handlers/records-subscribe.spec.js.map +1 -1
  173. package/dist/esm/tests/handlers/records-write.spec.js +481 -483
  174. package/dist/esm/tests/handlers/records-write.spec.js.map +1 -1
  175. package/dist/esm/tests/interfaces/messages-get.spec.js +31 -11
  176. package/dist/esm/tests/interfaces/messages-get.spec.js.map +1 -1
  177. package/dist/esm/tests/interfaces/messages-subscribe.spec.js +5 -5
  178. package/dist/esm/tests/interfaces/messages-subscribe.spec.js.map +1 -1
  179. package/dist/esm/tests/interfaces/protocols-configure.spec.js +64 -134
  180. package/dist/esm/tests/interfaces/protocols-configure.spec.js.map +1 -1
  181. package/dist/esm/tests/interfaces/protocols-query.spec.js +4 -6
  182. package/dist/esm/tests/interfaces/protocols-query.spec.js.map +1 -1
  183. package/dist/esm/tests/interfaces/records-delete.spec.js +3 -5
  184. package/dist/esm/tests/interfaces/records-delete.spec.js.map +1 -1
  185. package/dist/esm/tests/interfaces/records-query.spec.js +9 -11
  186. package/dist/esm/tests/interfaces/records-query.spec.js.map +1 -1
  187. package/dist/esm/tests/interfaces/records-read.spec.js +76 -7
  188. package/dist/esm/tests/interfaces/records-read.spec.js.map +1 -1
  189. package/dist/esm/tests/interfaces/records-subscribe.spec.js +7 -9
  190. package/dist/esm/tests/interfaces/records-subscribe.spec.js.map +1 -1
  191. package/dist/esm/tests/interfaces/records-write.spec.js +244 -48
  192. package/dist/esm/tests/interfaces/records-write.spec.js.map +1 -1
  193. package/dist/esm/tests/jose/jws/general.spec.js +15 -18
  194. package/dist/esm/tests/jose/jws/general.spec.js.map +1 -1
  195. package/dist/esm/tests/protocols/permission-grant.spec.js +114 -0
  196. package/dist/esm/tests/protocols/permission-grant.spec.js.map +1 -0
  197. package/dist/esm/tests/protocols/permission-request.spec.js +43 -7
  198. package/dist/esm/tests/protocols/permission-request.spec.js.map +1 -1
  199. package/dist/esm/tests/protocols/permissions.spec.js +9 -11
  200. package/dist/esm/tests/protocols/permissions.spec.js.map +1 -1
  201. package/dist/esm/tests/scenarios/aggregator.spec.js +90 -92
  202. package/dist/esm/tests/scenarios/aggregator.spec.js.map +1 -1
  203. package/dist/esm/tests/scenarios/deleted-record.spec.js +17 -19
  204. package/dist/esm/tests/scenarios/deleted-record.spec.js.map +1 -1
  205. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js +27 -29
  206. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js.map +1 -1
  207. package/dist/esm/tests/scenarios/nested-roles.spec.js +37 -39
  208. package/dist/esm/tests/scenarios/nested-roles.spec.js.map +1 -1
  209. package/dist/esm/tests/scenarios/subscriptions.spec.js +163 -163
  210. package/dist/esm/tests/scenarios/subscriptions.spec.js.map +1 -1
  211. package/dist/esm/tests/smt/smt-store-level.spec.js +143 -0
  212. package/dist/esm/tests/smt/smt-store-level.spec.js.map +1 -0
  213. package/dist/esm/tests/smt/sparse-merkle-tree.spec.js +741 -0
  214. package/dist/esm/tests/smt/sparse-merkle-tree.spec.js.map +1 -0
  215. package/dist/esm/tests/state-index/state-index-level.spec.js +254 -0
  216. package/dist/esm/tests/state-index/state-index-level.spec.js.map +1 -0
  217. package/dist/esm/tests/store/blockstore-level.spec.js +136 -0
  218. package/dist/esm/tests/store/blockstore-level.spec.js.map +1 -0
  219. package/dist/esm/tests/store/blockstore-mock.spec.js +29 -28
  220. package/dist/esm/tests/store/blockstore-mock.spec.js.map +1 -1
  221. package/dist/esm/tests/store/data-store-level.spec.js +23 -25
  222. package/dist/esm/tests/store/data-store-level.spec.js.map +1 -1
  223. package/dist/esm/tests/store/index-level.spec.js +544 -194
  224. package/dist/esm/tests/store/index-level.spec.js.map +1 -1
  225. package/dist/esm/tests/store/message-store-level.spec.js +4 -4
  226. package/dist/esm/tests/store/message-store-level.spec.js.map +1 -1
  227. package/dist/esm/tests/store/message-store.spec.js +147 -73
  228. package/dist/esm/tests/store/message-store.spec.js.map +1 -1
  229. package/dist/esm/tests/store-dependent-tests.spec.js +1 -0
  230. package/dist/esm/tests/store-dependent-tests.spec.js.map +1 -1
  231. package/dist/esm/tests/test-stores.js +5 -5
  232. package/dist/esm/tests/test-stores.js.map +1 -1
  233. package/dist/esm/tests/test-suite.js +9 -8
  234. package/dist/esm/tests/test-suite.js.map +1 -1
  235. package/dist/esm/tests/utils/cid.spec.js +8 -11
  236. package/dist/esm/tests/utils/cid.spec.js.map +1 -1
  237. package/dist/esm/tests/utils/data-stream.spec.js +167 -13
  238. package/dist/esm/tests/utils/data-stream.spec.js.map +1 -1
  239. package/dist/esm/tests/utils/encryption-callbacks.spec.js +233 -0
  240. package/dist/esm/tests/utils/encryption-callbacks.spec.js.map +1 -0
  241. package/dist/esm/tests/utils/encryption.spec.js +34 -85
  242. package/dist/esm/tests/utils/encryption.spec.js.map +1 -1
  243. package/dist/esm/tests/utils/filters.spec.js +67 -69
  244. package/dist/esm/tests/utils/filters.spec.js.map +1 -1
  245. package/dist/esm/tests/utils/hd-key.spec.js +3 -3
  246. package/dist/esm/tests/utils/hd-key.spec.js.map +1 -1
  247. package/dist/esm/tests/utils/jws.spec.js +54 -3
  248. package/dist/esm/tests/utils/jws.spec.js.map +1 -1
  249. package/dist/esm/tests/utils/memory-cache.spec.js +6 -9
  250. package/dist/esm/tests/utils/memory-cache.spec.js.map +1 -1
  251. package/dist/esm/tests/utils/messages.spec.js +63 -29
  252. package/dist/esm/tests/utils/messages.spec.js.map +1 -1
  253. package/dist/esm/tests/utils/object.spec.js +3 -3
  254. package/dist/esm/tests/utils/object.spec.js.map +1 -1
  255. package/dist/esm/tests/utils/poller.js +1 -1
  256. package/dist/esm/tests/utils/poller.js.map +1 -1
  257. package/dist/esm/tests/utils/private-key-signer.spec.js +6 -6
  258. package/dist/esm/tests/utils/private-key-signer.spec.js.map +1 -1
  259. package/dist/esm/tests/utils/records.spec.js +37 -5
  260. package/dist/esm/tests/utils/records.spec.js.map +1 -1
  261. package/dist/esm/tests/utils/secp256k1.spec.js +7 -7
  262. package/dist/esm/tests/utils/secp256k1.spec.js.map +1 -1
  263. package/dist/esm/tests/utils/secp256r1.spec.js +7 -7
  264. package/dist/esm/tests/utils/secp256r1.spec.js.map +1 -1
  265. package/dist/esm/tests/utils/test-data-generator.js +47 -28
  266. package/dist/esm/tests/utils/test-data-generator.js.map +1 -1
  267. package/dist/esm/tests/utils/time.spec.js +7 -7
  268. package/dist/esm/tests/utils/time.spec.js.map +1 -1
  269. package/dist/esm/tests/utils/url.spec.js +25 -27
  270. package/dist/esm/tests/utils/url.spec.js.map +1 -1
  271. package/dist/esm/tests/validation/json-schemas/definitions.spec.js +4 -4
  272. package/dist/esm/tests/validation/json-schemas/definitions.spec.js.map +1 -1
  273. package/dist/esm/tests/validation/json-schemas/jwk/general-jwk.spec.js +15 -3
  274. package/dist/esm/tests/validation/json-schemas/jwk/general-jwk.spec.js.map +1 -1
  275. package/dist/esm/tests/validation/json-schemas/jwk/public-jwk.spec.js +8 -8
  276. package/dist/esm/tests/validation/json-schemas/jwk/public-jwk.spec.js.map +1 -1
  277. package/dist/esm/tests/validation/json-schemas/jwk-verification-method.spec.js +8 -18
  278. package/dist/esm/tests/validation/json-schemas/jwk-verification-method.spec.js.map +1 -1
  279. package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js +3 -3
  280. package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js.map +1 -1
  281. package/dist/esm/tests/validation/json-schemas/records/records-query.spec.js +9 -9
  282. package/dist/esm/tests/validation/json-schemas/records/records-query.spec.js.map +1 -1
  283. package/dist/esm/tests/validation/json-schemas/records/records-read.spec.js +106 -0
  284. package/dist/esm/tests/validation/json-schemas/records/records-read.spec.js.map +1 -0
  285. package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js +18 -18
  286. package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js.map +1 -1
  287. package/dist/esm/tests/vectors/protocol-definitions/email.json +1 -1
  288. package/dist/esm/tests/vectors/protocol-definitions/friend-role.json +2 -4
  289. package/dist/esm/tests/vectors/protocol-definitions/slack.json +2 -6
  290. package/dist/esm/tests/vectors/protocol-definitions/thread-role.json +2 -6
  291. package/dist/types/generated/precompiled-validators.d.ts +82 -64
  292. package/dist/types/generated/precompiled-validators.d.ts.map +1 -1
  293. package/dist/types/src/core/dwn-error.d.ts +27 -3
  294. package/dist/types/src/core/dwn-error.d.ts.map +1 -1
  295. package/dist/types/src/core/message-reply.d.ts +1 -1
  296. package/dist/types/src/core/message.d.ts +3 -3
  297. package/dist/types/src/core/message.d.ts.map +1 -1
  298. package/dist/types/src/core/messages-grant-authorization.d.ts +4 -4
  299. package/dist/types/src/core/messages-grant-authorization.d.ts.map +1 -1
  300. package/dist/types/src/core/protocol-authorization.d.ts +43 -2
  301. package/dist/types/src/core/protocol-authorization.d.ts.map +1 -1
  302. package/dist/types/src/core/records-grant-authorization.d.ts +2 -2
  303. package/dist/types/src/core/records-grant-authorization.d.ts.map +1 -1
  304. package/dist/types/src/core/resumable-task-manager.d.ts +1 -0
  305. package/dist/types/src/core/resumable-task-manager.d.ts.map +1 -1
  306. package/dist/types/src/dwn.d.ts +8 -8
  307. package/dist/types/src/dwn.d.ts.map +1 -1
  308. package/dist/types/src/enums/dwn-interface-method.d.ts +5 -3
  309. package/dist/types/src/enums/dwn-interface-method.d.ts.map +1 -1
  310. package/dist/types/src/event-stream/event-emitter-stream.d.ts.map +1 -0
  311. package/dist/types/src/handlers/messages-sync.d.ts +21 -0
  312. package/dist/types/src/handlers/messages-sync.d.ts.map +1 -0
  313. package/dist/types/src/handlers/protocols-configure.d.ts +24 -4
  314. package/dist/types/src/handlers/protocols-configure.d.ts.map +1 -1
  315. package/dist/types/src/handlers/protocols-query.d.ts.map +1 -1
  316. package/dist/types/src/handlers/records-count.d.ts +43 -0
  317. package/dist/types/src/handlers/records-count.d.ts.map +1 -0
  318. package/dist/types/src/handlers/records-query.d.ts.map +1 -1
  319. package/dist/types/src/handlers/records-read.d.ts.map +1 -1
  320. package/dist/types/src/handlers/records-write.d.ts +5 -5
  321. package/dist/types/src/handlers/records-write.d.ts.map +1 -1
  322. package/dist/types/src/index.d.ts +72 -37
  323. package/dist/types/src/index.d.ts.map +1 -1
  324. package/dist/types/src/interfaces/messages-read.d.ts +2 -2
  325. package/dist/types/src/interfaces/messages-read.d.ts.map +1 -1
  326. package/dist/types/src/interfaces/messages-subscribe.d.ts +2 -2
  327. package/dist/types/src/interfaces/messages-subscribe.d.ts.map +1 -1
  328. package/dist/types/src/interfaces/messages-sync.d.ts +16 -0
  329. package/dist/types/src/interfaces/messages-sync.d.ts.map +1 -0
  330. package/dist/types/src/interfaces/protocols-configure.d.ts +22 -2
  331. package/dist/types/src/interfaces/protocols-configure.d.ts.map +1 -1
  332. package/dist/types/src/interfaces/protocols-query.d.ts +2 -2
  333. package/dist/types/src/interfaces/protocols-query.d.ts.map +1 -1
  334. package/dist/types/src/interfaces/records-count.d.ts +27 -0
  335. package/dist/types/src/interfaces/records-count.d.ts.map +1 -0
  336. package/dist/types/src/interfaces/records-delete.d.ts +2 -2
  337. package/dist/types/src/interfaces/records-delete.d.ts.map +1 -1
  338. package/dist/types/src/interfaces/records-query.d.ts +2 -2
  339. package/dist/types/src/interfaces/records-query.d.ts.map +1 -1
  340. package/dist/types/src/interfaces/records-read.d.ts +4 -2
  341. package/dist/types/src/interfaces/records-read.d.ts.map +1 -1
  342. package/dist/types/src/interfaces/records-subscribe.d.ts +2 -2
  343. package/dist/types/src/interfaces/records-subscribe.d.ts.map +1 -1
  344. package/dist/types/src/interfaces/records-write.d.ts +37 -15
  345. package/dist/types/src/interfaces/records-write.d.ts.map +1 -1
  346. package/dist/types/src/jose/algorithms/signing/ed25519.d.ts.map +1 -1
  347. package/dist/types/src/jose/algorithms/signing/signature-algorithms.d.ts +5 -1
  348. package/dist/types/src/jose/algorithms/signing/signature-algorithms.d.ts.map +1 -1
  349. package/dist/types/src/jose/jws/general/builder.d.ts +3 -3
  350. package/dist/types/src/jose/jws/general/builder.d.ts.map +1 -1
  351. package/dist/types/src/protocols/permission-grant.d.ts +11 -0
  352. package/dist/types/src/protocols/permission-grant.d.ts.map +1 -1
  353. package/dist/types/src/protocols/permission-request.d.ts +11 -0
  354. package/dist/types/src/protocols/permission-request.d.ts.map +1 -1
  355. package/dist/types/src/protocols/permissions.d.ts +4 -4
  356. package/dist/types/src/protocols/permissions.d.ts.map +1 -1
  357. package/dist/types/src/schema-validator.d.ts +1 -1
  358. package/dist/types/src/schema-validator.d.ts.map +1 -1
  359. package/dist/types/src/smt/smt-store-level.d.ts +32 -0
  360. package/dist/types/src/smt/smt-store-level.d.ts.map +1 -0
  361. package/dist/types/src/smt/smt-store-memory.d.ts +22 -0
  362. package/dist/types/src/smt/smt-store-memory.d.ts.map +1 -0
  363. package/dist/types/src/smt/smt-utils.d.ts +58 -0
  364. package/dist/types/src/smt/smt-utils.d.ts.map +1 -0
  365. package/dist/types/src/smt/sparse-merkle-tree.d.ts +124 -0
  366. package/dist/types/src/smt/sparse-merkle-tree.d.ts.map +1 -0
  367. package/dist/types/src/state-index/state-index-level.d.ts +83 -0
  368. package/dist/types/src/state-index/state-index-level.d.ts.map +1 -0
  369. package/dist/types/src/store/data-store-level.d.ts +1 -2
  370. package/dist/types/src/store/data-store-level.d.ts.map +1 -1
  371. package/dist/types/src/store/index-level.d.ts +98 -2
  372. package/dist/types/src/store/index-level.d.ts.map +1 -1
  373. package/dist/types/src/store/level-wrapper.d.ts.map +1 -1
  374. package/dist/types/src/store/message-store-level.d.ts +5 -0
  375. package/dist/types/src/store/message-store-level.d.ts.map +1 -1
  376. package/dist/types/src/store/storage-controller.d.ts +7 -7
  377. package/dist/types/src/store/storage-controller.d.ts.map +1 -1
  378. package/dist/types/src/types/data-store.d.ts +2 -3
  379. package/dist/types/src/types/data-store.d.ts.map +1 -1
  380. package/dist/types/src/types/encryption-types.d.ts +48 -0
  381. package/dist/types/src/types/encryption-types.d.ts.map +1 -0
  382. package/dist/types/src/types/jose-types.d.ts +9 -40
  383. package/dist/types/src/types/jose-types.d.ts.map +1 -1
  384. package/dist/types/src/types/message-store.d.ts +5 -0
  385. package/dist/types/src/types/message-store.d.ts.map +1 -1
  386. package/dist/types/src/types/message-types.d.ts +19 -0
  387. package/dist/types/src/types/message-types.d.ts.map +1 -1
  388. package/dist/types/src/types/messages-types.d.ts +16 -11
  389. package/dist/types/src/types/messages-types.d.ts.map +1 -1
  390. package/dist/types/src/types/method-handler.d.ts +1 -2
  391. package/dist/types/src/types/method-handler.d.ts.map +1 -1
  392. package/dist/types/src/types/permission-types.d.ts +2 -2
  393. package/dist/types/src/types/permission-types.d.ts.map +1 -1
  394. package/dist/types/src/types/protocols-types.d.ts +49 -5
  395. package/dist/types/src/types/protocols-types.d.ts.map +1 -1
  396. package/dist/types/src/types/records-types.d.ts +23 -7
  397. package/dist/types/src/types/records-types.d.ts.map +1 -1
  398. package/dist/types/src/types/signer.d.ts +1 -1
  399. package/dist/types/src/types/signer.d.ts.map +1 -1
  400. package/dist/types/src/types/smt-types.d.ts +81 -0
  401. package/dist/types/src/types/smt-types.d.ts.map +1 -0
  402. package/dist/types/src/types/state-index.d.ts +90 -0
  403. package/dist/types/src/types/state-index.d.ts.map +1 -0
  404. package/dist/types/src/utils/cid.d.ts +1 -2
  405. package/dist/types/src/utils/cid.d.ts.map +1 -1
  406. package/dist/types/src/utils/data-stream.d.ts +14 -7
  407. package/dist/types/src/utils/data-stream.d.ts.map +1 -1
  408. package/dist/types/src/utils/encryption.d.ts +2 -3
  409. package/dist/types/src/utils/encryption.d.ts.map +1 -1
  410. package/dist/types/src/utils/hd-key.d.ts +4 -4
  411. package/dist/types/src/utils/hd-key.d.ts.map +1 -1
  412. package/dist/types/src/utils/jws.d.ts +7 -7
  413. package/dist/types/src/utils/jws.d.ts.map +1 -1
  414. package/dist/types/src/utils/private-key-signer.d.ts +4 -4
  415. package/dist/types/src/utils/private-key-signer.d.ts.map +1 -1
  416. package/dist/types/src/utils/protocols.d.ts +46 -3
  417. package/dist/types/src/utils/protocols.d.ts.map +1 -1
  418. package/dist/types/src/utils/records.d.ts +33 -6
  419. package/dist/types/src/utils/records.d.ts.map +1 -1
  420. package/dist/types/src/utils/secp256k1.d.ts +11 -11
  421. package/dist/types/src/utils/secp256k1.d.ts.map +1 -1
  422. package/dist/types/src/utils/secp256r1.d.ts +8 -8
  423. package/dist/types/src/utils/secp256r1.d.ts.map +1 -1
  424. package/dist/types/src/utils/time.d.ts +1 -1
  425. package/dist/types/tests/dwn.spec.d.ts.map +1 -1
  426. package/dist/types/tests/event-stream/event-emitter-stream.spec.d.ts.map +1 -0
  427. package/dist/types/tests/event-stream/event-stream.spec.d.ts.map +1 -0
  428. package/dist/types/tests/features/author-delegated-grant.spec.d.ts.map +1 -1
  429. package/dist/types/tests/features/owner-delegated-grant.spec.d.ts.map +1 -1
  430. package/dist/types/tests/features/owner-signature.spec.d.ts.map +1 -1
  431. package/dist/types/tests/features/permissions.spec.d.ts.map +1 -1
  432. package/dist/types/tests/features/protocol-composition.spec.d.ts +5 -0
  433. package/dist/types/tests/features/protocol-composition.spec.d.ts.map +1 -0
  434. package/dist/types/tests/features/protocol-create-action.spec.d.ts.map +1 -1
  435. package/dist/types/tests/features/protocol-delete-action.spec.d.ts.map +1 -1
  436. package/dist/types/tests/features/protocol-update-action.spec.d.ts.map +1 -1
  437. package/dist/types/tests/features/records-prune.spec.d.ts.map +1 -1
  438. package/dist/types/tests/features/records-tags.spec.d.ts.map +1 -1
  439. package/dist/types/tests/features/resumable-tasks.spec.d.ts.map +1 -1
  440. package/dist/types/tests/handlers/messages-read.spec.d.ts.map +1 -1
  441. package/dist/types/tests/handlers/messages-subscribe.spec.d.ts.map +1 -1
  442. package/dist/types/tests/handlers/messages-sync.spec.d.ts +2 -0
  443. package/dist/types/tests/handlers/messages-sync.spec.d.ts.map +1 -0
  444. package/dist/types/tests/handlers/protocols-configure.spec.d.ts.map +1 -1
  445. package/dist/types/tests/handlers/protocols-query.spec.d.ts.map +1 -1
  446. package/dist/types/tests/handlers/records-count.spec.d.ts +2 -0
  447. package/dist/types/tests/handlers/records-count.spec.d.ts.map +1 -0
  448. package/dist/types/tests/handlers/records-delete.spec.d.ts.map +1 -1
  449. package/dist/types/tests/handlers/records-query.spec.d.ts.map +1 -1
  450. package/dist/types/tests/handlers/records-read.spec.d.ts.map +1 -1
  451. package/dist/types/tests/handlers/records-subscribe.spec.d.ts.map +1 -1
  452. package/dist/types/tests/handlers/records-write.spec.d.ts.map +1 -1
  453. package/dist/types/tests/protocols/permission-grant.spec.d.ts +2 -0
  454. package/dist/types/tests/protocols/permission-grant.spec.d.ts.map +1 -0
  455. package/dist/types/tests/scenarios/deleted-record.spec.d.ts.map +1 -1
  456. package/dist/types/tests/scenarios/end-to-end-tests.spec.d.ts.map +1 -1
  457. package/dist/types/tests/scenarios/nested-roles.spec.d.ts.map +1 -1
  458. package/dist/types/tests/smt/smt-store-level.spec.d.ts +2 -0
  459. package/dist/types/tests/smt/smt-store-level.spec.d.ts.map +1 -0
  460. package/dist/types/tests/smt/sparse-merkle-tree.spec.d.ts +2 -0
  461. package/dist/types/tests/smt/sparse-merkle-tree.spec.d.ts.map +1 -0
  462. package/dist/types/tests/state-index/state-index-level.spec.d.ts +2 -0
  463. package/dist/types/tests/state-index/state-index-level.spec.d.ts.map +1 -0
  464. package/dist/types/tests/store/blockstore-level.spec.d.ts +2 -0
  465. package/dist/types/tests/store/blockstore-level.spec.d.ts.map +1 -0
  466. package/dist/types/tests/store/message-store.spec.d.ts.map +1 -1
  467. package/dist/types/tests/test-stores.d.ts +4 -4
  468. package/dist/types/tests/test-stores.d.ts.map +1 -1
  469. package/dist/types/tests/test-suite.d.ts +2 -2
  470. package/dist/types/tests/test-suite.d.ts.map +1 -1
  471. package/dist/types/tests/utils/encryption-callbacks.spec.d.ts +2 -0
  472. package/dist/types/tests/utils/encryption-callbacks.spec.d.ts.map +1 -0
  473. package/dist/types/tests/utils/test-data-generator.d.ts +31 -28
  474. package/dist/types/tests/utils/test-data-generator.d.ts.map +1 -1
  475. package/dist/types/tests/validation/json-schemas/records/records-read.spec.d.ts +2 -0
  476. package/dist/types/tests/validation/json-schemas/records/records-read.spec.d.ts.map +1 -0
  477. package/package.json +26 -45
  478. package/src/core/dwn-error.ts +27 -3
  479. package/src/core/message-reply.ts +1 -1
  480. package/src/core/message.ts +5 -5
  481. package/src/core/messages-grant-authorization.ts +22 -8
  482. package/src/core/protocol-authorization.ts +345 -68
  483. package/src/core/records-grant-authorization.ts +2 -2
  484. package/src/core/resumable-task-manager.ts +4 -5
  485. package/src/dwn.ts +25 -20
  486. package/src/enums/dwn-interface-method.ts +5 -3
  487. package/src/handlers/messages-subscribe.ts +1 -1
  488. package/src/handlers/messages-sync.ts +129 -0
  489. package/src/handlers/protocols-configure.ts +195 -17
  490. package/src/handlers/protocols-query.ts +7 -5
  491. package/src/handlers/records-count.ts +184 -0
  492. package/src/handlers/records-query.ts +4 -0
  493. package/src/handlers/records-read.ts +4 -8
  494. package/src/handlers/records-write.ts +20 -21
  495. package/src/index.ts +74 -37
  496. package/src/interfaces/messages-read.ts +6 -5
  497. package/src/interfaces/messages-subscribe.ts +7 -6
  498. package/src/interfaces/messages-sync.ts +59 -0
  499. package/src/interfaces/protocols-configure.ts +211 -33
  500. package/src/interfaces/protocols-query.ts +7 -6
  501. package/src/interfaces/records-count.ts +106 -0
  502. package/src/interfaces/records-delete.ts +2 -2
  503. package/src/interfaces/records-query.ts +2 -2
  504. package/src/interfaces/records-read.ts +26 -3
  505. package/src/interfaces/records-subscribe.ts +2 -2
  506. package/src/interfaces/records-write.ts +115 -46
  507. package/src/jose/algorithms/signing/ed25519.ts +13 -12
  508. package/src/jose/algorithms/signing/signature-algorithms.ts +6 -1
  509. package/src/jose/jws/general/builder.ts +3 -3
  510. package/src/jose/jws/general/verifier.ts +3 -3
  511. package/src/protocols/permission-grant.ts +51 -0
  512. package/src/protocols/permission-request.ts +37 -0
  513. package/src/protocols/permissions.ts +5 -5
  514. package/src/schema-validator.ts +11 -3
  515. package/src/smt/smt-store-level.ts +143 -0
  516. package/src/smt/smt-store-memory.ts +53 -0
  517. package/src/smt/smt-utils.ts +149 -0
  518. package/src/smt/sparse-merkle-tree.ts +698 -0
  519. package/src/state-index/state-index-level.ts +241 -0
  520. package/src/store/data-store-level.ts +8 -7
  521. package/src/store/index-level.ts +415 -19
  522. package/src/store/level-wrapper.ts +1 -1
  523. package/src/store/message-store-level.ts +62 -0
  524. package/src/store/storage-controller.ts +21 -19
  525. package/src/types/data-store.ts +2 -4
  526. package/src/types/encryption-types.ts +52 -0
  527. package/src/types/jose-types.ts +10 -42
  528. package/src/types/message-store.ts +11 -0
  529. package/src/types/message-types.ts +21 -0
  530. package/src/types/messages-types.ts +21 -15
  531. package/src/types/method-handler.ts +1 -2
  532. package/src/types/permission-types.ts +2 -2
  533. package/src/types/protocols-types.ts +55 -6
  534. package/src/types/records-types.ts +26 -7
  535. package/src/types/signer.ts +1 -1
  536. package/src/types/smt-types.ts +95 -0
  537. package/src/types/state-index.ts +100 -0
  538. package/src/utils/cid.ts +3 -4
  539. package/src/utils/data-stream.ts +75 -38
  540. package/src/utils/encryption.ts +24 -39
  541. package/src/utils/hd-key.ts +6 -6
  542. package/src/utils/jws.ts +9 -9
  543. package/src/utils/private-key-signer.ts +9 -8
  544. package/src/utils/protocols.ts +132 -6
  545. package/src/utils/records.ts +118 -29
  546. package/src/utils/secp256k1.ts +23 -21
  547. package/src/utils/secp256r1.ts +17 -15
  548. package/src/utils/time.ts +1 -1
  549. package/src/utils/url.ts +1 -1
  550. package/dist/cjs/index.js +0 -36749
  551. package/dist/cjs/package.json +0 -1
  552. package/dist/esm/src/event-log/event-emitter-stream.js.map +0 -1
  553. package/dist/esm/src/event-log/event-log-level.js +0 -63
  554. package/dist/esm/src/event-log/event-log-level.js.map +0 -1
  555. package/dist/esm/src/handlers/messages-query.js +0 -71
  556. package/dist/esm/src/handlers/messages-query.js.map +0 -1
  557. package/dist/esm/src/interfaces/messages-query.js.map +0 -1
  558. package/dist/esm/src/types/event-log.js +0 -2
  559. package/dist/esm/src/types/event-log.js.map +0 -1
  560. package/dist/esm/tests/event-log/event-emitter-stream.spec.js.map +0 -1
  561. package/dist/esm/tests/event-log/event-log-level.spec.js +0 -44
  562. package/dist/esm/tests/event-log/event-log-level.spec.js.map +0 -1
  563. package/dist/esm/tests/event-log/event-log.spec.js +0 -236
  564. package/dist/esm/tests/event-log/event-log.spec.js.map +0 -1
  565. package/dist/esm/tests/event-log/event-stream.spec.js.map +0 -1
  566. package/dist/esm/tests/handlers/messages-query.spec.js +0 -349
  567. package/dist/esm/tests/handlers/messages-query.spec.js.map +0 -1
  568. package/dist/esm/tests/interfaces/messagess-query.spec.js +0 -127
  569. package/dist/esm/tests/interfaces/messagess-query.spec.js.map +0 -1
  570. package/dist/esm/tests/scenarios/messages-query.spec.js +0 -395
  571. package/dist/esm/tests/scenarios/messages-query.spec.js.map +0 -1
  572. package/dist/types/src/event-log/event-emitter-stream.d.ts.map +0 -1
  573. package/dist/types/src/event-log/event-log-level.d.ts +0 -35
  574. package/dist/types/src/event-log/event-log-level.d.ts.map +0 -1
  575. package/dist/types/src/handlers/messages-query.d.ts +0 -17
  576. package/dist/types/src/handlers/messages-query.d.ts.map +0 -1
  577. package/dist/types/src/interfaces/messages-query.d.ts +0 -16
  578. package/dist/types/src/interfaces/messages-query.d.ts.map +0 -1
  579. package/dist/types/src/types/event-log.d.ts +0 -52
  580. package/dist/types/src/types/event-log.d.ts.map +0 -1
  581. package/dist/types/tests/event-log/event-emitter-stream.spec.d.ts.map +0 -1
  582. package/dist/types/tests/event-log/event-log-level.spec.d.ts +0 -2
  583. package/dist/types/tests/event-log/event-log-level.spec.d.ts.map +0 -1
  584. package/dist/types/tests/event-log/event-log.spec.d.ts +0 -2
  585. package/dist/types/tests/event-log/event-log.spec.d.ts.map +0 -1
  586. package/dist/types/tests/event-log/event-stream.spec.d.ts.map +0 -1
  587. package/dist/types/tests/handlers/messages-query.spec.d.ts +0 -2
  588. package/dist/types/tests/handlers/messages-query.spec.d.ts.map +0 -1
  589. package/dist/types/tests/interfaces/messagess-query.spec.d.ts +0 -2
  590. package/dist/types/tests/interfaces/messagess-query.spec.d.ts.map +0 -1
  591. package/dist/types/tests/scenarios/messages-query.spec.d.ts +0 -2
  592. package/dist/types/tests/scenarios/messages-query.spec.d.ts.map +0 -1
  593. package/src/event-log/event-log-level.ts +0 -72
  594. package/src/handlers/messages-query.ts +0 -67
  595. package/src/interfaces/messages-query.ts +0 -60
  596. package/src/types/event-log.ts +0 -52
  597. /package/dist/esm/src/{event-log → event-stream}/event-emitter-stream.js +0 -0
  598. /package/dist/types/src/{event-log → event-stream}/event-emitter-stream.d.ts +0 -0
  599. /package/dist/types/tests/{event-log → event-stream}/event-emitter-stream.spec.d.ts +0 -0
  600. /package/dist/types/tests/{event-log → event-stream}/event-stream.spec.d.ts +0 -0
  601. /package/src/{event-log → event-stream}/event-emitter-stream.ts +0 -0
@@ -7,15 +7,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import freeForAll from '../vectors/protocol-definitions/free-for-all.json' assert { type: 'json' };
11
- import threadProtocol from '../vectors/protocol-definitions/thread-role.json' assert { type: 'json' };
10
+ import freeForAll from '../vectors/protocol-definitions/free-for-all.json' with { type: 'json' };
11
+ import threadProtocol from '../vectors/protocol-definitions/thread-role.json' with { type: 'json' };
12
+ import { afterAll, beforeAll, beforeEach, describe, expect, it } from 'bun:test';
12
13
  import { Poller } from '../utils/poller.js';
13
14
  import { TestDataGenerator } from '../utils/test-data-generator.js';
14
15
  import { TestEventStream } from '../test-event-stream.js';
15
16
  import { TestStores } from '../test-stores.js';
16
17
  import { DataStream, Dwn, DwnInterfaceName, DwnMethodName, Jws, Message, PermissionGrant, PermissionsProtocol, Time } from '../../src/index.js';
17
18
  import { DidKey, UniversalResolver } from '@enbox/dids';
18
- import { expect } from 'chai';
19
19
  // NOTE: We use `Poller.pollUntilSuccessOrTimeout` to poll for the expected results.
20
20
  // In some cases, the EventStream is a coordinated pub/sub system and the message events are emitted over the network
21
21
  // this means that the messages are not processed immediately and we need to wait for the messages to be processed
@@ -29,29 +29,29 @@ export function testSubscriptionScenarios() {
29
29
  let messageStore;
30
30
  let dataStore;
31
31
  let resumableTaskStore;
32
- let eventLog;
32
+ let stateIndex;
33
33
  let eventStream;
34
34
  let dwn;
35
- // important to follow the `before` and `after` pattern to initialize and clean the stores in tests
35
+ // important to follow the `beforeAll` and `afterAll` pattern to initialize and clean the stores in tests
36
36
  // so that different test suites can reuse the same backend store for testing
37
- before(() => __awaiter(this, void 0, void 0, function* () {
37
+ beforeAll(() => __awaiter(this, void 0, void 0, function* () {
38
38
  didResolver = new UniversalResolver({ didResolvers: [DidKey] });
39
39
  const stores = TestStores.get();
40
40
  messageStore = stores.messageStore;
41
41
  dataStore = stores.dataStore;
42
42
  resumableTaskStore = stores.resumableTaskStore;
43
- eventLog = stores.eventLog;
43
+ stateIndex = stores.stateIndex;
44
44
  eventStream = TestEventStream.get();
45
- dwn = yield Dwn.create({ didResolver, messageStore, dataStore, eventLog, eventStream, resumableTaskStore });
45
+ dwn = yield Dwn.create({ didResolver, messageStore, dataStore, stateIndex, eventStream, resumableTaskStore });
46
46
  }));
47
47
  beforeEach(() => __awaiter(this, void 0, void 0, function* () {
48
48
  // clean up before each test rather than after so that a test does not depend on other tests to do the clean up
49
49
  yield messageStore.clear();
50
50
  yield dataStore.clear();
51
51
  yield resumableTaskStore.clear();
52
- yield eventLog.clear();
52
+ yield stateIndex.clear();
53
53
  }));
54
- after(() => __awaiter(this, void 0, void 0, function* () {
54
+ afterAll(() => __awaiter(this, void 0, void 0, function* () {
55
55
  yield dwn.close();
56
56
  }));
57
57
  describe('messages subscribe', () => {
@@ -69,25 +69,25 @@ export function testSubscriptionScenarios() {
69
69
  // subscribe to all messages
70
70
  const messagesSubscription = yield TestDataGenerator.generateMessagesSubscribe({ author: alice });
71
71
  const messagesSubscriptionReply = yield dwn.processMessage(alice.did, messagesSubscription.message, { subscriptionHandler: handler });
72
- expect(messagesSubscriptionReply.status.code).to.equal(200);
73
- expect((_a = messagesSubscriptionReply.subscription) === null || _a === void 0 ? void 0 : _a.id).to.equal(yield Message.getCid(messagesSubscription.message));
72
+ expect(messagesSubscriptionReply.status.code).toBe(200);
73
+ expect((_a = messagesSubscriptionReply.subscription) === null || _a === void 0 ? void 0 : _a.id).toBe(yield Message.getCid(messagesSubscription.message));
74
74
  // generate various messages
75
75
  const write1 = yield TestDataGenerator.generateRecordsWrite({ author: alice });
76
76
  const write1MessageCid = yield Message.getCid(write1.message);
77
77
  const write1Reply = yield dwn.processMessage(alice.did, write1.message, { dataStream: write1.dataStream });
78
- expect(write1Reply.status.code).to.equal(202);
78
+ expect(write1Reply.status.code).toBe(202);
79
79
  const protocol1 = yield TestDataGenerator.generateProtocolsConfigure({ author: alice });
80
80
  const protocol1MessageCid = yield Message.getCid(protocol1.message);
81
81
  const protocol1Reply = yield dwn.processMessage(alice.did, protocol1.message);
82
- expect(protocol1Reply.status.code).to.equal(202);
82
+ expect(protocol1Reply.status.code).toBe(202);
83
83
  const deleteWrite1 = yield TestDataGenerator.generateRecordsDelete({ author: alice, recordId: write1.message.recordId });
84
84
  const delete1MessageCid = yield Message.getCid(deleteWrite1.message);
85
85
  const deleteWrite1Reply = yield dwn.processMessage(alice.did, deleteWrite1.message);
86
- expect(deleteWrite1Reply.status.code).to.equal(202);
86
+ expect(deleteWrite1Reply.status.code).toBe(202);
87
87
  // poll until the messages are received by the handler
88
88
  yield Poller.pollUntilSuccessOrTimeout(() => __awaiter(this, void 0, void 0, function* () {
89
- expect(messageCids.length).to.equal(3);
90
- expect(messageCids).to.eql([write1MessageCid, protocol1MessageCid, delete1MessageCid]);
89
+ expect(messageCids.length).toBe(3);
90
+ expect(messageCids).toEqual([write1MessageCid, protocol1MessageCid, delete1MessageCid]);
91
91
  }));
92
92
  // clean up the subscription handler
93
93
  yield ((_b = messagesSubscriptionReply.subscription) === null || _b === void 0 ? void 0 : _b.close());
@@ -113,8 +113,8 @@ export function testSubscriptionScenarios() {
113
113
  recordsMessageCids.push(messageCid);
114
114
  });
115
115
  const recordsInterfaceSubscriptionReply = yield dwn.processMessage(alice.did, recordsInterfaceSubscription.message, { subscriptionHandler: recordsSubscribeHandler });
116
- expect(recordsInterfaceSubscriptionReply.status.code).to.equal(200);
117
- expect(recordsInterfaceSubscriptionReply.subscription).to.exist;
116
+ expect(recordsInterfaceSubscriptionReply.status.code).toBe(200);
117
+ expect(recordsInterfaceSubscriptionReply.subscription).toBeDefined();
118
118
  // subscribe to the Protocols interface
119
119
  const protocolsInterfaceSubscription = yield TestDataGenerator.generateMessagesSubscribe({
120
120
  author: alice,
@@ -127,35 +127,35 @@ export function testSubscriptionScenarios() {
127
127
  protocolsMessageCids.push(messageCid);
128
128
  });
129
129
  const protocolsInterfaceSubscriptionReply = yield dwn.processMessage(alice.did, protocolsInterfaceSubscription.message, { subscriptionHandler: protocolsSubscribeHandler });
130
- expect(protocolsInterfaceSubscriptionReply.status.code).to.equal(200);
131
- expect(protocolsInterfaceSubscriptionReply.subscription).to.exist;
130
+ expect(protocolsInterfaceSubscriptionReply.status.code).toBe(200);
131
+ expect(protocolsInterfaceSubscriptionReply.subscription).toBeDefined();
132
132
  // create one of each message types a RecordsWrite and a ProtocolsConfigure
133
133
  const record = yield TestDataGenerator.generateRecordsWrite({ author: alice });
134
134
  const recordReply = yield dwn.processMessage(alice.did, record.message, { dataStream: record.dataStream });
135
- expect(recordReply.status.code).to.equal(202, 'RecordsWrite');
135
+ expect(recordReply.status.code).toBe(202, 'RecordsWrite');
136
136
  const protocol = yield TestDataGenerator.generateProtocolsConfigure({ author: alice });
137
137
  const protocolReply = yield dwn.processMessage(alice.did, protocol.message);
138
- expect(protocolReply.status.code).to.equal(202, 'ProtocolConfigure');
138
+ expect(protocolReply.status.code).toBe(202, 'ProtocolConfigure');
139
139
  // Poll until the messages are received by the handler
140
140
  yield Poller.pollUntilSuccessOrTimeout(() => __awaiter(this, void 0, void 0, function* () {
141
141
  // check record message
142
- expect(recordsMessageCids.length).to.equal(1);
143
- expect(recordsMessageCids).to.have.members([yield Message.getCid(record.message)]);
142
+ expect(recordsMessageCids.length).toBe(1);
143
+ expect(recordsMessageCids).toEqual(expect.arrayContaining([yield Message.getCid(record.message)]));
144
144
  // check protocols message
145
- expect(protocolsMessageCids.length).to.equal(1);
146
- expect(protocolsMessageCids).to.have.members([yield Message.getCid(protocol.message)]);
145
+ expect(protocolsMessageCids.length).toBe(1);
146
+ expect(protocolsMessageCids).toEqual(expect.arrayContaining([yield Message.getCid(protocol.message)]));
147
147
  }));
148
148
  // delete the record
149
149
  const recordDelete = yield TestDataGenerator.generateRecordsDelete({ author: alice, recordId: record.message.recordId });
150
150
  const recordDeleteReply = yield dwn.processMessage(alice.did, recordDelete.message);
151
- expect(recordDeleteReply.status.code).to.equal(202, 'RecordsDelete');
151
+ expect(recordDeleteReply.status.code).toBe(202, 'RecordsDelete');
152
152
  // poll until the delete message is received by the handler
153
153
  yield Poller.pollUntilSuccessOrTimeout(() => __awaiter(this, void 0, void 0, function* () {
154
154
  // check record messages to include the delete message
155
- expect(recordsMessageCids.length).to.equal(2);
156
- expect(recordsMessageCids).to.include.members([yield Message.getCid(recordDelete.message)]);
155
+ expect(recordsMessageCids.length).toBe(2);
156
+ expect(recordsMessageCids).toEqual(expect.arrayContaining([yield Message.getCid(recordDelete.message)]));
157
157
  // check that the protocols message array does not include the delete message
158
- expect(protocolsMessageCids.length).to.equal(1); // unchanged
158
+ expect(protocolsMessageCids.length).toBe(1); // unchanged
159
159
  }));
160
160
  // clean up the subscriptions
161
161
  yield ((_a = recordsInterfaceSubscriptionReply.subscription) === null || _a === void 0 ? void 0 : _a.close());
@@ -185,8 +185,8 @@ export function testSubscriptionScenarios() {
185
185
  recordsWriteMessageCids.push(messageCid);
186
186
  });
187
187
  const recordsWriteSubscriptionReply = yield dwn.processMessage(alice.did, recordsWriteSubscription.message, { subscriptionHandler: recordsSubscribeHandler });
188
- expect(recordsWriteSubscriptionReply.status.code).to.equal(200);
189
- expect(recordsWriteSubscriptionReply.subscription).to.exist;
188
+ expect(recordsWriteSubscriptionReply.status.code).toBe(200);
189
+ expect(recordsWriteSubscriptionReply.subscription).toBeDefined();
190
190
  // subscribe to records delete
191
191
  const recordsDeleteSubscription = yield TestDataGenerator.generateMessagesSubscribe({
192
192
  author: alice,
@@ -199,51 +199,51 @@ export function testSubscriptionScenarios() {
199
199
  recordsDeleteMessageCids.push(messageCid);
200
200
  });
201
201
  const recordsDeleteSubscriptionReply = yield dwn.processMessage(alice.did, recordsDeleteSubscription.message, { subscriptionHandler: recordsDeleteSubscribeHandler });
202
- expect(recordsDeleteSubscriptionReply.status.code).to.equal(200);
203
- expect(recordsDeleteSubscriptionReply.subscription).to.exist;
202
+ expect(recordsDeleteSubscriptionReply.status.code).toBe(200);
203
+ expect(recordsDeleteSubscriptionReply.subscription).toBeDefined();
204
204
  // create and updates the record, this creates two RecordsWrite messages
205
205
  const record = yield TestDataGenerator.generateRecordsWrite({ author: alice });
206
206
  const recordReply = yield dwn.processMessage(alice.did, record.message, { dataStream: record.dataStream });
207
- expect(recordReply.status.code).to.equal(202, 'RecordsWrite');
207
+ expect(recordReply.status.code).toBe(202, 'RecordsWrite');
208
208
  const record1MessageCid = yield Message.getCid(record.message);
209
209
  const recordUpdate = yield TestDataGenerator.generateFromRecordsWrite({ author: alice, existingWrite: record.recordsWrite });
210
210
  const recordUpdateReply = yield dwn.processMessage(alice.did, recordUpdate.message, { dataStream: recordUpdate.dataStream });
211
- expect(recordUpdateReply.status.code).to.equal(202, 'RecordsUpdate');
211
+ expect(recordUpdateReply.status.code).toBe(202, 'RecordsUpdate');
212
212
  const recordUpdateMessageCid = yield Message.getCid(recordUpdate.message);
213
213
  // Poll until the messages are received by the handler
214
214
  yield Poller.pollUntilSuccessOrTimeout(() => __awaiter(this, void 0, void 0, function* () {
215
215
  // check the array for both the RecordsWrite messages
216
- expect(recordsWriteMessageCids.length).to.equal(2);
217
- expect(recordsWriteMessageCids).to.have.members([
216
+ expect(recordsWriteMessageCids.length).toBe(2);
217
+ expect(recordsWriteMessageCids).toEqual(expect.arrayContaining([
218
218
  record1MessageCid,
219
219
  recordUpdateMessageCid,
220
- ]);
220
+ ]));
221
221
  }));
222
222
  // confirm that the delete array is empty
223
- expect(recordsDeleteMessageCids.length).to.equal(0);
223
+ expect(recordsDeleteMessageCids.length).toBe(0);
224
224
  // delete the record
225
225
  const recordDelete = yield TestDataGenerator.generateRecordsDelete({ author: alice, recordId: record.message.recordId });
226
226
  const recordDeleteReply = yield dwn.processMessage(alice.did, recordDelete.message);
227
- expect(recordDeleteReply.status.code).to.equal(202, 'RecordsDelete');
227
+ expect(recordDeleteReply.status.code).toBe(202, 'RecordsDelete');
228
228
  const recordDeleteMessageCid = yield Message.getCid(recordDelete.message);
229
229
  // write a second record
230
230
  const record2 = yield TestDataGenerator.generateRecordsWrite({ author: alice });
231
231
  const record2Reply = yield dwn.processMessage(alice.did, record2.message, { dataStream: record2.dataStream });
232
- expect(record2Reply.status.code).to.equal(202, 'RecordsWrite');
232
+ expect(record2Reply.status.code).toBe(202, 'RecordsWrite');
233
233
  const record2MessageCid = yield Message.getCid(record2.message);
234
234
  yield Poller.pollUntilSuccessOrTimeout(() => __awaiter(this, void 0, void 0, function* () {
235
235
  // ensure the new record is in the recordsWrite array, but not the delete
236
- expect(recordsWriteMessageCids.length).to.equal(3);
237
- expect(recordsWriteMessageCids).to.include.members([
236
+ expect(recordsWriteMessageCids.length).toBe(3);
237
+ expect(recordsWriteMessageCids).toEqual(expect.arrayContaining([
238
238
  record1MessageCid,
239
239
  recordUpdateMessageCid,
240
240
  record2MessageCid,
241
- ]);
241
+ ]));
242
242
  // ensure the delete message is in the recordsDelete array
243
- expect(recordsDeleteMessageCids.length).to.equal(1);
244
- expect(recordsDeleteMessageCids).to.include.members([
243
+ expect(recordsDeleteMessageCids.length).toBe(1);
244
+ expect(recordsDeleteMessageCids).toEqual(expect.arrayContaining([
245
245
  recordDeleteMessageCid,
246
- ]);
246
+ ]));
247
247
  }));
248
248
  }));
249
249
  it('filters by a protocol across different message types', () => __awaiter(this, void 0, void 0, function* () {
@@ -274,8 +274,8 @@ export function testSubscriptionScenarios() {
274
274
  const proto1SubscriptionReply = yield dwn.processMessage(alice.did, proto1Subscription.message, {
275
275
  subscriptionHandler: proto1Handler
276
276
  });
277
- expect(proto1SubscriptionReply.status.code).to.equal(200);
278
- expect(proto1SubscriptionReply.subscription).to.exist;
277
+ expect(proto1SubscriptionReply.status.code).toBe(200);
278
+ expect(proto1SubscriptionReply.subscription).toBeDefined();
279
279
  const proto2Messages = [];
280
280
  const proto2Handler = (event) => __awaiter(this, void 0, void 0, function* () {
281
281
  const { message } = event;
@@ -288,8 +288,8 @@ export function testSubscriptionScenarios() {
288
288
  const proto2SubscriptionReply = yield dwn.processMessage(alice.did, proto2Subscription.message, {
289
289
  subscriptionHandler: proto2Handler
290
290
  });
291
- expect(proto2SubscriptionReply.status.code).to.equal(200);
292
- expect(proto2SubscriptionReply.subscription).to.exist;
291
+ expect(proto2SubscriptionReply.status.code).toBe(200);
292
+ expect(proto2SubscriptionReply.subscription).toBeDefined();
293
293
  // configure proto1
294
294
  const protoConf1 = yield TestDataGenerator.generateProtocolsConfigure({
295
295
  author: alice,
@@ -297,7 +297,7 @@ export function testSubscriptionScenarios() {
297
297
  });
298
298
  const proto1 = protoConf1.message.descriptor.definition.protocol;
299
299
  const protoConf1Response = yield dwn.processMessage(alice.did, protoConf1.message);
300
- expect(protoConf1Response.status.code).equals(202);
300
+ expect(protoConf1Response.status.code).toBe(202);
301
301
  // configure proto2
302
302
  const protoConf2 = yield TestDataGenerator.generateProtocolsConfigure({
303
303
  author: alice,
@@ -305,7 +305,7 @@ export function testSubscriptionScenarios() {
305
305
  });
306
306
  const proto2 = protoConf2.message.descriptor.definition.protocol;
307
307
  const protoConf2Response = yield dwn.processMessage(alice.did, protoConf2.message);
308
- expect(protoConf2Response.status.code).equals(202);
308
+ expect(protoConf2Response.status.code).toBe(202);
309
309
  const postProperties = {
310
310
  protocolPath: 'post',
311
311
  schema: freeForAll.types.post.schema,
@@ -314,11 +314,11 @@ export function testSubscriptionScenarios() {
314
314
  // create a record for proto1
315
315
  const write1proto1 = yield TestDataGenerator.generateRecordsWrite(Object.assign({ author: alice, protocol: proto1 }, postProperties));
316
316
  const write1Response = yield dwn.processMessage(alice.did, write1proto1.message, { dataStream: write1proto1.dataStream });
317
- expect(write1Response.status.code).equals(202);
317
+ expect(write1Response.status.code).toBe(202);
318
318
  // create a record for proto2
319
319
  const write1proto2 = yield TestDataGenerator.generateRecordsWrite(Object.assign({ author: alice, protocol: proto2 }, postProperties));
320
320
  const write1Proto2Response = yield dwn.processMessage(alice.did, write1proto2.message, { dataStream: write1proto2.dataStream });
321
- expect(write1Proto2Response.status.code).equals(202);
321
+ expect(write1Proto2Response.status.code).toBe(202);
322
322
  // bob requests permissions for proto1
323
323
  const requestProto1 = yield PermissionsProtocol.createRequest({
324
324
  signer: Jws.createSigner(bob),
@@ -326,7 +326,7 @@ export function testSubscriptionScenarios() {
326
326
  delegated: false,
327
327
  });
328
328
  const requestProto1Response = yield dwn.processMessage(alice.did, requestProto1.recordsWrite.message, { dataStream: DataStream.fromBytes(requestProto1.permissionRequestBytes) });
329
- expect(requestProto1Response.status.code).equals(202);
329
+ expect(requestProto1Response.status.code).toBe(202);
330
330
  // bob requests permissions for proto2
331
331
  const requestProto2 = yield PermissionsProtocol.createRequest({
332
332
  signer: Jws.createSigner(bob),
@@ -334,7 +334,7 @@ export function testSubscriptionScenarios() {
334
334
  delegated: false,
335
335
  });
336
336
  const requestProto2Response = yield dwn.processMessage(alice.did, requestProto2.recordsWrite.message, { dataStream: DataStream.fromBytes(requestProto2.permissionRequestBytes) });
337
- expect(requestProto2Response.status.code).equals(202);
337
+ expect(requestProto2Response.status.code).toBe(202);
338
338
  // alice grants permissions for proto1
339
339
  const grantProto1 = yield PermissionsProtocol.createGrant({
340
340
  signer: Jws.createSigner(alice),
@@ -343,7 +343,7 @@ export function testSubscriptionScenarios() {
343
343
  grantedTo: bob.did,
344
344
  });
345
345
  const grantProto1Response = yield dwn.processMessage(alice.did, grantProto1.recordsWrite.message, { dataStream: DataStream.fromBytes(grantProto1.permissionGrantBytes) });
346
- expect(grantProto1Response.status.code).equals(202);
346
+ expect(grantProto1Response.status.code).toBe(202);
347
347
  // alice grants permissions for proto2
348
348
  const grantProto2 = yield PermissionsProtocol.createGrant({
349
349
  signer: Jws.createSigner(alice),
@@ -352,62 +352,62 @@ export function testSubscriptionScenarios() {
352
352
  grantedTo: bob.did,
353
353
  });
354
354
  const grantProto2Response = yield dwn.processMessage(alice.did, grantProto2.recordsWrite.message, { dataStream: DataStream.fromBytes(grantProto2.permissionGrantBytes) });
355
- expect(grantProto2Response.status.code).equals(202);
355
+ expect(grantProto2Response.status.code).toBe(202);
356
356
  // poll until the messages are received by the handlers
357
357
  yield Poller.pollUntilSuccessOrTimeout(() => __awaiter(this, void 0, void 0, function* () {
358
358
  // check for proto1 messages
359
- expect(proto1Messages.length).to.equal(4);
360
- expect(proto1Messages).to.have.members([
359
+ expect(proto1Messages.length).toBe(4);
360
+ expect(proto1Messages).toEqual(expect.arrayContaining([
361
361
  yield Message.getCid(protoConf1.message),
362
362
  yield Message.getCid(write1proto1.message),
363
363
  yield Message.getCid(requestProto1.recordsWrite.message),
364
364
  yield Message.getCid(grantProto1.recordsWrite.message),
365
- ]);
365
+ ]));
366
366
  // check for proto2 messages
367
- expect(proto2Messages.length).to.equal(4);
368
- expect(proto2Messages).to.have.members([
367
+ expect(proto2Messages.length).toBe(4);
368
+ expect(proto2Messages).toEqual(expect.arrayContaining([
369
369
  yield Message.getCid(protoConf2.message),
370
370
  yield Message.getCid(write1proto2.message),
371
371
  yield Message.getCid(requestProto2.recordsWrite.message),
372
372
  yield Message.getCid(grantProto2.recordsWrite.message),
373
- ]);
373
+ ]));
374
374
  }));
375
375
  // delete proto1 message
376
376
  const deleteProto1Message = yield TestDataGenerator.generateRecordsDelete({ author: alice, recordId: write1proto1.message.recordId });
377
377
  const deleteProto1MessageReply = yield dwn.processMessage(alice.did, deleteProto1Message.message);
378
- expect(deleteProto1MessageReply.status.code).to.equal(202);
378
+ expect(deleteProto1MessageReply.status.code).toBe(202);
379
379
  // delete proto2 message
380
380
  const deleteProto2Message = yield TestDataGenerator.generateRecordsDelete({ author: alice, recordId: write1proto2.message.recordId });
381
381
  const deleteProto2MessageReply = yield dwn.processMessage(alice.did, deleteProto2Message.message);
382
- expect(deleteProto2MessageReply.status.code).to.equal(202);
382
+ expect(deleteProto2MessageReply.status.code).toBe(202);
383
383
  // revoke permissions for proto1
384
384
  const revokeProto1 = yield PermissionsProtocol.createRevocation({
385
385
  signer: Jws.createSigner(alice),
386
386
  grant: yield PermissionGrant.parse(grantProto1.dataEncodedMessage),
387
387
  });
388
388
  const revokeProto1Response = yield dwn.processMessage(alice.did, revokeProto1.recordsWrite.message, { dataStream: DataStream.fromBytes(revokeProto1.permissionRevocationBytes) });
389
- expect(revokeProto1Response.status.code).equals(202);
389
+ expect(revokeProto1Response.status.code).toBe(202);
390
390
  // revoke permissions for proto2
391
391
  const revokeProto2 = yield PermissionsProtocol.createRevocation({
392
392
  signer: Jws.createSigner(alice),
393
393
  grant: yield PermissionGrant.parse(grantProto2.dataEncodedMessage),
394
394
  });
395
395
  const revokeProto2Response = yield dwn.processMessage(alice.did, revokeProto2.recordsWrite.message, { dataStream: DataStream.fromBytes(revokeProto2.permissionRevocationBytes) });
396
- expect(revokeProto2Response.status.code).equals(202);
396
+ expect(revokeProto2Response.status.code).toBe(202);
397
397
  // poll until the messages are received by the handlers
398
398
  yield Poller.pollUntilSuccessOrTimeout(() => __awaiter(this, void 0, void 0, function* () {
399
399
  // check for the delete and revocation in proto1 messages
400
- expect(proto1Messages.length).to.equal(6); // 2 additional messages
401
- expect(proto1Messages).to.include.members([
400
+ expect(proto1Messages.length).toBe(6); // 2 additional messages
401
+ expect(proto1Messages).toEqual(expect.arrayContaining([
402
402
  yield Message.getCid(deleteProto1Message.message),
403
403
  yield Message.getCid(revokeProto1.recordsWrite.message),
404
- ]);
404
+ ]));
405
405
  // check for the delete and revocation in proto2 messages
406
- expect(proto2Messages.length).to.equal(6); // 2 additional messages
407
- expect(proto2Messages).to.include.members([
406
+ expect(proto2Messages.length).toBe(6); // 2 additional messages
407
+ expect(proto2Messages).toEqual(expect.arrayContaining([
408
408
  yield Message.getCid(deleteProto2Message.message),
409
409
  yield Message.getCid(revokeProto2.recordsWrite.message),
410
- ]);
410
+ ]));
411
411
  }));
412
412
  }));
413
413
  it('does not emit events after subscription is closed', () => __awaiter(this, void 0, void 0, function* () {
@@ -433,45 +433,45 @@ export function testSubscriptionScenarios() {
433
433
  // subscribe to all messages
434
434
  const messagesSubscription1 = yield TestDataGenerator.generateMessagesSubscribe({ author: alice });
435
435
  const messagesSubscription1Reply = yield dwn.processMessage(alice.did, messagesSubscription1.message, { subscriptionHandler: handler1 });
436
- expect(messagesSubscription1Reply.status.code).to.equal(200);
436
+ expect(messagesSubscription1Reply.status.code).toBe(200);
437
437
  const messagesSubscription2 = yield TestDataGenerator.generateMessagesSubscribe({ author: alice });
438
438
  const messagesSubscription2Reply = yield dwn.processMessage(alice.did, messagesSubscription2.message, { subscriptionHandler: handler2 });
439
- expect(messagesSubscription2Reply.status.code).to.equal(200);
439
+ expect(messagesSubscription2Reply.status.code).toBe(200);
440
440
  // no event message exist yet
441
- expect(sub1MessageCids.length).to.equal(0);
442
- expect(sub2MessageCids.length).to.equal(0);
441
+ expect(sub1MessageCids.length).toBe(0);
442
+ expect(sub2MessageCids.length).toBe(0);
443
443
  // write a record
444
444
  const record1 = yield TestDataGenerator.generateRecordsWrite({ author: alice });
445
445
  const record1Reply = yield dwn.processMessage(alice.did, record1.message, { dataStream: record1.dataStream });
446
- expect(record1Reply.status.code).to.equal(202);
446
+ expect(record1Reply.status.code).toBe(202);
447
447
  const record1MessageCid = yield Message.getCid(record1.message);
448
448
  yield Poller.pollUntilSuccessOrTimeout(() => __awaiter(this, void 0, void 0, function* () {
449
449
  // both subscriptions should have received the message
450
- expect(sub1MessageCids.length).to.equal(1); // message exists
451
- expect(sub1MessageCids).to.eql([record1MessageCid]);
452
- expect(sub2MessageCids.length).to.equal(1); // message exists
453
- expect(sub2MessageCids).to.eql([record1MessageCid]);
450
+ expect(sub1MessageCids.length).toBe(1); // message exists
451
+ expect(sub1MessageCids).toEqual([record1MessageCid]);
452
+ expect(sub2MessageCids.length).toBe(1); // message exists
453
+ expect(sub2MessageCids).toEqual([record1MessageCid]);
454
454
  }));
455
455
  // unsubscribe from subscription 2
456
456
  yield messagesSubscription2Reply.subscription.close();
457
457
  // write two more message.
458
458
  const record2 = yield TestDataGenerator.generateRecordsWrite({ author: alice });
459
459
  const record2Reply = yield dwn.processMessage(alice.did, record2.message, { dataStream: record2.dataStream });
460
- expect(record2Reply.status.code).to.equal(202);
460
+ expect(record2Reply.status.code).toBe(202);
461
461
  const record2MessageCid = yield Message.getCid(record2.message);
462
462
  const record3 = yield TestDataGenerator.generateRecordsWrite({ author: alice });
463
463
  const record3Reply = yield dwn.processMessage(alice.did, record3.message, { dataStream: record3.dataStream });
464
- expect(record3Reply.status.code).to.equal(202);
464
+ expect(record3Reply.status.code).toBe(202);
465
465
  const record3MessageCid = yield Message.getCid(record3.message);
466
466
  yield Poller.pollUntilSuccessOrTimeout(() => __awaiter(this, void 0, void 0, function* () {
467
- expect(sub1MessageCids.length).to.equal(3); // all three messages exist
468
- expect(sub1MessageCids).to.eql([
467
+ expect(sub1MessageCids.length).toBe(3); // all three messages exist
468
+ expect(sub1MessageCids).toEqual([
469
469
  record1MessageCid,
470
470
  record2MessageCid,
471
471
  record3MessageCid
472
472
  ]);
473
- expect(sub2MessageCids.length).to.equal(1); // only the first message exists
474
- expect(sub2MessageCids).to.eql([record1MessageCid]);
473
+ expect(sub2MessageCids.length).toBe(1); // only the first message exists
474
+ expect(sub2MessageCids).toEqual([record1MessageCid]);
475
475
  }));
476
476
  }));
477
477
  });
@@ -494,7 +494,7 @@ export function testSubscriptionScenarios() {
494
494
  author: alice,
495
495
  });
496
496
  const allSubscriptionReply = yield dwn.processMessage(alice.did, allSubscription.message, { subscriptionHandler: allHandler });
497
- expect(allSubscriptionReply.status.code).to.equal(200);
497
+ expect(allSubscriptionReply.status.code).toBe(200);
498
498
  // we create an anonymous subscription to capture only published messages
499
499
  const publishedMessages = [];
500
500
  const anonymousSubscriptionHandler = (event) => __awaiter(this, void 0, void 0, function* () {
@@ -508,34 +508,34 @@ export function testSubscriptionScenarios() {
508
508
  const anonymousSubscriptionReply = yield dwn.processMessage(alice.did, anonymousSubscription.message, {
509
509
  subscriptionHandler: anonymousSubscriptionHandler
510
510
  });
511
- expect(anonymousSubscriptionReply.status.code).to.equal(200);
512
- expect(anonymousSubscriptionReply.subscription).to.exist;
511
+ expect(anonymousSubscriptionReply.status.code).toBe(200);
512
+ expect(anonymousSubscriptionReply.subscription).toBeDefined();
513
513
  // we create a non published record, this will only show up in the control subscription
514
514
  const writeNotPublished = yield TestDataGenerator.generateRecordsWrite({ author: alice, schema: 'http://schema1' });
515
515
  const writeNotPublishedReply = yield dwn.processMessage(alice.did, writeNotPublished.message, { dataStream: writeNotPublished.dataStream });
516
- expect(writeNotPublishedReply.status.code).to.equal(202);
516
+ expect(writeNotPublishedReply.status.code).toBe(202);
517
517
  // we create a published record, this will show up in both the control and anonymous subscription
518
518
  const write1 = yield TestDataGenerator.generateRecordsWrite({ author: alice, schema: 'http://schema1', published: true });
519
519
  const write1Reply = yield dwn.processMessage(alice.did, write1.message, { dataStream: write1.dataStream });
520
- expect(write1Reply.status.code).to.equal(202);
520
+ expect(write1Reply.status.code).toBe(202);
521
521
  // we create another published record, this will show up in both the control and anonymous subscription
522
522
  const write2 = yield TestDataGenerator.generateRecordsWrite({ author: alice, schema: 'http://schema1', published: true });
523
523
  const write2Reply = yield dwn.processMessage(alice.did, write2.message, { dataStream: write2.dataStream });
524
- expect(write2Reply.status.code).to.equal(202);
524
+ expect(write2Reply.status.code).toBe(202);
525
525
  yield Poller.pollUntilSuccessOrTimeout(() => __awaiter(this, void 0, void 0, function* () {
526
526
  // publishedMessages array should only contain the two published messages
527
- expect(publishedMessages.length).to.equal(2);
528
- expect(publishedMessages).to.have.members([
527
+ expect(publishedMessages.length).toBe(2);
528
+ expect(publishedMessages).toEqual(expect.arrayContaining([
529
529
  yield Message.getCid(write1.message),
530
530
  yield Message.getCid(write2.message),
531
- ]);
531
+ ]));
532
532
  // allMessages array should contain all three messages
533
- expect(allMessages.length).to.equal(3);
534
- expect(allMessages).to.have.members([
533
+ expect(allMessages.length).toBe(3);
534
+ expect(allMessages).toEqual(expect.arrayContaining([
535
535
  yield Message.getCid(writeNotPublished.message),
536
536
  yield Message.getCid(write1.message),
537
537
  yield Message.getCid(write2.message),
538
- ]);
538
+ ]));
539
539
  }));
540
540
  }));
541
541
  it('allows authorized subscriptions to records intended for a recipient', () => __awaiter(this, void 0, void 0, function* () {
@@ -546,7 +546,7 @@ export function testSubscriptionScenarios() {
546
546
  protocolDefinition: Object.assign({}, freeForAll)
547
547
  });
548
548
  const protocolConfigureReply = yield dwn.processMessage(alice.did, protocolConfigure.message);
549
- expect(protocolConfigureReply.status.code).to.equal(202);
549
+ expect(protocolConfigureReply.status.code).toBe(202);
550
550
  const bob = yield TestDataGenerator.generateDidKeyPersona();
551
551
  const carol = yield TestDataGenerator.generateDidKeyPersona();
552
552
  // bob subscribes to all records he's authorized to see, with alice as the recipient
@@ -562,8 +562,8 @@ export function testSubscriptionScenarios() {
562
562
  const bobSubscribeReply = yield dwn.processMessage(alice.did, bobSubscribeToAlice.message, {
563
563
  subscriptionHandler: bobSubscribeHandler
564
564
  });
565
- expect(bobSubscribeReply.status.code).to.equal(200);
566
- expect(bobSubscribeReply.subscription).to.exist;
565
+ expect(bobSubscribeReply.status.code).toBe(200);
566
+ expect(bobSubscribeReply.subscription).toBeDefined();
567
567
  // carol subscribes to any messages that she or alice are the recipients of
568
568
  const carolSubscribeCarolAndAlice = [];
569
569
  const carolSubscribeHandler = (event) => __awaiter(this, void 0, void 0, function* () {
@@ -577,8 +577,8 @@ export function testSubscriptionScenarios() {
577
577
  const carolSubscribeReply = yield dwn.processMessage(alice.did, carolSubscribeToCarolAndAlice.message, {
578
578
  subscriptionHandler: carolSubscribeHandler
579
579
  });
580
- expect(carolSubscribeReply.status.code).to.equal(200);
581
- expect(carolSubscribeReply.subscription).to.exist;
580
+ expect(carolSubscribeReply.status.code).toBe(200);
581
+ expect(carolSubscribeReply.subscription).toBeDefined();
582
582
  const recordParams = {
583
583
  protocol: freeForAll.protocol,
584
584
  protocolPath: 'post',
@@ -588,42 +588,42 @@ export function testSubscriptionScenarios() {
588
588
  // write a private and public message for alice from bob
589
589
  const publicBobToAlice = yield TestDataGenerator.generateRecordsWrite(Object.assign(Object.assign({}, recordParams), { author: bob, recipient: alice.did, published: true }));
590
590
  const publicBobToAliceReply = yield dwn.processMessage(alice.did, publicBobToAlice.message, { dataStream: publicBobToAlice.dataStream });
591
- expect(publicBobToAliceReply.status.code).to.equal(202);
591
+ expect(publicBobToAliceReply.status.code).toBe(202);
592
592
  const privateBobToAlice = yield TestDataGenerator.generateRecordsWrite(Object.assign(Object.assign({}, recordParams), { author: bob, recipient: alice.did, published: false }));
593
593
  const privateBobToAliceReply = yield dwn.processMessage(alice.did, privateBobToAlice.message, { dataStream: privateBobToAlice.dataStream });
594
- expect(privateBobToAliceReply.status.code).to.equal(202);
594
+ expect(privateBobToAliceReply.status.code).toBe(202);
595
595
  // write a private message for alice from carol
596
596
  const privateCarolToAlice = yield TestDataGenerator.generateRecordsWrite(Object.assign(Object.assign({}, recordParams), { author: carol, recipient: alice.did, published: false }));
597
597
  const privateCarolToAliceReply = yield dwn.processMessage(alice.did, privateCarolToAlice.message, {
598
598
  dataStream: privateCarolToAlice.dataStream
599
599
  });
600
- expect(privateCarolToAliceReply.status.code).to.equal(202);
600
+ expect(privateCarolToAliceReply.status.code).toBe(202);
601
601
  // write a public and private message from bob to carol
602
602
  const publicBobToCarol = yield TestDataGenerator.generateRecordsWrite(Object.assign(Object.assign({}, recordParams), { author: bob, recipient: carol.did, published: true }));
603
603
  const publicBobToCarolReply = yield dwn.processMessage(alice.did, publicBobToCarol.message, {
604
604
  dataStream: publicBobToCarol.dataStream
605
605
  });
606
- expect(publicBobToCarolReply.status.code).to.equal(202);
606
+ expect(publicBobToCarolReply.status.code).toBe(202);
607
607
  const privateBobToCarol = yield TestDataGenerator.generateRecordsWrite(Object.assign(Object.assign({}, recordParams), { author: bob, recipient: carol.did, published: false }));
608
608
  const privateBobToCarolReply = yield dwn.processMessage(alice.did, privateBobToCarol.message, {
609
609
  dataStream: privateBobToCarol.dataStream
610
610
  });
611
- expect(privateBobToCarolReply.status.code).to.equal(202);
611
+ expect(privateBobToCarolReply.status.code).toBe(202);
612
612
  yield Poller.pollUntilSuccessOrTimeout(() => __awaiter(this, void 0, void 0, function* () {
613
613
  // carol should have received the message intended for her
614
- expect(carolSubscribeCarolAndAlice.length).to.equal(4);
615
- expect(carolSubscribeCarolAndAlice).to.have.members([
614
+ expect(carolSubscribeCarolAndAlice.length).toBe(4);
615
+ expect(carolSubscribeCarolAndAlice).toEqual(expect.arrayContaining([
616
616
  yield Message.getCid(publicBobToAlice.message),
617
617
  yield Message.getCid(privateCarolToAlice.message),
618
618
  yield Message.getCid(publicBobToCarol.message),
619
619
  yield Message.getCid(privateBobToCarol.message),
620
- ]);
620
+ ]));
621
621
  // bob should have received the two messages intended for him
622
- expect(bobSubscribeAlice.length).to.equal(2);
623
- expect(bobSubscribeAlice).to.have.members([
622
+ expect(bobSubscribeAlice.length).toBe(2);
623
+ expect(bobSubscribeAlice).toEqual(expect.arrayContaining([
624
624
  yield Message.getCid(privateBobToAlice.message),
625
625
  yield Message.getCid(publicBobToAlice.message),
626
- ]);
626
+ ]));
627
627
  }));
628
628
  }));
629
629
  it('allows for authorized subscriptions to records authored by an author(s)', () => __awaiter(this, void 0, void 0, function* () {
@@ -634,7 +634,7 @@ export function testSubscriptionScenarios() {
634
634
  protocolDefinition: Object.assign({}, freeForAll)
635
635
  });
636
636
  const protocolConfigureReply = yield dwn.processMessage(alice.did, protocolConfigure.message);
637
- expect(protocolConfigureReply.status.code).to.equal(202);
637
+ expect(protocolConfigureReply.status.code).toBe(202);
638
638
  const bob = yield TestDataGenerator.generateDidKeyPersona();
639
639
  const carol = yield TestDataGenerator.generateDidKeyPersona();
640
640
  // bob subscribes to all records he's authorized to see, with alice as the author
@@ -650,8 +650,8 @@ export function testSubscriptionScenarios() {
650
650
  const bobSubscribeReply = yield dwn.processMessage(alice.did, bobSubscribeToAlice.message, {
651
651
  subscriptionHandler: bobSubscribeHandler
652
652
  });
653
- expect(bobSubscribeReply.status.code).to.equal(200);
654
- expect(bobSubscribeReply.subscription).to.exist;
653
+ expect(bobSubscribeReply.status.code).toBe(200);
654
+ expect(bobSubscribeReply.subscription).toBeDefined();
655
655
  // carol subscribes to any messages that she or alice are the authors of
656
656
  const carolSubscribeCarolAndAlice = [];
657
657
  const carolSubscribeHandler = (event) => __awaiter(this, void 0, void 0, function* () {
@@ -665,8 +665,8 @@ export function testSubscriptionScenarios() {
665
665
  const carolSubscribeReply = yield dwn.processMessage(alice.did, carolSubscribeToCarolAndAlice.message, {
666
666
  subscriptionHandler: carolSubscribeHandler
667
667
  });
668
- expect(carolSubscribeReply.status.code).to.equal(200);
669
- expect(carolSubscribeReply.subscription).to.exist;
668
+ expect(carolSubscribeReply.status.code).toBe(200);
669
+ expect(carolSubscribeReply.subscription).toBeDefined();
670
670
  const recordParams = {
671
671
  protocol: freeForAll.protocol,
672
672
  protocolPath: 'post',
@@ -678,50 +678,50 @@ export function testSubscriptionScenarios() {
678
678
  const publicAliceToBobReply = yield dwn.processMessage(alice.did, publicAliceToBob.message, {
679
679
  dataStream: publicAliceToBob.dataStream
680
680
  });
681
- expect(publicAliceToBobReply.status.code).to.equal(202);
681
+ expect(publicAliceToBobReply.status.code).toBe(202);
682
682
  // write a private and public message from alice to carol
683
683
  const publicAliceToCarol = yield TestDataGenerator.generateRecordsWrite(Object.assign(Object.assign({}, recordParams), { author: alice, recipient: carol.did, published: true }));
684
684
  const publicAliceToCarolReply = yield dwn.processMessage(alice.did, publicAliceToCarol.message, {
685
685
  dataStream: publicAliceToCarol.dataStream
686
686
  });
687
- expect(publicAliceToCarolReply.status.code).to.equal(202);
687
+ expect(publicAliceToCarolReply.status.code).toBe(202);
688
688
  const privateAliceToCarol = yield TestDataGenerator.generateRecordsWrite(Object.assign(Object.assign({}, recordParams), { author: alice, recipient: carol.did, published: false }));
689
689
  const privateAliceToCarolReply = yield dwn.processMessage(alice.did, privateAliceToCarol.message, {
690
690
  dataStream: privateAliceToCarol.dataStream
691
691
  });
692
- expect(privateAliceToCarolReply.status.code).to.equal(202);
692
+ expect(privateAliceToCarolReply.status.code).toBe(202);
693
693
  // write a private message for alice from carol
694
694
  const privateCarolToAlice = yield TestDataGenerator.generateRecordsWrite(Object.assign(Object.assign({}, recordParams), { author: carol, recipient: alice.did, published: false }));
695
695
  const privateCarolToAliceReply = yield dwn.processMessage(alice.did, privateCarolToAlice.message, {
696
696
  dataStream: privateCarolToAlice.dataStream
697
697
  });
698
- expect(privateCarolToAliceReply.status.code).to.equal(202);
698
+ expect(privateCarolToAliceReply.status.code).toBe(202);
699
699
  // write a public and private message from bob to carol
700
700
  const publicBobToCarol = yield TestDataGenerator.generateRecordsWrite(Object.assign(Object.assign({}, recordParams), { author: bob, recipient: carol.did, published: true }));
701
701
  const publicBobToCarolReply = yield dwn.processMessage(alice.did, publicBobToCarol.message, {
702
702
  dataStream: publicBobToCarol.dataStream
703
703
  });
704
- expect(publicBobToCarolReply.status.code).to.equal(202);
704
+ expect(publicBobToCarolReply.status.code).toBe(202);
705
705
  const privateBobToCarol = yield TestDataGenerator.generateRecordsWrite(Object.assign(Object.assign({}, recordParams), { author: bob, recipient: carol.did, published: false }));
706
706
  const privateBobToCarolReply = yield dwn.processMessage(alice.did, privateBobToCarol.message, {
707
707
  dataStream: privateBobToCarol.dataStream
708
708
  });
709
- expect(privateBobToCarolReply.status.code).to.equal(202);
709
+ expect(privateBobToCarolReply.status.code).toBe(202);
710
710
  yield Poller.pollUntilSuccessOrTimeout(() => __awaiter(this, void 0, void 0, function* () {
711
711
  // carol should have received the message intended for her
712
- expect(carolSubscribeCarolAndAlice.length).to.equal(4);
713
- expect(carolSubscribeCarolAndAlice).to.have.members([
712
+ expect(carolSubscribeCarolAndAlice.length).toBe(4);
713
+ expect(carolSubscribeCarolAndAlice).toEqual(expect.arrayContaining([
714
714
  yield Message.getCid(publicAliceToCarol.message),
715
715
  yield Message.getCid(privateAliceToCarol.message),
716
716
  yield Message.getCid(publicAliceToBob.message),
717
717
  yield Message.getCid(privateCarolToAlice.message),
718
- ]);
718
+ ]));
719
719
  // bob should have received the two messages intended for him
720
- expect(bobSubscribeAlice.length).to.equal(2);
721
- expect(bobSubscribeAlice).to.have.members([
720
+ expect(bobSubscribeAlice.length).toBe(2);
721
+ expect(bobSubscribeAlice).toEqual(expect.arrayContaining([
722
722
  yield Message.getCid(publicAliceToBob.message),
723
723
  yield Message.getCid(publicAliceToCarol.message)
724
- ]);
724
+ ]));
725
725
  }));
726
726
  }));
727
727
  it('filters by protocol & contextId across multiple protocolPaths', () => __awaiter(this, void 0, void 0, function* () {
@@ -741,7 +741,7 @@ export function testSubscriptionScenarios() {
741
741
  protocolDefinition: Object.assign({}, threadProtocol)
742
742
  });
743
743
  const protocolConfigureReply = yield dwn.processMessage(alice.did, protocolConfigure.message);
744
- expect(protocolConfigureReply.status.code).to.equal(202);
744
+ expect(protocolConfigureReply.status.code).toBe(202);
745
745
  const protocol = protocolConfigure.message.descriptor.definition.protocol;
746
746
  // alice creates thread
747
747
  const thread = yield TestDataGenerator.generateRecordsWrite({
@@ -750,7 +750,7 @@ export function testSubscriptionScenarios() {
750
750
  protocolPath: 'thread'
751
751
  });
752
752
  const threadReply = yield dwn.processMessage(alice.did, thread.message, { dataStream: thread.dataStream });
753
- expect(threadReply.status.code).to.equal(202);
753
+ expect(threadReply.status.code).toBe(202);
754
754
  // subscribe to this thread's messages
755
755
  const messages = [];
756
756
  const initialWrites = [];
@@ -768,8 +768,8 @@ export function testSubscriptionScenarios() {
768
768
  const threadSubscriptionReply = yield dwn.processMessage(alice.did, threadSubscription.message, {
769
769
  subscriptionHandler
770
770
  });
771
- expect(threadSubscriptionReply.status.code).to.equal(200);
772
- expect(threadSubscriptionReply.subscription).to.exist;
771
+ expect(threadSubscriptionReply.status.code).toBe(200);
772
+ expect(threadSubscriptionReply.subscription).toBeDefined();
773
773
  const participantSubscription = yield TestDataGenerator.generateRecordsSubscribe({
774
774
  author: alice,
775
775
  filter: { protocol: protocol, protocolPath: 'thread/participant', contextId: thread.message.contextId }, // participant updates
@@ -777,8 +777,8 @@ export function testSubscriptionScenarios() {
777
777
  const participantSubscriptionReply = yield dwn.processMessage(alice.did, participantSubscription.message, {
778
778
  subscriptionHandler
779
779
  });
780
- expect(participantSubscriptionReply.status.code).to.equal(200);
781
- expect(participantSubscriptionReply.subscription).to.exist;
780
+ expect(participantSubscriptionReply.status.code).toBe(200);
781
+ expect(participantSubscriptionReply.subscription).toBeDefined();
782
782
  const chatSubscription = yield TestDataGenerator.generateRecordsSubscribe({
783
783
  author: alice,
784
784
  filter: { protocol: protocol, protocolPath: 'thread/chat', contextId: thread.message.contextId } // chat updates
@@ -786,8 +786,8 @@ export function testSubscriptionScenarios() {
786
786
  const chatSubscriptionReply = yield dwn.processMessage(alice.did, chatSubscription.message, {
787
787
  subscriptionHandler
788
788
  });
789
- expect(chatSubscriptionReply.status.code).to.equal(200);
790
- expect(chatSubscriptionReply.subscription).to.exist;
789
+ expect(chatSubscriptionReply.status.code).toBe(200);
790
+ expect(chatSubscriptionReply.subscription).toBeDefined();
791
791
  // add bob as participant
792
792
  const bobParticipant = yield TestDataGenerator.generateRecordsWrite({
793
793
  author: alice,
@@ -797,7 +797,7 @@ export function testSubscriptionScenarios() {
797
797
  protocolPath: 'thread/participant'
798
798
  });
799
799
  const bobParticipantReply = yield dwn.processMessage(alice.did, bobParticipant.message, { dataStream: bobParticipant.dataStream });
800
- expect(bobParticipantReply.status.code).to.equal(202);
800
+ expect(bobParticipantReply.status.code).toBe(202);
801
801
  // add carol as participant
802
802
  const carolParticipant = yield TestDataGenerator.generateRecordsWrite({
803
803
  author: alice,
@@ -807,7 +807,7 @@ export function testSubscriptionScenarios() {
807
807
  protocolPath: 'thread/participant'
808
808
  });
809
809
  const carolParticipantReply = yield dwn.processMessage(alice.did, carolParticipant.message, { dataStream: carolParticipant.dataStream });
810
- expect(carolParticipantReply.status.code).to.equal(202);
810
+ expect(carolParticipantReply.status.code).toBe(202);
811
811
  // add another thread as a control, will not show up in handled message events
812
812
  const additionalThread = yield TestDataGenerator.generateRecordsWrite({
813
813
  author: alice,
@@ -815,13 +815,13 @@ export function testSubscriptionScenarios() {
815
815
  protocolPath: 'thread'
816
816
  });
817
817
  const additionalThreadReply = yield dwn.processMessage(alice.did, additionalThread.message, { dataStream: additionalThread.dataStream });
818
- expect(additionalThreadReply.status.code).to.equal(202);
818
+ expect(additionalThreadReply.status.code).toBe(202);
819
819
  yield Poller.pollUntilSuccessOrTimeout(() => __awaiter(this, void 0, void 0, function* () {
820
- expect(messages.length).to.equal(2);
821
- expect(messages).to.have.members([
820
+ expect(messages.length).toBe(2);
821
+ expect(messages).toEqual(expect.arrayContaining([
822
822
  yield Message.getCid(bobParticipant.message),
823
823
  yield Message.getCid(carolParticipant.message),
824
- ]);
824
+ ]));
825
825
  }));
826
826
  // add a message to protocol1
827
827
  const message1 = yield TestDataGenerator.generateRecordsWrite({
@@ -833,7 +833,7 @@ export function testSubscriptionScenarios() {
833
833
  protocolRole: 'thread/participant',
834
834
  });
835
835
  const message1Reply = yield dwn.processMessage(alice.did, message1.message, { dataStream: message1.dataStream });
836
- expect(message1Reply.status.code).to.equal(202);
836
+ expect(message1Reply.status.code).toBe(202);
837
837
  const message2 = yield TestDataGenerator.generateRecordsWrite({
838
838
  author: bob,
839
839
  recipient: alice.did,
@@ -843,7 +843,7 @@ export function testSubscriptionScenarios() {
843
843
  protocolRole: 'thread/participant',
844
844
  });
845
845
  const message2Reply = yield dwn.processMessage(alice.did, message2.message, { dataStream: message2.dataStream });
846
- expect(message2Reply.status.code).to.equal(202);
846
+ expect(message2Reply.status.code).toBe(202);
847
847
  const message3 = yield TestDataGenerator.generateRecordsWrite({
848
848
  author: carol,
849
849
  recipient: alice.did,
@@ -853,14 +853,14 @@ export function testSubscriptionScenarios() {
853
853
  protocolRole: 'thread/participant',
854
854
  });
855
855
  const message3Reply = yield dwn.processMessage(alice.did, message3.message, { dataStream: message3.dataStream });
856
- expect(message3Reply.status.code).to.equal(202);
856
+ expect(message3Reply.status.code).toBe(202);
857
857
  yield Poller.pollUntilSuccessOrTimeout(() => __awaiter(this, void 0, void 0, function* () {
858
- expect(messages.length).to.equal(5);
859
- expect(messages).to.include.members([
858
+ expect(messages.length).toBe(5);
859
+ expect(messages).toEqual(expect.arrayContaining([
860
860
  yield Message.getCid(message1.message),
861
861
  yield Message.getCid(message2.message),
862
862
  yield Message.getCid(message3.message),
863
- ]);
863
+ ]));
864
864
  }));
865
865
  // delete carol participant
866
866
  const deleteCarol = yield TestDataGenerator.generateRecordsDelete({
@@ -868,16 +868,16 @@ export function testSubscriptionScenarios() {
868
868
  recordId: carolParticipant.message.recordId
869
869
  });
870
870
  const deleteCarolReply = yield dwn.processMessage(alice.did, deleteCarol.message);
871
- expect(deleteCarolReply.status.code).to.equal(202);
871
+ expect(deleteCarolReply.status.code).toBe(202);
872
872
  yield Poller.pollUntilSuccessOrTimeout(() => __awaiter(this, void 0, void 0, function* () {
873
- expect(messages.length).to.equal(6);
874
- expect(messages).to.include.members([
873
+ expect(messages.length).toBe(6);
874
+ expect(messages).toEqual(expect.arrayContaining([
875
875
  yield Message.getCid(deleteCarol.message)
876
- ]);
876
+ ]));
877
877
  // check the initial write was included with the delete
878
- expect(initialWrites).to.include.members([
878
+ expect(initialWrites).toEqual(expect.arrayContaining([
879
879
  yield Message.getCid(carolParticipant.message)
880
- ]);
880
+ ]));
881
881
  }));
882
882
  }));
883
883
  });