@magda/minion-framework 2.3.2 → 3.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/Crawler.d.ts +8 -8
  2. package/dist/Crawler.js +62 -99
  3. package/dist/Crawler.js.map +1 -1
  4. package/dist/MinionOptions.d.ts +6 -5
  5. package/dist/MinionOptions.js +1 -2
  6. package/dist/buildWebhookConfig.d.ts +2 -2
  7. package/dist/buildWebhookConfig.js +4 -7
  8. package/dist/buildWebhookConfig.js.map +1 -1
  9. package/dist/commonYargs.d.ts +10 -10
  10. package/dist/commonYargs.js +31 -37
  11. package/dist/commonYargs.js.map +1 -1
  12. package/dist/getWebhookUrl.d.ts +1 -1
  13. package/dist/getWebhookUrl.js +2 -5
  14. package/dist/getWebhookUrl.js.map +1 -1
  15. package/dist/index.d.ts +1 -1
  16. package/dist/index.js +111 -127
  17. package/dist/index.js.map +1 -1
  18. package/dist/isWebhookRegistered.d.ts +2 -2
  19. package/dist/isWebhookRegistered.js +14 -31
  20. package/dist/isWebhookRegistered.js.map +1 -1
  21. package/dist/registerWebhook.d.ts +5 -5
  22. package/dist/registerWebhook.js +33 -50
  23. package/dist/registerWebhook.js.map +1 -1
  24. package/dist/resumeWebhook.d.ts +3 -3
  25. package/dist/resumeWebhook.js +8 -22
  26. package/dist/resumeWebhook.js.map +1 -1
  27. package/dist/setupRecrawlEndpoint.d.ts +30 -30
  28. package/dist/setupRecrawlEndpoint.js +46 -45
  29. package/dist/setupRecrawlEndpoint.js.map +1 -1
  30. package/dist/setupWebhookEndpoint.d.ts +2 -2
  31. package/dist/setupWebhookEndpoint.js +22 -47
  32. package/dist/setupWebhookEndpoint.js.map +1 -1
  33. package/dist/startApiEndpoints.d.ts +1 -1
  34. package/dist/startApiEndpoints.js +4 -10
  35. package/dist/startApiEndpoints.js.map +1 -1
  36. package/dist/test/Crawler.spec.js +77 -93
  37. package/dist/test/Crawler.spec.js.map +1 -1
  38. package/dist/test/baseSpec.d.ts +10 -10
  39. package/dist/test/baseSpec.js +23 -25
  40. package/dist/test/baseSpec.js.map +1 -1
  41. package/dist/test/fakeArgv.d.ts +3 -3
  42. package/dist/test/fakeArgv.js +6 -6
  43. package/dist/test/fakeArgv.js.map +1 -1
  44. package/dist/test/makePromiseQueryable.d.ts +2 -2
  45. package/dist/test/makePromiseQueryable.js +2 -5
  46. package/dist/test/makePromiseQueryable.js.map +1 -1
  47. package/dist/test/registry.spec.js +27 -32
  48. package/dist/test/registry.spec.js.map +1 -1
  49. package/dist/test/setupRecrawlEndpoint.spec.js +29 -43
  50. package/dist/test/setupRecrawlEndpoint.spec.js.map +1 -1
  51. package/dist/test/startup.spec.js +33 -38
  52. package/dist/test/startup.spec.js.map +1 -1
  53. package/dist/test/webhooks.spec.js +43 -43
  54. package/dist/test/webhooks.spec.js.map +1 -1
  55. package/package.json +33 -21
