@volontariapp/database 1.12.0 → 1.13.0-snap-2c644e5

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 (52) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/outbox/consumers/outbox.consumer.d.ts +3 -1
  3. package/dist/outbox/consumers/outbox.consumer.d.ts.map +1 -1
  4. package/dist/outbox/consumers/outbox.consumer.js +4 -2
  5. package/dist/outbox/consumers/outbox.consumer.js.map +1 -1
  6. package/dist/outbox/index.d.ts +1 -0
  7. package/dist/outbox/index.d.ts.map +1 -1
  8. package/dist/outbox/index.js +1 -0
  9. package/dist/outbox/index.js.map +1 -1
  10. package/dist/outbox/pushers/index.d.ts +2 -0
  11. package/dist/outbox/pushers/index.d.ts.map +1 -0
  12. package/dist/outbox/pushers/index.js +2 -0
  13. package/dist/outbox/pushers/index.js.map +1 -0
  14. package/dist/outbox/pushers/outbox.pusher.d.ts +6 -0
  15. package/dist/outbox/pushers/outbox.pusher.d.ts.map +1 -0
  16. package/dist/outbox/pushers/outbox.pusher.js +3 -0
  17. package/dist/outbox/pushers/outbox.pusher.js.map +1 -0
  18. package/dist/outbox/runners/outbox.runner.d.ts +2 -1
  19. package/dist/outbox/runners/outbox.runner.d.ts.map +1 -1
  20. package/dist/outbox/runners/outbox.runner.js +6 -3
  21. package/dist/outbox/runners/outbox.runner.js.map +1 -1
  22. package/dist/test/data-source.js +1 -1
  23. package/dist/test/global-setup.d.ts.map +1 -1
  24. package/dist/test/global-setup.js +18 -2
  25. package/dist/test/global-setup.js.map +1 -1
  26. package/dist/test/outbox/consumers/outbox.consumer.int.spec.js +45 -10
  27. package/dist/test/outbox/consumers/outbox.consumer.int.spec.js.map +1 -1
  28. package/dist/test/outbox/consumers/outbox.consumer.unit.spec.js +24 -9
  29. package/dist/test/outbox/consumers/outbox.consumer.unit.spec.js.map +1 -1
  30. package/dist/test/outbox/runners/outbox.runner.int.spec.d.ts.map +1 -0
  31. package/dist/test/outbox/runners/outbox.runner.int.spec.js +161 -0
  32. package/dist/test/outbox/runners/outbox.runner.int.spec.js.map +1 -0
  33. package/dist/test/outbox/runners/outbox.runner.unit.spec.d.ts.map +1 -0
  34. package/dist/test/outbox/runners/outbox.runner.unit.spec.js +65 -0
  35. package/dist/test/outbox/runners/outbox.runner.unit.spec.js.map +1 -0
  36. package/dist/test/redis-config.d.ts +8 -0
  37. package/dist/test/redis-config.d.ts.map +1 -0
  38. package/dist/test/redis-config.js +26 -0
  39. package/dist/test/redis-config.js.map +1 -0
  40. package/dist/test/utils/helpers/outbox-pusher-mock.helper.d.ts +5 -0
  41. package/dist/test/utils/helpers/outbox-pusher-mock.helper.d.ts.map +1 -0
  42. package/dist/test/utils/helpers/outbox-pusher-mock.helper.js +8 -0
  43. package/dist/test/utils/helpers/outbox-pusher-mock.helper.js.map +1 -0
  44. package/package.json +3 -1
  45. package/dist/test/outbox/outbox.runner.int.spec.d.ts.map +0 -1
  46. package/dist/test/outbox/outbox.runner.int.spec.js +0 -102
  47. package/dist/test/outbox/outbox.runner.int.spec.js.map +0 -1
  48. package/dist/test/outbox/outbox.runner.unit.spec.d.ts.map +0 -1
  49. package/dist/test/outbox/outbox.runner.unit.spec.js +0 -172
  50. package/dist/test/outbox/outbox.runner.unit.spec.js.map +0 -1
  51. /package/dist/test/outbox/{outbox.runner.int.spec.d.ts → runners/outbox.runner.int.spec.d.ts} +0 -0
  52. /package/dist/test/outbox/{outbox.runner.unit.spec.d.ts → runners/outbox.runner.unit.spec.d.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.13.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Added outboxPusher, jobsOutboxPusher and updated outboxConsumer implementation & behavior
8
+
3
9
  ## 1.12.0
4
10
 
5
11
  ### Minor Changes
@@ -3,12 +3,14 @@ import type { OutboxEntity } from '../entities/outbox.entity.js';
3
3
  import type { OutboxModel } from '../models/outbox.model.js';
4
4
  import type { Logger } from '@volontariapp/logger';
5
5
  import type { OutboxDispatcher } from '../dispatchers/outbox.dispatcher.js';
6
+ import type { OutboxPusher } from '../pushers/outbox.pusher.js';
6
7
  export declare class OutboxConsumer<TOutboxModel extends OutboxModel, TOutboxEntity extends OutboxEntity> {
7
8
  protected readonly logger: Logger;
8
9
  protected readonly repository: BaseRepository<TOutboxModel, TOutboxEntity, string>;
9
10
  protected readonly batchSize: number;
10
11
  protected readonly outboxDispatcher: OutboxDispatcher<TOutboxModel, TOutboxEntity>;
11
- constructor(logger: Logger, repository: BaseRepository<TOutboxModel, TOutboxEntity, string>, batchSize: number, outboxDispatcher: OutboxDispatcher<TOutboxModel, TOutboxEntity>);
12
+ protected readonly outboxPusher: OutboxPusher<TOutboxEntity>;
13
+ constructor(logger: Logger, repository: BaseRepository<TOutboxModel, TOutboxEntity, string>, batchSize: number, outboxDispatcher: OutboxDispatcher<TOutboxModel, TOutboxEntity>, outboxPusher: OutboxPusher<TOutboxEntity>);
12
14
  fetchPendingItems(): Promise<TOutboxEntity[]>;
13
15
  private normalizeRows;
14
16
  processItems(entities: TOutboxEntity[]): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"outbox.consumer.d.ts","sourceRoot":"","sources":["../../../src/outbox/consumers/outbox.consumer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,qBAAa,cAAc,CAAC,YAAY,SAAS,WAAW,EAAE,aAAa,SAAS,YAAY;IAE5F,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACjC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC;IAClF,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM;IACpC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,YAAY,EAAE,aAAa,CAAC;gBAH/D,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,cAAc,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,EAC/D,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,gBAAgB,CAAC,YAAY,EAAE,aAAa,CAAC;IAO9E,iBAAiB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IA2CnD,OAAO,CAAC,aAAa;IA2Bf,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBtD,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAUrE"}
1
+ {"version":3,"file":"outbox.consumer.d.ts","sourceRoot":"","sources":["../../../src/outbox/consumers/outbox.consumer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,qBAAa,cAAc,CAAC,YAAY,SAAS,WAAW,EAAE,aAAa,SAAS,YAAY;IAE5F,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACjC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC;IAClF,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM;IACpC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,YAAY,EAAE,aAAa,CAAC;IAClF,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,aAAa,CAAC;gBAJzC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,cAAc,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,EAC/D,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,gBAAgB,CAAC,YAAY,EAAE,aAAa,CAAC,EAC/D,YAAY,EAAE,YAAY,CAAC,aAAa,CAAC;IAOxD,iBAAiB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IA2CnD,OAAO,CAAC,aAAa;IA2Bf,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBtD,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAUrE"}
@@ -5,11 +5,13 @@ export class OutboxConsumer {
5
5
  repository;
6
6
  batchSize;
7
7
  outboxDispatcher;
8
- constructor(logger, repository, batchSize, outboxDispatcher) {
8
+ outboxPusher;
9
+ constructor(logger, repository, batchSize, outboxDispatcher, outboxPusher) {
9
10
  this.logger = logger;
10
11
  this.repository = repository;
11
12
  this.batchSize = batchSize;
12
13
  this.outboxDispatcher = outboxDispatcher;
14
+ this.outboxPusher = outboxPusher;
13
15
  if (this.batchSize <= 0) {
14
16
  throw new InvalidOutboxSizeError();
15
17
  }
@@ -72,7 +74,7 @@ export class OutboxConsumer {
72
74
  for (const item of entities) {
73
75
  try {
74
76
  this.logger.info(`Pushing outbox item ${item.id.toString()}`);
75
- await Promise.resolve();
77
+ await this.outboxPusher.pushElement(item);
76
78
  await this.outboxDispatcher.markAsCompleted(item);
77
79
  }
78
80
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"outbox.consumer.js","sourceRoot":"","sources":["../../../src/outbox/consumers/outbox.consumer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAKzD,MAAM,OAAO,cAAc;IAEJ;IACA;IACA;IACA;IAJrB,YACqB,MAAc,EACd,UAA+D,EAC/D,SAAiB,EACjB,gBAA+D;QAH/D,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAqD;QAC/D,cAAS,GAAT,SAAS,CAAQ;QACjB,qBAAgB,GAAhB,gBAAgB,CAA+C;QAElF,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,sBAAsB,EAAE,CAAC;QACrC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;QAErD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAE7F,OAAO,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;YAChE,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,OAAO;iBAC3C,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;iBAC7D,MAAM,EAAE;iBACR,GAAG,CAAC;gBACH,MAAM,EAAE,YAAY,CAAC,UAAU;gBAC/B,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO;aACzB,CAAC;iBACD,KAAK,CACJ;;sBAEY,SAAS;;;;;cAKjB,EACJ,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,CACzD;iBACA,SAAS,CAAC,GAAG,CAAC;iBACd,OAAO,EAAE,CAAC;YAEb,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAErD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;gBAClE,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,uBAAuB,EAAE;gBAC5E,SAAS;gBACT,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;aAClC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,aAAa,CAAC,MAAe;QACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAElF,MAAM,IAAI,GACR,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,MAAM;YAC/D,CAAC,CAAE,MAA4B,CAAC,IAAI;YACpC,CAAC,CAAC,MAAM,CAAC;QAEb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uDAAuD,EAAE;gBACxE,IAAI,EAAE,OAAO,IAAI;aAClB,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;QAE1E,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAa,EAAE,EAAE;YAChC,MAAM,GAAG,GAAG,IAA+B,CAAC;YAC5C,OAAO;gBACL,GAAG,GAAG;gBACN,SAAS,EAAE,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,UAAU,CAAS;gBACpD,SAAS,EAAE,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,UAAU,CAAS;aACrC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAyB;QAC1C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC9D,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAGpD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBAChF,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CACtC,IAAI,EACJ,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,QAAyB;QAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3F,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,UAAU,EAAE,CAAC;gBAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBACxF,SAAS;YACX,CAAC;YACD,MAAM,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"outbox.consumer.js","sourceRoot":"","sources":["../../../src/outbox/consumers/outbox.consumer.ts"],"names":[],"mappings":"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"}
@@ -8,4 +8,5 @@ export * from './models/index.js';
8
8
  export * from './types/index.js';
9
9
  export * from './writers/index.js';
10
10
  export * from './dispatchers/index.js';
11
+ export * from './pushers/index.js';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/outbox/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/outbox/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAE3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC"}
@@ -8,4 +8,5 @@ export * from './models/index.js';
8
8
  export * from './types/index.js';
9
9
  export * from './writers/index.js';
10
10
  export * from './dispatchers/index.js';
11
+ export * from './pushers/index.js';
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/outbox/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/outbox/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAE3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './outbox.pusher.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/outbox/pushers/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './outbox.pusher.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/outbox/pushers/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { OutboxEntity } from '../entities/outbox.entity.js';
2
+ export declare abstract class OutboxPusher<TOutboxEntity extends OutboxEntity> {
3
+ abstract pushElement(entity: TOutboxEntity): Promise<void>;
4
+ abstract pushBulkElement(entities: TOutboxEntity[]): Promise<void>;
5
+ }
6
+ //# sourceMappingURL=outbox.pusher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outbox.pusher.d.ts","sourceRoot":"","sources":["../../../src/outbox/pushers/outbox.pusher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,8BAAsB,YAAY,CAAC,aAAa,SAAS,YAAY;IACnE,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1D,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CACnE"}
@@ -0,0 +1,3 @@
1
+ export class OutboxPusher {
2
+ }
3
+ //# sourceMappingURL=outbox.pusher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outbox.pusher.js","sourceRoot":"","sources":["../../../src/outbox/pushers/outbox.pusher.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,YAAY;CAGjC"}
@@ -2,6 +2,7 @@ import type { OutboxRunnerConfig } from '@volontariapp/config';
2
2
  import type { OutboxDispatcher } from '../dispatchers/outbox.dispatcher.js';
3
3
  import type { OutboxEntity, OutboxModel } from '../index.js';
4
4
  import type { BaseRepository } from '../../core/base.repository.js';
5
+ import type { OutboxPusher } from '../pushers/outbox.pusher.js';
5
6
  export declare class OutboxRunner<TOutboxModel extends OutboxModel, TOutboxEntity extends OutboxEntity> {
6
7
  private readonly repository;
7
8
  private readonly config;
@@ -10,7 +11,7 @@ export declare class OutboxRunner<TOutboxModel extends OutboxModel, TOutboxEntit
10
11
  private readonly logger;
11
12
  private readonly consumer;
12
13
  private readonly dispatcher;
13
- constructor(repository: BaseRepository<TOutboxModel, TOutboxEntity, string>, config: OutboxRunnerConfig, dispatcher: OutboxDispatcher<TOutboxModel, TOutboxEntity>);
14
+ constructor(repository: BaseRepository<TOutboxModel, TOutboxEntity, string>, config: OutboxRunnerConfig, dispatcher: OutboxDispatcher<TOutboxModel, TOutboxEntity>, pusher: OutboxPusher<TOutboxEntity>);
14
15
  get isRunning(): boolean;
15
16
  start(): void;
16
17
  private runLoop;
@@ -1 +1 @@
1
- {"version":3,"file":"outbox.runner.d.ts","sourceRoot":"","sources":["../../../src/outbox/runners/outbox.runner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,qBAAa,YAAY,CAAC,YAAY,SAAS,WAAW,EAAE,aAAa,SAAS,YAAY;IAS1F,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IATzB,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,WAAW,CAAC,CAAgB;IAEpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8C;IACvE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgD;gBAGxD,UAAU,EAAE,cAAc,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,EAC/D,MAAM,EAAE,kBAAkB,EAC3C,UAAU,EAAE,gBAAgB,CAAC,YAAY,EAAE,aAAa,CAAC;IAe3D,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED,KAAK,IAAI,IAAI;YAaC,OAAO;IAoBf,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAQzB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAgB5B"}
1
+ {"version":3,"file":"outbox.runner.d.ts","sourceRoot":"","sources":["../../../src/outbox/runners/outbox.runner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,qBAAa,YAAY,CAAC,YAAY,SAAS,WAAW,EAAE,aAAa,SAAS,YAAY;IAS1F,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IATzB,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,WAAW,CAAC,CAAgB;IAEpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8C;IACvE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgD;gBAGxD,UAAU,EAAE,cAAc,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,EAC/D,MAAM,EAAE,kBAAkB,EAC3C,UAAU,EAAE,gBAAgB,CAAC,YAAY,EAAE,aAAa,CAAC,EACzD,MAAM,EAAE,YAAY,CAAC,aAAa,CAAC;IAgBrC,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED,KAAK,IAAI,IAAI;YAaC,OAAO;IAoBf,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAWzB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAgB5B"}
@@ -9,12 +9,12 @@ export class OutboxRunner {
9
9
  logger;
10
10
  consumer;
11
11
  dispatcher;
12
- constructor(repository, config, dispatcher) {
12
+ constructor(repository, config, dispatcher, pusher) {
13
13
  this.repository = repository;
14
14
  this.config = config;
15
15
  this.logger = new Logger(config.logger);
16
16
  this.dispatcher = dispatcher;
17
- this.consumer = new OutboxConsumer(this.logger, this.repository, config.batchSize, this.dispatcher);
17
+ this.consumer = new OutboxConsumer(this.logger, this.repository, config.batchSize, this.dispatcher, pusher);
18
18
  }
19
19
  get isRunning() {
20
20
  return !!this.abortController && !this.abortController.signal.aborted;
@@ -49,7 +49,10 @@ export class OutboxRunner {
49
49
  }
50
50
  async runCycle() {
51
51
  try {
52
- await this.consumer.fetchPendingItems();
52
+ const items = await this.consumer.fetchPendingItems();
53
+ if (items.length > 0) {
54
+ await this.consumer.processItems(items);
55
+ }
53
56
  }
54
57
  catch (error) {
55
58
  this.logger.error('Error during outbox run cycle', { error });
@@ -1 +1 @@
1
- {"version":3,"file":"outbox.runner.js","sourceRoot":"","sources":["../../../src/outbox/runners/outbox.runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outbox.runner.js","sourceRoot":"","sources":["../../../src/outbox/runners/outbox.runner.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { JobsOutboxModel } from '../outbox/models/jobs-outbox.model.js';
7
7
  import { EventQueueModel } from '../outbox/models/event-queue.model.js';
8
8
  export const testDataSource = new DataSource({
9
9
  type: 'postgres',
10
- host: 'localhost',
10
+ host: '127.0.0.1',
11
11
  port: 5433,
12
12
  username: 'testuser',
13
13
  password: 'testpassword',
@@ -1 +1 @@
1
- {"version":3,"file":"global-setup.d.ts","sourceRoot":"","sources":["../../src/test/global-setup.ts"],"names":[],"mappings":";AAIA,wBA0BE"}
1
+ {"version":3,"file":"global-setup.d.ts","sourceRoot":"","sources":["../../src/test/global-setup.ts"],"names":[],"mappings":";AAKA,wBA+CE"}
@@ -1,8 +1,9 @@
1
1
  import { PostgresProvider } from '@volontariapp/bridge';
2
+ import { Redis } from 'ioredis';
2
3
  const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
3
4
  export default async () => {
4
5
  const provider = new PostgresProvider({
5
- host: 'localhost',
6
+ host: '127.0.0.1',
6
7
  port: 5433,
7
8
  username: 'testuser',
8
9
  password: 'testpassword',
@@ -15,12 +16,27 @@ export default async () => {
15
16
  const dataSource = provider.getDriver();
16
17
  await dataSource.query('SELECT 1');
17
18
  await provider.disconnect();
19
+ const redis = new Redis({
20
+ host: '127.0.0.1',
21
+ port: 6379,
22
+ connectTimeout: 1000,
23
+ retryStrategy: () => null,
24
+ });
25
+ redis.on('error', () => { });
26
+ try {
27
+ await redis.ping();
28
+ await redis.quit();
29
+ }
30
+ catch (err) {
31
+ await redis.quit().catch(() => undefined);
32
+ throw err;
33
+ }
18
34
  return;
19
35
  }
20
36
  catch {
21
37
  await provider.disconnect().catch(() => undefined);
22
38
  if (attempt === maxAttempts) {
23
- throw new Error('Test database is not reachable. Start it before running tests.');
39
+ throw new Error('Test database or Redis is not reachable. Start them before running tests.');
24
40
  }
25
41
  await sleep(500);
26
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"global-setup.js","sourceRoot":"","sources":["../../src/test/global-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAEhF,eAAe,KAAK,IAAI,EAAE;IACxB,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC;QACpC,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE,mBAAmB;KAC9B,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,EAAE,CAAC;IAEvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QAC3D,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;YACxC,MAAM,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;YACpF,CAAC;YACD,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"global-setup.js","sourceRoot":"","sources":["../../src/test/global-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAEhF,eAAe,KAAK,IAAI,EAAE;IACxB,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC;QACpC,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE,mBAAmB;KAC9B,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,EAAE,CAAC;IAEvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QAC3D,IAAI,CAAC;YAEH,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;YACxC,MAAM,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;YAG5B,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;gBACtB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,IAAI;gBACV,cAAc,EAAE,IAAI;gBACpB,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI;aAC1B,CAAC,CAAC;YACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAE5B,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;YACrB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC1C,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,OAAO;QACT,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CACb,2EAA2E,CAC5E,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { describe, it, expect, beforeAll } from '@jest/globals';
1
+ import { describe, it, expect, beforeAll, afterAll, beforeEach, jest } from '@jest/globals';
2
2
  import { testDataSource, setupIntegrationTest } from '../../utils/index.js';
3
3
  import { OutboxModel } from '../../../outbox/models/outbox.model.js';
4
4
  import { OutboxConsumer } from '../../../outbox/consumers/outbox.consumer.js';
@@ -7,13 +7,43 @@ import { OutboxStatus } from '../../../outbox/types/outbox.status.js';
7
7
  import { makeOutboxEvent } from '../../utils/helpers/outbox-event.helper.js';
8
8
  import { TestOutboxRepository } from '../../utils/repositories/outbox-test.repository.js';
9
9
  import { makeLoggerMock } from '../../utils/helpers/logger-mock.helper.js';
10
+ import { OutboxPusher } from '../../../outbox/pushers/outbox.pusher.js';
11
+ import { clearTestRedis, createTestRedisConnection } from '../../redis-config.js';
12
+ class RealRedisPusher extends OutboxPusher {
13
+ redis;
14
+ constructor(redis) {
15
+ super();
16
+ this.redis = redis;
17
+ }
18
+ async pushElement(entity) {
19
+ await this.redis.set(`outbox:${entity.id}`, JSON.stringify(entity));
20
+ }
21
+ async pushBulkElement(entities) {
22
+ const pipeline = this.redis.pipeline();
23
+ for (const entity of entities) {
24
+ pipeline.set(`outbox:${entity.id}`, JSON.stringify(entity));
25
+ }
26
+ await pipeline.exec();
27
+ }
28
+ }
10
29
  describe('OutboxConsumer (Integration)', () => {
11
30
  let repository;
12
31
  let loggerMock;
32
+ let redis;
33
+ let pusher;
13
34
  setupIntegrationTest([OutboxModel]);
14
35
  beforeAll(() => {
15
36
  loggerMock = makeLoggerMock();
16
37
  repository = new TestOutboxRepository(testDataSource.getRepository(OutboxModel));
38
+ redis = createTestRedisConnection();
39
+ pusher = new RealRedisPusher(redis);
40
+ });
41
+ afterAll(async () => {
42
+ await redis.quit();
43
+ });
44
+ beforeEach(async () => {
45
+ await clearTestRedis();
46
+ jest.clearAllMocks();
17
47
  });
18
48
  it('should fetch waiting items and mark them as processing', async () => {
19
49
  const repo = testDataSource.getRepository(OutboxModel);
@@ -27,7 +57,7 @@ describe('OutboxConsumer (Integration)', () => {
27
57
  });
28
58
  await repo.save([event1, event2]);
29
59
  const dispatcher = new OutboxDispatcher(loggerMock, repository);
30
- const singleConsumer = new OutboxConsumer(loggerMock, repository, 1, dispatcher);
60
+ const singleConsumer = new OutboxConsumer(loggerMock, repository, 1, dispatcher, pusher);
31
61
  const items = await singleConsumer.fetchPendingItems();
32
62
  expect(items).toHaveLength(1);
33
63
  expect(items[0].status).toBe(OutboxStatus.PROCESSING);
@@ -44,8 +74,8 @@ describe('OutboxConsumer (Integration)', () => {
44
74
  }));
45
75
  await repo.save(events);
46
76
  const dispatcher = new OutboxDispatcher(loggerMock, repository);
47
- const consumer1 = new OutboxConsumer(loggerMock, repository, 5, dispatcher);
48
- const consumer2 = new OutboxConsumer(loggerMock, repository, 5, dispatcher);
77
+ const consumer1 = new OutboxConsumer(loggerMock, repository, 5, dispatcher, pusher);
78
+ const consumer2 = new OutboxConsumer(loggerMock, repository, 5, dispatcher, pusher);
49
79
  const [results1, results2] = await Promise.all([
50
80
  consumer1.fetchPendingItems(),
51
81
  consumer2.fetchPendingItems(),
@@ -67,9 +97,9 @@ describe('OutboxConsumer (Integration)', () => {
67
97
  }));
68
98
  await repo.save(events);
69
99
  const dispatcher = new OutboxDispatcher(loggerMock, repository);
70
- const consumer1 = new OutboxConsumer(loggerMock, repository, 5, dispatcher);
71
- const consumer2 = new OutboxConsumer(loggerMock, repository, 5, dispatcher);
72
- const consumer3 = new OutboxConsumer(loggerMock, repository, 5, dispatcher);
100
+ const consumer1 = new OutboxConsumer(loggerMock, repository, 5, dispatcher, pusher);
101
+ const consumer2 = new OutboxConsumer(loggerMock, repository, 5, dispatcher, pusher);
102
+ const consumer3 = new OutboxConsumer(loggerMock, repository, 5, dispatcher, pusher);
73
103
  const [results1, results2, results3] = await Promise.all([
74
104
  consumer1.fetchPendingItems(),
75
105
  consumer2.fetchPendingItems(),
@@ -91,13 +121,13 @@ describe('OutboxConsumer (Integration)', () => {
91
121
  });
92
122
  await repo.save(event);
93
123
  const dispatcher = new OutboxDispatcher(loggerMock, repository);
94
- const consumer = new OutboxConsumer(loggerMock, repository, 10, dispatcher);
124
+ const consumer = new OutboxConsumer(loggerMock, repository, 10, dispatcher, pusher);
95
125
  const entity = await repository.findOneOrFail({ id: event.id });
96
126
  await consumer.markItemsAsCompleted([entity]);
97
127
  const dbItem = await repo.findOneBy({ id: event.id });
98
128
  expect(dbItem?.status).toBe(OutboxStatus.COMPLETED);
99
129
  });
100
- it('processItems() should process items and mark them as COMPLETED in database', async () => {
130
+ it('processItems() should process items, push them and mark them as COMPLETED in database', async () => {
101
131
  const repo = testDataSource.getRepository(OutboxModel);
102
132
  const event = makeOutboxEvent({
103
133
  id: '00000000-0000-0000-0000-000000000101',
@@ -105,11 +135,16 @@ describe('OutboxConsumer (Integration)', () => {
105
135
  });
106
136
  await repo.save(event);
107
137
  const dispatcher = new OutboxDispatcher(loggerMock, repository);
108
- const consumer = new OutboxConsumer(loggerMock, repository, 10, dispatcher);
138
+ const consumer = new OutboxConsumer(loggerMock, repository, 10, dispatcher, pusher);
139
+ const pushSpy = jest.spyOn(pusher, 'pushElement');
109
140
  const entity = await repository.findOneOrFail({ id: event.id });
110
141
  await consumer.processItems([entity]);
142
+ expect(pushSpy).toHaveBeenCalledWith(entity);
111
143
  const dbItem = await repo.findOneBy({ id: event.id });
112
144
  expect(dbItem?.status).toBe(OutboxStatus.COMPLETED);
145
+ const redisItem = await redis.get(`outbox:${entity.id}`);
146
+ expect(redisItem).not.toBeNull();
147
+ expect(JSON.parse(redisItem).id).toBe(entity.id);
113
148
  });
114
149
  });
115
150
  //# sourceMappingURL=outbox.consumer.int.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"outbox.consumer.int.spec.js","sourceRoot":"","sources":["../../../../src/test/outbox/consumers/outbox.consumer.int.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outbox.consumer.int.spec.js","sourceRoot":"","sources":["../../../../src/test/outbox/consumers/outbox.consumer.int.spec.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,16 @@
1
- import { describe, expect, it, beforeEach, jest } from '@jest/globals';
1
+ import { describe, expect, it, beforeEach, jest, afterEach } from '@jest/globals';
2
2
  import { OutboxConsumer } from '../../../outbox/consumers/outbox.consumer.js';
3
3
  import { OutboxModel } from '../../../outbox/models/outbox.model.js';
4
4
  import { InvalidOutboxSizeError } from '@volontariapp/errors';
5
5
  import { OutboxStatus } from '../../../outbox/types/outbox.status.js';
6
6
  import { makeLoggerMock } from '../../utils/helpers/logger-mock.helper.js';
7
7
  import { makeQueryRunnerMock } from '../../utils/helpers/query-runner-mock.helper.js';
8
+ import { makeOutboxPusherMock } from '../../utils/helpers/outbox-pusher-mock.helper.js';
8
9
  describe('OutboxConsumer (Unit)', () => {
9
10
  let consumer;
10
11
  let dispatcherMock;
11
12
  let repositoryMock;
13
+ let pusherMock;
12
14
  let queryRunnerMock;
13
15
  let loggerMock;
14
16
  beforeEach(() => {
@@ -29,15 +31,16 @@ describe('OutboxConsumer (Unit)', () => {
29
31
  markAsFailed: jest.fn(),
30
32
  markAsProcessing: jest.fn(),
31
33
  };
32
- consumer = new OutboxConsumer(loggerMock, repositoryMock, 10, dispatcherMock);
34
+ pusherMock = makeOutboxPusherMock();
35
+ consumer = new OutboxConsumer(loggerMock, repositoryMock, 10, dispatcherMock, pusherMock);
33
36
  });
34
37
  afterEach(() => {
35
38
  jest.restoreAllMocks();
36
39
  });
37
40
  describe('constructor', () => {
38
41
  it('should throw InvalidOutboxSizeError if batchSize <= 0', () => {
39
- expect(() => new OutboxConsumer(loggerMock, repositoryMock, 0, dispatcherMock)).toThrow(InvalidOutboxSizeError);
40
- expect(() => new OutboxConsumer(loggerMock, repositoryMock, -1, dispatcherMock)).toThrow(InvalidOutboxSizeError);
42
+ expect(() => new OutboxConsumer(loggerMock, repositoryMock, 0, dispatcherMock, pusherMock)).toThrow(InvalidOutboxSizeError);
43
+ expect(() => new OutboxConsumer(loggerMock, repositoryMock, -1, dispatcherMock, pusherMock)).toThrow(InvalidOutboxSizeError);
41
44
  });
42
45
  });
43
46
  describe('fetchPendingItems', () => {
@@ -89,22 +92,34 @@ describe('OutboxConsumer (Unit)', () => {
89
92
  });
90
93
  });
91
94
  describe('processItems', () => {
92
- it('should process items and mark them as completed', async () => {
95
+ it('should process items, push them and mark them as completed', async () => {
93
96
  const entities = [{ id: '1' }, { id: '2' }];
94
97
  const completedSpy = jest.spyOn(dispatcherMock, 'markAsCompleted');
98
+ const pushSpy = jest.spyOn(pusherMock, 'pushElement');
95
99
  await consumer.processItems(entities);
100
+ expect(pushSpy).toHaveBeenCalledTimes(2);
101
+ expect(pushSpy).toHaveBeenCalledWith(entities[0]);
102
+ expect(pushSpy).toHaveBeenCalledWith(entities[1]);
96
103
  expect(completedSpy).toHaveBeenCalledTimes(2);
97
104
  expect(completedSpy).toHaveBeenCalledWith(entities[0]);
98
105
  expect(completedSpy).toHaveBeenCalledWith(entities[1]);
99
106
  });
100
- it('should mark items as failed if processing throws error', async () => {
107
+ it('should mark items as failed if pushing throws error', async () => {
108
+ const entities = [{ id: '1' }];
109
+ const error = new Error('Push error');
110
+ jest.spyOn(pusherMock, 'pushElement').mockRejectedValueOnce(error);
111
+ const failedSpy = jest.spyOn(dispatcherMock, 'markAsFailed');
112
+ const completedSpy = jest.spyOn(dispatcherMock, 'markAsCompleted');
113
+ await consumer.processItems(entities);
114
+ expect(completedSpy).not.toHaveBeenCalled();
115
+ expect(failedSpy).toHaveBeenCalledWith(entities[0], 'Push error');
116
+ });
117
+ it('should mark items as failed if marking as completed throws error', async () => {
101
118
  const entities = [{ id: '1' }];
102
119
  const error = new Error('Test error');
103
120
  const completedSpy = jest
104
121
  .spyOn(dispatcherMock, 'markAsCompleted')
105
- .mockImplementationOnce(() => {
106
- throw error;
107
- });
122
+ .mockRejectedValueOnce(error);
108
123
  const failedSpy = jest.spyOn(dispatcherMock, 'markAsFailed');
109
124
  await consumer.processItems(entities);
110
125
  expect(completedSpy).toHaveBeenCalledWith(entities[0]);
@@ -1 +1 @@
1
- {"version":3,"file":"outbox.consumer.unit.spec.js","sourceRoot":"","sources":["../../../../src/test/outbox/consumers/outbox.consumer.unit.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAErE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAEtE,OAAO,EAAE,cAAc,EAAmB,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAGtF,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,IAAI,QAAmD,CAAC;IACxD,IAAI,cAAwE,CAAC;IAC7E,IAAI,cAA8E,CAAC;IACnF,IAAI,eAA4B,CAAC;IACjC,IAAI,UAAsB,CAAC;IAE3B,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,GAAG,cAAc,EAAE,CAAC;QAC9B,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,mBAAmB,EAAE,CAAC;QAC1D,eAAe,GAAG,MAAgC,CAAC;QAEnD,cAAc,GAAG;YACf,QAAQ,EAAE;gBACR,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,QAAQ;aACwD;YAC7E,oBAAoB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAU,IAA2C,EAAE,EAAE,CACrF,IAAI,CAAC,eAAe,CAAC,CACtB;YACD,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,MAAqB,EAAE,EAAE,CAAC,MAAmC,CAAC;YACnF,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;SAC2D,CAAC;QAE/E,cAAc,GAAG;YACf,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE;YAC1B,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE;YACvB,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE;SAC2C,CAAC;QAEzE,QAAQ,GAAG,IAAI,cAAc,CAC3B,UAA+B,EAC/B,cAAc,EACd,EAAE,EACF,cAAc,CACf,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,CACJ,GAAG,EAAE,CACH,IAAI,cAAc,CAAC,UAA+B,EAAE,cAAc,EAAE,CAAC,EAAE,cAAc,CAAC,CACzF,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;YAClC,MAAM,CACJ,GAAG,EAAE,CACH,IAAI,cAAc,CAAC,UAA+B,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,cAAc,CAAC,CAC1F,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,EAAE,GACN,eAAe,CAAC,OAAO,CAAC,kBAAkB,EAAgD,CAAC;YAC7F,MAAM,UAAU,GAAG,IAAI;iBACpB,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC;iBACpB,qBAAqB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YAEtE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAElD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC3B,MAAM,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,OAAO,GAAG;gBACd;oBACE,EAAE,EAAE,GAAG;oBACP,MAAM,EAAE,YAAY,CAAC,OAAO;oBAC5B,QAAQ,EAAE,CAAC;oBACX,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,IAAI,IAAI,EAAE;oBACtB,UAAU,EAAE,IAAI,IAAI,EAAE;iBACvB;gBACD;oBACE,EAAE,EAAE,GAAG;oBACP,MAAM,EAAE,YAAY,CAAC,OAAO;oBAC5B,QAAQ,EAAE,CAAC;oBACX,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,IAAI,IAAI,EAAE;oBACtB,UAAU,EAAE,IAAI,IAAI,EAAE;iBACvB;aACF,CAAC;YAEF,MAAM,EAAE,GACN,eAAe,CAAC,OAAO,CAAC,kBAAkB,EAAgD,CAAC;YAC7F,MAAM,UAAU,GAAG,IAAI;iBACpB,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC;iBACpB,qBAAqB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACxF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACrC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YAE9E,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAElD,MAAM,CAAC,WAAW,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACvC,MAAM,CAAC,SAAS,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACrC,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CACjC,MAAM,CAAC,gBAAgB,CAAC;gBACtB,MAAM,EAAE,YAAY,CAAC,UAAU;aAChC,CAAC,CACH,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,QAAQ,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAkB,EAAE,EAAE,EAAE,EAAE,GAAG,EAAkB,CAAC,CAAC;YAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;YAEnE,MAAM,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAEtC,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,QAAQ,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAkB,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,MAAM,YAAY,GAAG,IAAI;iBACtB,KAAK,CAAC,cAAc,EAAE,iBAAiB,CAAC;iBACxC,sBAAsB,CAAC,GAAG,EAAE;gBAC3B,MAAM,KAAK,CAAC;YACd,CAAC,CAAC,CAAC;YACL,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YAE7D,MAAM,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAEtC,MAAM,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,QAAQ,GAAG;gBACf,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,UAAU,EAAkB;gBAC5D,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,OAAO,EAAkB;aAC1D,CAAC;YACF,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAE/C,MAAM,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAE9C,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,wBAAwB,EAAE;gBAC7D,MAAM,EAAE,YAAY,CAAC,OAAO;aAC7B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"outbox.consumer.unit.spec.js","sourceRoot":"","sources":["../../../../src/test/outbox/consumers/outbox.consumer.unit.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAElF,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAErE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAEtE,OAAO,EAAE,cAAc,EAAmB,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAEtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AAGxF,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,IAAI,QAAmD,CAAC;IACxD,IAAI,cAAwE,CAAC;IAC7E,IAAI,cAA8E,CAAC;IACnF,IAAI,UAAmD,CAAC;IACxD,IAAI,eAA4B,CAAC;IACjC,IAAI,UAAsB,CAAC;IAE3B,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,GAAG,cAAc,EAAE,CAAC;QAC9B,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,mBAAmB,EAAE,CAAC;QAC1D,eAAe,GAAG,MAAgC,CAAC;QAEnD,cAAc,GAAG;YACf,QAAQ,EAAE;gBACR,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,QAAQ;aACwD;YAC7E,oBAAoB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAU,IAA2C,EAAE,EAAE,CACrF,IAAI,CAAC,eAAe,CAAC,CACtB;YACD,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,MAAqB,EAAE,EAAE,CAAC,MAAmC,CAAC;YACnF,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;SAC2D,CAAC;QAE/E,cAAc,GAAG;YACf,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE;YAC1B,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE;YACvB,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE;SAC2C,CAAC;QAEzE,UAAU,GAAG,oBAAoB,EAAE,CAAC;QAEpC,QAAQ,GAAG,IAAI,cAAc,CAC3B,UAA+B,EAC/B,cAAc,EACd,EAAE,EACF,cAAc,EACd,UAAU,CACX,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,CACJ,GAAG,EAAE,CACH,IAAI,cAAc,CAChB,UAA+B,EAC/B,cAAc,EACd,CAAC,EACD,cAAc,EACd,UAAU,CACX,CACJ,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;YAClC,MAAM,CACJ,GAAG,EAAE,CACH,IAAI,cAAc,CAChB,UAA+B,EAC/B,cAAc,EACd,CAAC,CAAC,EACF,cAAc,EACd,UAAU,CACX,CACJ,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,EAAE,GACN,eAAe,CAAC,OAAO,CAAC,kBAAkB,EAAgD,CAAC;YAC7F,MAAM,UAAU,GAAG,IAAI;iBACpB,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC;iBACpB,qBAAqB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YAEtE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAElD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC3B,MAAM,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,OAAO,GAAG;gBACd;oBACE,EAAE,EAAE,GAAG;oBACP,MAAM,EAAE,YAAY,CAAC,OAAO;oBAC5B,QAAQ,EAAE,CAAC;oBACX,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,IAAI,IAAI,EAAE;oBACtB,UAAU,EAAE,IAAI,IAAI,EAAE;iBACvB;gBACD;oBACE,EAAE,EAAE,GAAG;oBACP,MAAM,EAAE,YAAY,CAAC,OAAO;oBAC5B,QAAQ,EAAE,CAAC;oBACX,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,IAAI,IAAI,EAAE;oBACtB,UAAU,EAAE,IAAI,IAAI,EAAE;iBACvB;aACF,CAAC;YAEF,MAAM,EAAE,GACN,eAAe,CAAC,OAAO,CAAC,kBAAkB,EAAgD,CAAC;YAC7F,MAAM,UAAU,GAAG,IAAI;iBACpB,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC;iBACpB,qBAAqB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACxF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACrC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YAE9E,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAElD,MAAM,CAAC,WAAW,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACvC,MAAM,CAAC,SAAS,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACrC,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CACjC,MAAM,CAAC,gBAAgB,CAAC;gBACtB,MAAM,EAAE,YAAY,CAAC,UAAU;aAChC,CAAC,CACH,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,QAAQ,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAkB,EAAE,EAAE,EAAE,EAAE,GAAG,EAAkB,CAAC,CAAC;YAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;YAEtD,MAAM,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAEtC,MAAM,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,QAAQ,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAkB,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YACnE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;YAEnE,MAAM,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAEtC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC5C,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,MAAM,QAAQ,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAkB,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,MAAM,YAAY,GAAG,IAAI;iBACtB,KAAK,CAAC,cAAc,EAAE,iBAAiB,CAAC;iBACxC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YAE7D,MAAM,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAEtC,MAAM,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,QAAQ,GAAG;gBACf,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,UAAU,EAAkB;gBAC5D,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,OAAO,EAAkB;aAC1D,CAAC;YACF,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAE/C,MAAM,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAE9C,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,wBAAwB,EAAE;gBAC7D,MAAM,EAAE,YAAY,CAAC,OAAO;aAC7B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outbox.runner.int.spec.d.ts","sourceRoot":"","sources":["../../../../src/test/outbox/runners/outbox.runner.int.spec.ts"],"names":[],"mappings":""}