@@ -1,75 +1,76 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  /**
4
- * @apiGroup Minions
5
- * @api {post} /v0/minions/recrawl Make the minion recrawl the registry
6
- *
7
- * @apiDescription Make the minion recrawl the registry
8
- *
9
- * @apiSuccess (Success 200) {json} Response the minion recrawl status
10
- * @apiSuccessExample {json} Response:
11
- * {
12
- * isSuccess: true,
13
- * isNewCrawler: true
14
- * }
15
- * @apiUse GenericErrorMinionJson
16
- */
17
- function setupRecrawlEndpoint(server, options, crawler) {
2
+ * @apiGroup Minions
3
+ * @api {post} /v0/minions/recrawl Make the minion recrawl the registry
4
+ *
5
+ * @apiDescription Make the minion recrawl the registry
6
+ *
7
+ * @apiSuccess (Success 200) {json} Response the minion recrawl status
8
+ * @apiSuccessExample {json} Response:
9
+ * {
10
+ * isSuccess: true,
11
+ * isNewCrawler: true
12
+ * }
13
+ * @apiUse GenericErrorMinionJson
14
+ */
15
+ export default function setupRecrawlEndpoint(server, options, crawler) {
18
16
  server.post("/recrawl", (request, response) => {
19
17
  try {
20
18
  if (crawler.isInProgress()) {
21
19
  response.status(200).json({
22
20
  isSuccess: true,
23
- isNewCrawler: false });
24
-
21
+ isNewCrawler: false
22
+ });
25
23
  } else
26
24
  {
27
25
  crawler.start();
28
26
  response.status(200).json({
29
27
  isSuccess: true,
30
- isNewCrawler: true });
31
-
28
+ isNewCrawler: true
29
+ });
32
30
  }
33
31
  }
34
32
  catch (e) {
35
33
  response.status(500).json({
36
34
  isSuccess: false,
37
- errorMessage: e.message ? e.message : "Unknown Error" });
38
-
35
+ errorMessage: e?.message ?
36
+ e.message :
37
+ "Unknown Error"
38
+ });
39
39
  }
40
40
  });
41
41
  /**
42
- * @apiGroup Minions
43
- * @api {get} /v0/minions/crawlerProgress Get the minion recrawl progress
44
- *
45
- * @apiDescription Get the minion recrawl progress
46
- *
47
- * @apiSuccess (Success 200) {json} Response the minion recrawl progress
48
- * @apiSuccessExample {json} Response:
49
- * {
50
- * isSuccess: true,
51
- * progress: {
52
- * isCrawling: true,
53
- * crawlingPageToken: "101",
54
- * crawledRecordNumber: 100
55
- * }
56
- * }
57
- * @apiUse GenericErrorMinionJson
58
- */
42
+ * @apiGroup Minions
43
+ * @api {get} /v0/minions/crawlerProgress Get the minion recrawl progress
44
+ *
45
+ * @apiDescription Get the minion recrawl progress
46
+ *
47
+ * @apiSuccess (Success 200) {json} Response the minion recrawl progress
48
+ * @apiSuccessExample {json} Response:
49
+ * {
50
+ * isSuccess: true,
51
+ * progress: {
52
+ * isCrawling: true,
53
+ * crawlingPageToken: "101",
54
+ * crawledRecordNumber: 100
55
+ * }
56
+ * }
57
+ * @apiUse GenericErrorMinionJson
58
+ */
59
59
  server.get("/crawlerProgress", (request, response) => {
60
60
  try {
61
61
  const progress = crawler.getProgress();
62
62
  response.status(200).json({
63
63
  isSuccess: true,
64
- progress });
65
-
64
+ progress
65
+ });
66
66
  }
67
67
  catch (e) {
68
68
  response.status(500).json({
69
69
  isSuccess: false,
70
- errorMessage: e.message ? e.message : "Unknown Error" });
71
-
70
+ errorMessage: e.message ?
71
+ e.message :
72
+ "Unknown Error"
73
+ });
72
74
  }
73
75
  });
74
- }
75
- exports.default = setupRecrawlEndpoint;
76
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"setupRecrawlEndpoint.js","sourceRoot":"","sources":["../src/setupRecrawlEndpoint.ts"],"names":[],"mappings":";;AAgCA;;;;;;;;;;;;;GAaG;AACH,SAAwB,oBAAoB,CACxC,MAAmB,EACnB,OAAsB,EACtB,OAAgB;IAEhB,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;QAC1C,IAAI;YACA,IAAI,OAAO,CAAC,YAAY,EAAE,EAAE;gBACxB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACtB,SAAS,EAAE,IAAI;oBACf,YAAY,EAAE,KAAK;iBACtB,CAAC,CAAC;aACN;iBAAM;gBACH,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACtB,SAAS,EAAE,IAAI;oBACf,YAAY,EAAE,IAAI;iBACrB,CAAC,CAAC;aACN;SACJ;QAAC,OAAO,CAAC,EAAE;YACR,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACtB,SAAS,EAAE,KAAK;gBAChB,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aACxD,CAAC,CAAC;SACN;IACL,CAAC,CAAC,CAAC;IAEH;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;QACjD,IAAI;YACA,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YACvC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACtB,SAAS,EAAE,IAAI;gBACf,QAAQ;aACX,CAAC,CAAC;SACN;QAAC,OAAO,CAAC,EAAE;YACR,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACtB,SAAS,EAAE,KAAK;gBAChB,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aACxD,CAAC,CAAC;SACN;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AA3DD,uCA2DC"}
1
+ {"version":3,"file":"setupRecrawlEndpoint.js","sourceRoot":"","sources":["../src/setupRecrawlEndpoint.ts"],"names":[],"mappings":"AAgCA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CACxC,MAAmB,EACnB,OAAsB,EACtB,OAAgB;IAEhB,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;QAC1C,IAAI;YACA,IAAI,OAAO,CAAC,YAAY,EAAE,EAAE;gBACxB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACtB,SAAS,EAAE,IAAI;oBACf,YAAY,EAAE,KAAK;iBACtB,CAAC,CAAC;aACN;iBAAM;gBACH,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACtB,SAAS,EAAE,IAAI;oBACf,YAAY,EAAE,IAAI;iBACrB,CAAC,CAAC;aACN;SACJ;QAAC,OAAO,CAAC,EAAE;YACR,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACtB,SAAS,EAAE,KAAK;gBAChB,YAAY,EAAG,CAAS,EAAE,OAAO;oBAC7B,CAAC,CAAE,CAAS,CAAC,OAAO;oBACpB,CAAC,CAAC,eAAe;aACxB,CAAC,CAAC;SACN;IACL,CAAC,CAAC,CAAC;IAEH;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;QACjD,IAAI;YACA,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YACvC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACtB,SAAS,EAAE,IAAI;gBACf,QAAQ;aACX,CAAC,CAAC;SACN;QAAC,OAAO,CAAC,EAAE;YACR,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACtB,SAAS,EAAE,KAAK;gBAChB,YAAY,EAAG,CAAS,CAAC,OAAO;oBAC5B,CAAC,CAAE,CAAS,CAAC,OAAO;oBACpB,CAAC,CAAC,eAAe;aACxB,CAAC,CAAC;SACN;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import express from "express";
2
- import Registry from "@magda/typescript-common/dist/registry/AuthorizedRegistryClient";
3
- import MinionOptions from "./MinionOptions";
2
+ import Registry from "@magda/typescript-common/dist/registry/AuthorizedRegistryClient.js";
3
+ import MinionOptions from "./MinionOptions.js";
4
4
  export default function setupWebhookEndpoint(server: express.Application, options: MinionOptions, registry: Registry): void;
@@ -1,37 +1,13 @@
1
- "use strict";
2
- var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function () {return m[k];} });
5
- } : function (o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- });
9
- var __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- } : function (o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = this && this.__importStar || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = this && this.__importDefault || function (mod) {
22
- return mod && mod.__esModule ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- const lodash_1 = __importDefault(require("lodash"));
26
- const unionToThrowable_1 = __importDefault(require("@magda/typescript-common/dist/util/unionToThrowable"));
27
- const AsyncPage_1 = __importStar(require("@magda/typescript-common/dist/AsyncPage"));
28
- function setupWebhookEndpoint(server, options, registry) {
1
+ import _ from "lodash";
2
+ import unionToThrowable from "@magda/typescript-common/dist/util/unionToThrowable.js";
3
+ import AsyncPage, { forEachAsync } from "@magda/typescript-common/dist/AsyncPage.js";
4
+ export default function setupWebhookEndpoint(server, options, registry) {
29
5
  server.post("/hook", (request, response) => {
30
6
  const payload = request.body;
31
- const recordsPage = AsyncPage_1.default.single(payload.records);
32
- const megaPromise = AsyncPage_1.forEachAsync(recordsPage, options.concurrency || 1, record => options.onRecordFound(record, registry));
33
- const lastEventIdExists = !lodash_1.default.isUndefined(payload.lastEventId);
34
- const deferredResponseUrlExists = !lodash_1.default.isUndefined(payload.deferredResponseUrl);
7
+ const recordsPage = AsyncPage.single(payload.records);
8
+ const megaPromise = forEachAsync(recordsPage, options.concurrency || 1, (record) => options.onRecordFound(record, registry));
9
+ const lastEventIdExists = !_.isUndefined(payload.lastEventId);
10
+ const deferredResponseUrlExists = !_.isUndefined(payload.deferredResponseUrl);
35
11
  if (options.async) {
36
12
  if (!lastEventIdExists) {
37
13
  console.warn("No event id was passed so the minion can't operate asynchronously - reverting to synchronous mode");
@@ -45,17 +21,17 @@ function setupWebhookEndpoint(server, options, registry) {
45
21
  deferredResponseUrlExists) {
46
22
  response.status(201).send({
47
23
  status: "Working",
48
- deferResponse: true });
49
-
50
- const sendResult = success => registry.
24
+ deferResponse: true
25
+ });
26
+ const sendResult = (success) => registry.
51
27
  resumeHook(options.id, success, payload.lastEventId).
52
- then(unionToThrowable_1.default).
53
- then(result => {
28
+ then(unionToThrowable).
29
+ then((result) => {
54
30
  console.info("Successfully posted back to registry for event " +
55
31
  payload.lastEventId);
56
32
  return result;
57
33
  }).
58
- catch(error => {
34
+ catch((error) => {
59
35
  console.error(error);
60
36
  throw error;
61
37
  });
@@ -63,10 +39,10 @@ function setupWebhookEndpoint(server, options, registry) {
63
39
  then(() =>
64
40
  // On success, send the result as true, if we fail to send the result (even though the hook worked) then just log
65
41
  // the error - this is presumably because the registry has gone down, when it comes back up it'll resume the hook.
66
- sendResult(true).catch(err => {
42
+ sendResult(true).catch((err) => {
67
43
  console.error(err);
68
44
  })).
69
- catch(err => {
45
+ catch((err) => {
70
46
  // Something has actually gone wrong with the minion behaviour itself that hasn't been handled by the minion.
71
47
  // We class this as pretty catastrophic, so we log it and shut down the hook (set to inactive)
72
48
  // TODO: Figure out some way to notify of failures.
@@ -80,17 +56,16 @@ function setupWebhookEndpoint(server, options, registry) {
80
56
  then(() => {
81
57
  response.status(201).send({
82
58
  status: "Received",
83
- deferResponse: false });
84
-
59
+ deferResponse: false
60
+ });
85
61
  }).
86
- catch(e => {
62
+ catch((e) => {
87
63
  console.error(e);
88
64
  response.status(500).send({
89
65
  status: "Error",
90
- deferResponse: false });
91
-
66
+ deferResponse: false
67
+ });
92
68
  });
93
69
  }
94
70
  });
95
- }
96
- exports.default = setupWebhookEndpoint;
71
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"setupWebhookEndpoint.js","sourceRoot":"","sources":["../src/setupWebhookEndpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setupWebhookEndpoint.js","sourceRoot":"","sources":["../src/setupWebhookEndpoint.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import MinionOptions from "./MinionOptions";
1
+ import MinionOptions from "./MinionOptions.js";
2
2
  import { Application } from "express";
3
3
  export default function startApiEndpoints(server: Application, options: MinionOptions): void;
@@ -1,14 +1,8 @@
1
- "use strict";
2
- var __importDefault = this && this.__importDefault || function (mod) {
3
- return mod && mod.__esModule ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const getWebhookUrl_1 = __importDefault(require("./getWebhookUrl"));
7
- function startApiEndpoints(server, options) {
1
+ import getWebhookUrl from "./getWebhookUrl.js";
2
+ export default function startApiEndpoints(server, options) {
8
3
  function getPort() {
9
4
  return options.argv.listenPort;
10
5
  }
11
6
  server.listen(getPort());
12
- console.info(`Listening at ${getWebhookUrl_1.default(options)}`);
13
- }
14
- exports.default = startApiEndpoints;
7
+ console.info(`Listening at ${getWebhookUrl(options)}`);
8
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"startApiEndpoints.js","sourceRoot":"","sources":["../src/startApiEndpoints.ts"],"names":[],"mappings":";;;;;AAAA,oEAA4C;AAI5C,SAAwB,iBAAiB,CACrC,MAAmB,EACnB,OAAsB;IAEtB,SAAS,OAAO;QACZ,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACzB,OAAO,CAAC,IAAI,CAAC,gBAAgB,uBAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC3D,CAAC;AAVD,oCAUC"}
1
+ {"version":3,"file":"startApiEndpoints.js","sourceRoot":"","sources":["../src/startApiEndpoints.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAI/C,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACrC,MAAmB,EACnB,OAAsB;IAEtB,SAAS,OAAO;QACZ,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACzB,OAAO,CAAC,IAAI,CAAC,gBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC3D,CAAC"}
@@ -1,102 +1,86 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const nock_1 = __importDefault(require("nock"));
16
- const lodash_1 = __importDefault(require("lodash"));
17
- const chai_1 = require("chai");
18
- const query_string_1 = __importDefault(require("query-string"));
19
- const AuthorizedRegistryClient_1 = __importDefault(require("magda-typescript-common/src/registry/AuthorizedRegistryClient"));
20
- const arbitraries_1 = require("magda-typescript-common/src/test/arbitraries");
21
- const jsverify_1 = __importDefault(require("magda-typescript-common/src/test/jsverify"));
22
- const fakeArgv_1 = __importDefault(require("./fakeArgv"));
23
- const baseSpec_1 = __importDefault(require("./baseSpec"));
24
- const Crawler_1 = __importDefault(require("../Crawler"));
25
- const TenantConsts_1 = require("magda-typescript-common/src/registry/TenantConsts");
1
+ import nock from "nock";
2
+ import _ from "lodash";
3
+ import { expect } from "chai";
4
+ import queryString from "query-string";
5
+ import Registry from "magda-typescript-common/src/registry/AuthorizedRegistryClient.js";
6
+ import { lcAlphaNumStringArbNe } from "magda-typescript-common/src/test/arbitraries.js";
7
+ import jsc from "jsverify";
8
+ import fakeArgv from "./fakeArgv.js";
9
+ import baseSpec from "./baseSpec.js";
10
+ import Crawler from "../Crawler.js";
11
+ import { MAGDA_ADMIN_PORTAL_ID } from "magda-typescript-common/src/registry/TenantConsts.js";
26
12
  const DEFAULT_CRAWLER_RECORD_FETCH_NUMBER = 198;
27
- baseSpec_1.default("Crawler", (expressApp, _expressServer, listenPort, beforeEachProperty) => {
13
+ baseSpec("Crawler", (expressApp, _expressServer, listenPort, beforeEachProperty) => {
28
14
  //--- avoid different property test hit into the same registry domain
29
15
  let registryDomainCounter = 0;
30
16
  //--- function implements generic crawler testing logic
31
- function basecrawlerTest(registryTotalRecordsNumber, domain, jwtSecret, concurrency, async, enableMultiTenant,
17
+ async function basecrawlerTest(registryTotalRecordsNumber, domain, jwtSecret, concurrency, async, enableMultiTenant,
32
18
  // --- init func creates other context variables shared among callbacks
33
19
  envInit, onRecordFound, registryReplyFunc, propertyCheckingFunc) {
34
- return __awaiter(this, void 0, void 0, function* () {
35
- beforeEachProperty();
36
- const internalUrl = `http://${domain}.com`;
37
- const registryDomain = "registry_" + registryDomainCounter;
38
- const tenantDomain = "tenant_" + registryDomainCounter;
39
- registryDomainCounter++;
40
- const registryUrl = `http://${registryDomain}.com:80`;
41
- const tenantUrl = `http://${tenantDomain}.com:80`;
42
- const registryScope = nock_1.default(registryUrl);
43
- const tenantId = TenantConsts_1.MAGDA_ADMIN_PORTAL_ID;
44
- const userId = "b1fddd6f-e230-4068-bd2c-1a21844f1598";
45
- const registry = new AuthorizedRegistryClient_1.default({
46
- baseUrl: registryUrl,
47
- jwtSecret: jwtSecret,
48
- userId: userId,
49
- tenantId: tenantId
50
- });
51
- let context = {
52
- registryTotalRecordsNumber,
53
- domain,
20
+ beforeEachProperty();
21
+ const internalUrl = `http://${domain}.com`;
22
+ const registryDomain = "registry_" + registryDomainCounter;
23
+ const tenantDomain = "tenant_" + registryDomainCounter;
24
+ registryDomainCounter++;
25
+ const registryUrl = `http://${registryDomain}.com:80`;
26
+ const tenantUrl = `http://${tenantDomain}.com:80`;
27
+ const registryScope = nock(registryUrl);
28
+ const tenantId = MAGDA_ADMIN_PORTAL_ID;
29
+ const userId = "b1fddd6f-e230-4068-bd2c-1a21844f1598";
30
+ const registry = new Registry({
31
+ baseUrl: registryUrl,
32
+ jwtSecret: jwtSecret,
33
+ userId: userId,
34
+ tenantId: tenantId
35
+ });
36
+ let context = {
37
+ registryTotalRecordsNumber,
38
+ domain,
39
+ jwtSecret,
40
+ userId,
41
+ concurrency,
42
+ async,
43
+ registryScope,
44
+ registry
45
+ };
46
+ const env = envInit.bind(context)();
47
+ if (env && typeof env === "object")
48
+ context = { ...context, ...env };
49
+ const options = {
50
+ argv: fakeArgv({
51
+ internalUrl,
52
+ registryUrl,
53
+ enableMultiTenant,
54
+ tenantUrl,
54
55
  jwtSecret,
55
56
  userId,
56
- concurrency,
57
- async,
58
- registryScope,
59
- registry
60
- };
61
- const env = envInit.bind(context)();
62
- if (env && typeof env === "object")
63
- context = Object.assign(Object.assign({}, context), env);
64
- const options = {
65
- argv: fakeArgv_1.default({
66
- internalUrl,
67
- registryUrl,
68
- enableMultiTenant,
69
- tenantUrl,
70
- jwtSecret,
71
- userId,
72
- listenPort: listenPort(),
73
- crawlerRecordFetchNumber: DEFAULT_CRAWLER_RECORD_FETCH_NUMBER
74
- }),
75
- id: "id",
76
- aspects: [],
77
- optionalAspects: [],
78
- writeAspectDefs: [],
79
- async,
80
- express: expressApp,
81
- concurrency: concurrency,
82
- onRecordFound: onRecordFound.bind(context)
83
- };
84
- registryScope
85
- .persist()
86
- .get("/records")
87
- .query(true)
88
- .reply(registryReplyFunc.bind(context));
89
- const crawler = new Crawler_1.default(registry, options);
90
- context.crawler = crawler;
91
- yield crawler.start();
92
- registryScope.done();
93
- return propertyCheckingFunc.bind(context)();
94
- });
57
+ listenPort: listenPort(),
58
+ crawlerRecordFetchNumber: DEFAULT_CRAWLER_RECORD_FETCH_NUMBER
59
+ }),
60
+ id: "id",
61
+ aspects: [],
62
+ optionalAspects: [],
63
+ writeAspectDefs: [],
64
+ async,
65
+ express: expressApp,
66
+ concurrency: concurrency,
67
+ onRecordFound: onRecordFound.bind(context)
68
+ };
69
+ registryScope
70
+ .persist()
71
+ .get("/records")
72
+ .query(true)
73
+ .reply(registryReplyFunc.bind(context));
74
+ const crawler = new Crawler(registry, options);
75
+ context.crawler = crawler;
76
+ await crawler.start();
77
+ registryScope.done();
78
+ return propertyCheckingFunc.bind(context)();
95
79
  }
96
80
  function basePropertyTest(
97
81
  // --- init func creates other context variables shared among callbacks
98
82
  envInit, onRecordFound, registryReplyFunc, propertyCheckingFunc) {
99
- return jsverify_1.default.assert(jsverify_1.default.forall(jsverify_1.default.nat(100), arbitraries_1.lcAlphaNumStringArbNe, arbitraries_1.lcAlphaNumStringArbNe, jsverify_1.default.integer(1, 10), jsverify_1.default.bool, jsverify_1.default.bool, lodash_1.default.partialRight(basecrawlerTest, envInit, onRecordFound, registryReplyFunc, propertyCheckingFunc)));
83
+ return jsc.assert(jsc.forall(jsc.nat(100), lcAlphaNumStringArbNe, lcAlphaNumStringArbNe, jsc.integer(1, 10), jsc.bool, jsc.bool, _.partialRight(basecrawlerTest, envInit, onRecordFound, registryReplyFunc, propertyCheckingFunc)));
100
84
  }
101
85
  it("should crawl all records in registry ONCE start() called ", () => {
102
86
  return basePropertyTest(function () {
@@ -108,7 +92,7 @@ baseSpec_1.default("Crawler", (expressApp, _expressServer, listenPort, beforeEac
108
92
  name: "",
109
93
  aspects: {},
110
94
  sourceTag: "",
111
- tenantId: TenantConsts_1.MAGDA_ADMIN_PORTAL_ID
95
+ tenantId: MAGDA_ADMIN_PORTAL_ID
112
96
  }));
113
97
  return { recordsTestTable, registryRecords };
114
98
  }, function (foundRecord, registry) {
@@ -120,12 +104,12 @@ baseSpec_1.default("Crawler", (expressApp, _expressServer, listenPort, beforeEac
120
104
  return Promise.resolve();
121
105
  }, function (uri, requestBody) {
122
106
  //---registryReplyFunc
123
- const params = query_string_1.default.parseUrl(uri).query;
107
+ const params = queryString.parseUrl(uri).query;
124
108
  const pageIdx = params.pageToken
125
109
  ? parseInt(params.pageToken, 10)
126
110
  : 0;
127
111
  const limit = parseInt(params.limit, 10);
128
- chai_1.expect(limit).to.equal(DEFAULT_CRAWLER_RECORD_FETCH_NUMBER);
112
+ expect(limit).to.equal(DEFAULT_CRAWLER_RECORD_FETCH_NUMBER);
129
113
  if (limit < 1) {
130
114
  throw new Error("Invalid limit param received!");
131
115
  }
@@ -168,7 +152,7 @@ baseSpec_1.default("Crawler", (expressApp, _expressServer, listenPort, beforeEac
168
152
  name: "",
169
153
  aspects: {},
170
154
  sourceTag: "",
171
- tenantId: TenantConsts_1.MAGDA_ADMIN_PORTAL_ID
155
+ tenantId: MAGDA_ADMIN_PORTAL_ID
172
156
  }));
173
157
  return {
174
158
  totalCrawledRecordsNumber,
@@ -178,7 +162,7 @@ baseSpec_1.default("Crawler", (expressApp, _expressServer, listenPort, beforeEac
178
162
  return Promise.resolve();
179
163
  }, function (uri, requestBody) {
180
164
  //---registryReplyFunc
181
- const params = query_string_1.default.parseUrl(uri).query;
165
+ const params = queryString.parseUrl(uri).query;
182
166
  const pageIdx = params.pageToken
183
167
  ? parseInt(params.pageToken, 10)
184
168
  : 0;
@@ -200,7 +184,7 @@ baseSpec_1.default("Crawler", (expressApp, _expressServer, listenPort, beforeEac
200
184
  const crawlingPageToken = String(crawlingPageTokenValue);
201
185
  this.totalCrawledRecordsNumber += recordPage.length;
202
186
  const progress = this.crawler.getProgress();
203
- chai_1.expect(progress).to.deep.equal({
187
+ expect(progress).to.deep.equal({
204
188
  isCrawling: true,
205
189
  crawlingPageToken: String(pageIdx ? pageIdx : ""),
206
190
  crawledRecordNumber: pageIdx
@@ -1 +1 @@
1
- {"version":3,"file":"Crawler.spec.js","sourceRoot":"","sources":["../../src/test/Crawler.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Crawler.spec.js","sourceRoot":"","sources":["../../src/test/Crawler.spec.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
- /// <reference types="node" />
1
+ /// <reference types="node" resolution-mode="require"/>
2
2
  import express from "express";
3
3
  import { Server } from "http";
4
4
  /**
5
- * This performs functions common to all the minion framework tests, like muting error logging
6
- * (because we'll be deliberately causing errors in tests), finding free ports to listen on for
7
- * testing the API, and setting up an express app to test against.
8
- *
9
- * @param caption The caption to put in the "describe" block that goes around this test
10
- * @param fn A function in which to execute tests - this passes a number of arguments as no-arg functions
11
- * that will return the latest value - these values change during test setup so they can't be
12
- * passed directly during the test setup.
13
- */
5
+ * This performs functions common to all the minion framework tests, like muting error logging
6
+ * (because we'll be deliberately causing errors in tests), finding free ports to listen on for
7
+ * testing the API, and setting up an express app to test against.
8
+ *
9
+ * @param caption The caption to put in the "describe" block that goes around this test
10
+ * @param fn A function in which to execute tests - this passes a number of arguments as no-arg functions
11
+ * that will return the latest value - these values change during test setup so they can't be
12
+ * passed directly during the test setup.
13
+ */
14
14
  export default function baseSpec(caption: string, fn: (expressApp: () => express.Express, expressServer: () => Server, listenPort: () => number, beforeEachProperty: () => void) => void): void;