teraslice-test-harness 0.30.0 → 1.0.1

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.
@@ -1,5 +1,5 @@
1
1
  /// <reference types="node" />
2
- import { TestContext, JobConfig, ExecutionContextConfig, Assignment, TestClientConfig, ClusterManagerType } from '@terascope/job-components';
2
+ import { TestContext, JobConfigParams, ExecutionContextConfig, Assignment, TestClientConfig, ClusterManagerType } from '@terascope/job-components';
3
3
  import { EventEmitter } from 'events';
4
4
  import { JobHarnessOptions, ExecutionContext } from './interfaces';
5
5
  /**
@@ -9,15 +9,18 @@ import { JobHarnessOptions, ExecutionContext } from './interfaces';
9
9
  */
10
10
  export default class BaseTestHarness<U extends ExecutionContext> {
11
11
  readonly events: EventEmitter;
12
- readonly executionContext: U;
12
+ executionContext: U;
13
13
  readonly context: TestContext;
14
- constructor(job: JobConfig, options: JobHarnessOptions, assignment: Assignment);
14
+ readonly job: JobConfigParams;
15
+ readonly assetPaths: string[];
16
+ readonly clusterType?: ClusterManagerType;
17
+ constructor(job: JobConfigParams, options: JobHarnessOptions, assignment: Assignment);
15
18
  /**
16
- * Initialize any test cod
19
+ * Initialize any test code
17
20
  */
18
21
  initialize(): Promise<void>;
19
22
  setClients(clients: TestClientConfig[]): void;
20
- protected makeContextConfig(job: JobConfig, assets?: string[], cluster_manager_type?: ClusterManagerType): ExecutionContextConfig;
23
+ protected makeContextConfig(job: JobConfigParams, assets?: string[], cluster_manager_type?: ClusterManagerType): Promise<ExecutionContextConfig>;
21
24
  private _getAssetDirs;
22
25
  /**
23
26
  * Cleanup test code
@@ -1 +1 @@
1
- {"version":3,"file":"base-test-harness.d.ts","sourceRoot":"","sources":["../../src/base-test-harness.ts"],"names":[],"mappings":";AAAA,OAAO,EAC4B,WAAW,EAC1C,SAAS,EAAE,sBAAsB,EAAE,UAAU,EACvB,gBAAgB,EACtC,kBAAkB,EACrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EACH,iBAAiB,EACjB,gBAAgB,EACnB,MAAM,cAAc,CAAC;AAGtB;;;;EAIE;AACF,MAAM,CAAC,OAAO,OAAO,eAAe,CAAC,CAAC,SAAS,gBAAgB;IAC3D,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;gBAElB,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU;IAgB9E;;MAEE;IACI,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAGjC,UAAU,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAI7C,SAAS,CAAC,iBAAiB,CACvB,GAAG,EAAE,SAAS,EACd,MAAM,GAAE,MAAM,EAAoB,EAClC,oBAAoB,GAAE,kBAA6B,GACpD,sBAAsB;IAezB,OAAO,CAAC,aAAa;IAQrB;;MAEE;IACI,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGlC"}
1
+ {"version":3,"file":"base-test-harness.d.ts","sourceRoot":"","sources":["../../src/base-test-harness.ts"],"names":[],"mappings":";AAAA,OAAO,EAC4B,WAAW,EAC1C,eAAe,EAAE,sBAAsB,EAAE,UAAU,EAC7B,gBAAgB,EACtC,kBAAkB,EACrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EACH,iBAAiB,EACjB,gBAAgB,EACnB,MAAM,cAAc,CAAC;AAGtB;;;;EAIE;AACF,MAAM,CAAC,OAAO,OAAO,eAAe,CAAC,CAAC,SAAS,gBAAgB;IAC3D,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,gBAAgB,EAAG,CAAC,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAG,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;gBAE9B,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU;IAapF;;MAEE;IACI,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC,UAAU,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,IAAI;cAI7B,iBAAiB,CAC7B,GAAG,EAAE,eAAe,EACpB,MAAM,GAAE,MAAM,EAAoB,EAClC,oBAAoB,GAAE,kBAA6B,GACpD,OAAO,CAAC,sBAAsB,CAAC;IAelC,OAAO,CAAC,aAAa;IAQrB;;MAEE;IACI,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAMlC"}
@@ -1,39 +1,46 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const job_components_1 = require("@terascope/job-components");
4
- const utils_1 = require("./utils");
1
+ import { JobValidator, TestContext, makeExecutionContext, } from '@terascope/job-components';
2
+ import { resolveAssetDir } from './utils';
5
3
  /**
6
4
  * A base class for the Slicer and Worker TestHarnesses
7
5
  *
8
6
  * @todo Add support for validating the asset.json?
9
7
  */
10
- class BaseTestHarness {
8
+ export default class BaseTestHarness {
9
+ events;
10
+ executionContext;
11
+ context;
12
+ job;
13
+ assetPaths;
14
+ clusterType;
11
15
  constructor(job, options, assignment) {
12
16
  const testName = [assignment, job.name].filter((s) => s).join(':');
13
- this.context = new job_components_1.TestContext(testName, {
17
+ this.context = new TestContext(testName, {
14
18
  assignment,
15
19
  clients: options.clients,
16
20
  cluster_manager_type: options.cluster_manager_type,
17
21
  });
18
22
  this.events = this.context.apis.foundation.getSystemEvents();
19
- const config = this.makeContextConfig(job, this._getAssetDirs(options.assetDir), options.cluster_manager_type);
20
- this.executionContext = (0, job_components_1.makeExecutionContext)(config);
23
+ this.job = job;
24
+ this.assetPaths = this._getAssetDirs(options.assetDir);
25
+ this.clusterType = options.cluster_manager_type;
21
26
  }
22
27
  /**
23
- * Initialize any test cod
28
+ * Initialize any test code
24
29
  */
25
30
  async initialize() {
31
+ const config = await this.makeContextConfig(this.job, this.assetPaths, this.clusterType);
32
+ this.executionContext = await makeExecutionContext(config);
26
33
  }
27
34
  setClients(clients) {
28
35
  this.context.apis.setTestClients(clients);
29
36
  }
30
- makeContextConfig(job, assets = [process.cwd()], cluster_manager_type = 'native') {
37
+ async makeContextConfig(job, assets = [process.cwd()], cluster_manager_type = 'native') {
31
38
  const assetIds = job.assets ? [...job.assets, '.'] : ['.'];
32
39
  this.context.sysconfig.teraslice.assets_directory = assets;
33
40
  this.context.sysconfig.teraslice.cluster_manager_type = cluster_manager_type;
34
41
  job.assets = assetIds;
35
- const jobValidator = new job_components_1.JobValidator(this.context);
36
- const executionConfig = jobValidator.validateConfig(job);
42
+ const jobValidator = new JobValidator(this.context);
43
+ const executionConfig = await jobValidator.validateConfig(job);
37
44
  return {
38
45
  context: this.context,
39
46
  executionConfig,
@@ -42,16 +49,18 @@ class BaseTestHarness {
42
49
  }
43
50
  _getAssetDirs(assetDir = [process.cwd()]) {
44
51
  if (Array.isArray(assetDir)) {
45
- return (0, utils_1.resolveAssetDir)(assetDir);
52
+ return resolveAssetDir(assetDir);
46
53
  }
47
- return (0, utils_1.resolveAssetDir)([assetDir]);
54
+ return resolveAssetDir([assetDir]);
48
55
  }
49
56
  /**
50
57
  * Cleanup test code
51
58
  */
52
59
  async shutdown() {
53
60
  this.events.removeAllListeners();
61
+ if (this.executionContext) {
62
+ await this.executionContext.shutdown();
63
+ }
54
64
  }
55
65
  }
56
- exports.default = BaseTestHarness;
57
66
  //# sourceMappingURL=base-test-harness.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-test-harness.js","sourceRoot":"","sources":["../../src/base-test-harness.ts"],"names":[],"mappings":";;AAAA,8DAKmC;AAMnC,mCAA0C;AAE1C;;;;EAIE;AACF,MAAqB,eAAe;IAKhC,YAAY,GAAc,EAAE,OAA0B,EAAE,UAAsB;QAC1E,MAAM,QAAQ,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,GAAG,IAAI,4BAAW,CAAC,QAAQ,EAAE;YACrC,UAAU;YACV,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;SACrD,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CACjC,GAAG,EACH,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,EACpC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAClC,IAAI,CAAC,gBAAgB,GAAG,IAAA,qCAAoB,EAAC,MAAM,CAAM,CAAC;IAC9D,CAAC;IAED;;MAEE;IACF,KAAK,CAAC,UAAU;IAChB,CAAC;IAED,UAAU,CAAC,OAA2B;QAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAES,iBAAiB,CACvB,GAAc,EACd,SAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAClC,uBAA2C,QAAQ;QAEnD,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,gBAAgB,GAAG,MAAM,CAAC;QAC3D,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QAC7E,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC;QAEtB,MAAM,YAAY,GAAG,IAAI,6BAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,eAAe,GAAG,YAAY,CAAC,cAAc,CAAC,GAAG,CAAoB,CAAC;QAC5E,OAAO;YACH,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,eAAe;YACf,QAAQ;SACX,CAAC;IACN,CAAC;IAEO,aAAa,CAAC,WAA8B,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAC/D,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACzB,OAAO,IAAA,uBAAe,EAAC,QAAQ,CAAC,CAAC;SACpC;QAED,OAAO,IAAA,uBAAe,EAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvC,CAAC;IAED;;MAEE;IACF,KAAK,CAAC,QAAQ;QACV,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;IACrC,CAAC;CACJ;AAhED,kCAgEC"}
1
+ {"version":3,"file":"base-test-harness.js","sourceRoot":"","sources":["../../src/base-test-harness.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,22 @@
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
- exports.DownloadExternalAsset = void 0;
7
- const fs_extra_1 = __importDefault(require("fs-extra"));
8
- const path_1 = __importDefault(require("path"));
9
- const os_1 = __importDefault(require("os"));
10
- const decompress_1 = __importDefault(require("decompress"));
11
- const utils_1 = require("@terascope/utils");
12
- const fetch_github_release_1 = require("@terascope/fetch-github-release");
13
- class DownloadExternalAsset {
1
+ import fs from 'fs-extra';
2
+ import path from 'path';
3
+ import os from 'os';
4
+ import decompress from 'decompress';
5
+ import { TSError } from '@terascope/utils';
6
+ import { downloadRelease } from '@terascope/fetch-github-release';
7
+ export class DownloadExternalAsset {
8
+ zipped_path;
9
+ unzipped_path;
10
+ build;
14
11
  constructor() {
15
- this.zipped_path = path_1.default.join(path_1.default.resolve('./test/.cache'), 'downloads');
16
- this.unzipped_path = path_1.default.join(path_1.default.resolve('./test/.cache'), 'assets');
17
- this.build = `node-${this._majorNodeVersion()}-${os_1.default.platform()}-${os_1.default.arch()}.zip`;
12
+ this.zipped_path = path.join(path.resolve('./test/.cache'), 'downloads');
13
+ this.unzipped_path = path.join(path.resolve('./test/.cache'), 'assets');
14
+ this.build = `node-${this._majorNodeVersion()}-${os.platform()}-${os.arch()}.zip`;
18
15
  }
19
16
  async downloadExternalAsset(assetString) {
20
17
  const assetInfo = this._getAssetInfo(assetString);
21
18
  // check if asset exists in test/.cache/assets/asset-repo
22
- if (fs_extra_1.default.pathExistsSync(path_1.default.join(this.unzipped_path, assetInfo.repo, 'asset.json')))
19
+ if (fs.pathExistsSync(path.join(this.unzipped_path, assetInfo.repo, 'asset.json')))
23
20
  return;
24
21
  const zippedAssetPath = await this._getZippedFile(assetInfo);
25
22
  await this._unzipAsset(assetInfo, zippedAssetPath);
@@ -31,7 +28,7 @@ class DownloadExternalAsset {
31
28
  }
32
29
  async _downloadAssetZip(assetInfo) {
33
30
  try {
34
- const result = await (0, fetch_github_release_1.downloadRelease)(assetInfo.account, assetInfo.repo, this.zipped_path, // dir where zipped file will be stored
31
+ const result = await downloadRelease(assetInfo.account, assetInfo.repo, this.zipped_path, // dir where zipped file will be stored
35
32
  this._filterReleaseFunc(assetInfo.version), this._filterAssetFunc(), true, // leave zipped
36
33
  false // quiet
37
34
  );
@@ -42,13 +39,13 @@ class DownloadExternalAsset {
42
39
  }
43
40
  }
44
41
  async _unzipAsset(assetInfo, zippedAssetPath) {
45
- const unzippedAsset = path_1.default.join(this.unzipped_path, assetInfo.repo);
42
+ const unzippedAsset = path.join(this.unzipped_path, assetInfo.repo);
46
43
  await this._ensureDirExists(unzippedAsset);
47
44
  try {
48
- await (0, decompress_1.default)(zippedAssetPath, unzippedAsset);
45
+ await decompress(zippedAssetPath, unzippedAsset);
49
46
  }
50
47
  catch (err) {
51
- throw new utils_1.TSError(err, {
48
+ throw new TSError(err, {
52
49
  reason: `Failure to unzip asset: ${assetInfo.asset_string}`
53
50
  });
54
51
  }
@@ -82,10 +79,10 @@ class DownloadExternalAsset {
82
79
  }
83
80
  async _ensureDirExists(dirPath) {
84
81
  try {
85
- await fs_extra_1.default.ensureDir(dirPath);
82
+ await fs.ensureDir(dirPath);
86
83
  }
87
84
  catch (err) {
88
- throw new utils_1.TSError(err, {
85
+ throw new TSError(err, {
89
86
  reason: `Failure creating ${dirPath}`
90
87
  });
91
88
  }
@@ -108,5 +105,4 @@ class DownloadExternalAsset {
108
105
  return process.version.split('.', 1)[0].slice(1);
109
106
  }
110
107
  }
111
- exports.DownloadExternalAsset = DownloadExternalAsset;
112
108
  //# sourceMappingURL=download-external-asset.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"download-external-asset.js","sourceRoot":"","sources":["../../src/download-external-asset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"download-external-asset.js","sourceRoot":"","sources":["../../src/download-external-asset.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
1
  import { newTestSlice, newTestJobConfig } from '@terascope/job-components';
2
2
  import JobTestHarness from './job-test-harness';
3
- import OpTestHarness from './op-test-harness';
4
3
  import SlicerTestHarness from './slicer-test-harness';
5
4
  import WorkerTestHarness from './worker-test-harness';
6
5
  export * from './download-external-asset';
7
6
  export * from './interfaces';
8
- export { JobTestHarness, OpTestHarness, SlicerTestHarness, WorkerTestHarness, newTestSlice, newTestJobConfig, };
7
+ export { JobTestHarness, SlicerTestHarness, WorkerTestHarness, newTestSlice, newTestJobConfig, };
9
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAChD,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAC9C,OAAO,iBAAiB,MAAM,uBAAuB,CAAC;AACtD,OAAO,iBAAiB,MAAM,uBAAuB,CAAC;AAEtD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,OAAO,EACH,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,GACnB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAChD,OAAO,iBAAiB,MAAM,uBAAuB,CAAC;AACtD,OAAO,iBAAiB,MAAM,uBAAuB,CAAC;AAEtD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,OAAO,EACH,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,GACnB,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,34 +1,8 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- var __importDefault = (this && this.__importDefault) || function (mod) {
17
- return (mod && mod.__esModule) ? mod : { "default": mod };
18
- };
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.newTestJobConfig = exports.newTestSlice = exports.WorkerTestHarness = exports.SlicerTestHarness = exports.OpTestHarness = exports.JobTestHarness = void 0;
21
- const job_components_1 = require("@terascope/job-components");
22
- Object.defineProperty(exports, "newTestSlice", { enumerable: true, get: function () { return job_components_1.newTestSlice; } });
23
- Object.defineProperty(exports, "newTestJobConfig", { enumerable: true, get: function () { return job_components_1.newTestJobConfig; } });
24
- const job_test_harness_1 = __importDefault(require("./job-test-harness"));
25
- exports.JobTestHarness = job_test_harness_1.default;
26
- const op_test_harness_1 = __importDefault(require("./op-test-harness"));
27
- exports.OpTestHarness = op_test_harness_1.default;
28
- const slicer_test_harness_1 = __importDefault(require("./slicer-test-harness"));
29
- exports.SlicerTestHarness = slicer_test_harness_1.default;
30
- const worker_test_harness_1 = __importDefault(require("./worker-test-harness"));
31
- exports.WorkerTestHarness = worker_test_harness_1.default;
32
- __exportStar(require("./download-external-asset"), exports);
33
- __exportStar(require("./interfaces"), exports);
1
+ import { newTestSlice, newTestJobConfig } from '@terascope/job-components';
2
+ import JobTestHarness from './job-test-harness';
3
+ import SlicerTestHarness from './slicer-test-harness';
4
+ import WorkerTestHarness from './worker-test-harness';
5
+ export * from './download-external-asset';
6
+ export * from './interfaces';
7
+ export { JobTestHarness, SlicerTestHarness, WorkerTestHarness, newTestSlice, newTestJobConfig, };
34
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,8DAA2E;AAavE,6FAbK,6BAAY,OAaL;AACZ,iGAdmB,iCAAgB,OAcnB;AAbpB,0EAAgD;AAQ5C,yBARG,0BAAc,CAQH;AAPlB,wEAA8C;AAQ1C,wBARG,yBAAa,CAQH;AAPjB,gFAAsD;AAQlD,4BARG,6BAAiB,CAQH;AAPrB,gFAAsD;AAQlD,4BARG,6BAAiB,CAQH;AANrB,4DAA0C;AAC1C,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAChD,OAAO,iBAAiB,MAAM,uBAAuB,CAAC;AACtD,OAAO,iBAAiB,MAAM,uBAAuB,CAAC;AAEtD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,OAAO,EACH,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,GACnB,CAAC"}
@@ -1,6 +1,6 @@
1
- import { WorkerContext, WorkerExecutionContext, SlicerExecutionContext, TestClientConfig, ProcessorConstructor, SlicerConstructor, Slice, DataEntity, ClusterManagerType } from '@terascope/job-components';
1
+ import { WorkerExecutionContext, SlicerExecutionContext, TestClientConfig, ProcessorConstructor, SlicerConstructor, Slice, DataEntity, ClusterManagerType } from '@terascope/job-components';
2
+ export type { Context } from '@terascope/job-components';
2
3
  export type ExecutionContext = WorkerExecutionContext | SlicerExecutionContext;
3
- export type Context = WorkerContext;
4
4
  export interface JobHarnessOptions {
5
5
  assetDir?: string | string[];
6
6
  clients?: TestClientConfig[];
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,EACL,UAAU,EACV,kBAAkB,EACrB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,GAAC,sBAAsB,CAAC;AAC7E,MAAM,MAAM,OAAO,GAAG,aAAa,CAAC;AAEpC,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,oBAAoB,CAAC,EAAE,kBAAkB,CAAA;CAC5C;AAED,MAAM,WAAW,oBAAoB;IACjC,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAED,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,GAAC,iBAAiB,CAAC;AAE7E,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,UAAU,EAAE,CAAA;CACrB;AAED,MAAM,WAAW,SAAS;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,EACL,UAAU,EACV,kBAAkB,EACrB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEzD,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,GAAC,sBAAsB,CAAC;AAE7E,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,oBAAoB,CAAC,EAAE,kBAAkB,CAAA;CAC5C;AAED,MAAM,WAAW,oBAAoB;IACjC,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAED,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,GAAC,iBAAiB,CAAC;AAE7E,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,UAAU,EAAE,CAAA;CACrB;AAED,MAAM,WAAW,SAAS;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=interfaces.js.map
@@ -1,4 +1,4 @@
1
- import { DataEntity, JobConfig, TestClientConfig, FetcherCore, SlicerCore, SlicerRecoveryData } from '@terascope/job-components';
1
+ import { DataEntity, JobConfigParams, TestClientConfig, FetcherCore, SlicerCore, SlicerRecoveryData } from '@terascope/job-components';
2
2
  import SlicerTestHarness from './slicer-test-harness';
3
3
  import WorkerTestHarness from './worker-test-harness';
4
4
  import { JobHarnessOptions, SliceResults } from './interfaces';
@@ -13,7 +13,7 @@ import { JobHarnessOptions, SliceResults } from './interfaces';
13
13
  export default class JobTestHarness {
14
14
  readonly workerHarness: WorkerTestHarness;
15
15
  readonly slicerHarness: SlicerTestHarness;
16
- constructor(job: JobConfig, options: JobHarnessOptions);
16
+ constructor(job: JobConfigParams, options: JobHarnessOptions);
17
17
  slicer<T extends SlicerCore = SlicerCore>(): T;
18
18
  fetcher<T extends FetcherCore = FetcherCore>(): T;
19
19
  get processors(): WorkerTestHarness['processors'];
@@ -1 +1 @@
1
- {"version":3,"file":"job-test-harness.d.ts","sourceRoot":"","sources":["../../src/job-test-harness.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,UAAU,EACV,SAAS,EAIT,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,kBAAkB,EAGrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,iBAAiB,MAAM,uBAAuB,CAAC;AACtD,OAAO,iBAAiB,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE/D;;;;;;;EAOE;AAEF,MAAM,CAAC,OAAO,OAAO,cAAc;IAC/B,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;gBAE9B,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB;IAKtD,MAAM,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,KAAK,CAAC;IAI9C,OAAO,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,KAAK,CAAC;IAIjD,IAAI,UAAU,IAAI,iBAAiB,CAAC,YAAY,CAAC,CAEhD;IAED,IAAI,IAAI,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAEpC;IAED;;;MAGE;IACI,UAAU,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5D;;;;;MAKE;IACI,UAAU,CAAC,YAAY,CAAC,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpE;;;;;MAKE;IACI,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC;YAYtB,YAAY;IAoC1B;;;;MAIE;IACI,eAAe,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAiBhD;;MAEE;IACI,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAMlC;AAED,KAAK,QAAQ,GAAG,UAAU,EAAE,CAAC;AAC7B,MAAM,MAAM,cAAc,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"job-test-harness.d.ts","sourceRoot":"","sources":["../../src/job-test-harness.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,UAAU,EACV,eAAe,EAIf,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,kBAAkB,EAGrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,iBAAiB,MAAM,uBAAuB,CAAC;AACtD,OAAO,iBAAiB,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE/D;;;;;;;EAOE;AAEF,MAAM,CAAC,OAAO,OAAO,cAAc;IAC/B,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;gBAE9B,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,iBAAiB;IAK5D,MAAM,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,KAAK,CAAC;IAI9C,OAAO,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,KAAK,CAAC;IAIjD,IAAI,UAAU,IAAI,iBAAiB,CAAC,YAAY,CAAC,CAEhD;IAED,IAAI,IAAI,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAEpC;IAED;;;MAGE;IACI,UAAU,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5D;;;;;MAKE;IACI,UAAU,CAAC,YAAY,CAAC,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpE;;;;;MAKE;IACI,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC;YAYtB,YAAY;IAoC1B;;;;MAIE;IACI,eAAe,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAiBhD;;MAEE;IACI,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAMlC;AAED,KAAK,QAAQ,GAAG,UAAU,EAAE,CAAC;AAC7B,MAAM,MAAM,cAAc,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC"}
@@ -1,11 +1,6 @@
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 job_components_1 = require("@terascope/job-components");
7
- const slicer_test_harness_1 = __importDefault(require("./slicer-test-harness"));
8
- const worker_test_harness_1 = __importDefault(require("./worker-test-harness"));
1
+ import { pDelay, flatten, } from '@terascope/job-components';
2
+ import SlicerTestHarness from './slicer-test-harness';
3
+ import WorkerTestHarness from './worker-test-harness';
9
4
  /**
10
5
  * A test harness for both the Slicer and Fetcher,
11
6
  * utilizing both the Slicer and Worker test harnesses.
@@ -14,10 +9,12 @@ const worker_test_harness_1 = __importDefault(require("./worker-test-harness"));
14
9
  *
15
10
  * @todo Handle more than one worker?
16
11
  */
17
- class JobTestHarness {
12
+ export default class JobTestHarness {
13
+ workerHarness;
14
+ slicerHarness;
18
15
  constructor(job, options) {
19
- this.workerHarness = new worker_test_harness_1.default(job, options);
20
- this.slicerHarness = new slicer_test_harness_1.default(job, options);
16
+ this.workerHarness = new WorkerTestHarness(job, options);
17
+ this.slicerHarness = new SlicerTestHarness(job, options);
21
18
  }
22
19
  slicer() {
23
20
  return this.slicerHarness.slicer();
@@ -105,9 +102,9 @@ class JobTestHarness {
105
102
  .filter(Boolean);
106
103
  for (const slice of allSlices) {
107
104
  const sliceData = await this.processSlice(slice);
108
- await (0, job_components_1.pDelay)(1);
105
+ await pDelay(1);
109
106
  const dataLists = [...sliceData].filter(Boolean);
110
- const data = (0, job_components_1.flatten)(dataLists);
107
+ const data = flatten(dataLists);
111
108
  results.push({ slice, data });
112
109
  }
113
110
  return results;
@@ -122,5 +119,4 @@ class JobTestHarness {
122
119
  ]);
123
120
  }
124
121
  }
125
- exports.default = JobTestHarness;
126
122
  //# sourceMappingURL=job-test-harness.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"job-test-harness.js","sourceRoot":"","sources":["../../src/job-test-harness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"job-test-harness.js","sourceRoot":"","sources":["../../src/job-test-harness.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { SlicerExecutionContext, JobConfig, Slice, SliceRequest, SliceResult, ExecutionStats, SlicerCore, SlicerRecoveryData, APICore, OpAPI } from '@terascope/job-components';
1
+ import { SlicerExecutionContext, JobConfigParams, Slice, SliceRequest, SliceResult, ExecutionStats, SlicerCore, SlicerRecoveryData, APICore, OpAPI } from '@terascope/job-components';
2
2
  import BaseTestHarness from './base-test-harness';
3
3
  import { JobHarnessOptions } from './interfaces';
4
4
  /**
@@ -10,7 +10,7 @@ type SliceResults = (SliceRequest | Slice | null)[];
10
10
  export default class SlicerTestHarness extends BaseTestHarness<SlicerExecutionContext> {
11
11
  readonly stats: ExecutionStats;
12
12
  private _emitInterval;
13
- constructor(job: JobConfig, options: JobHarnessOptions);
13
+ constructor(job: JobConfigParams, options: JobHarnessOptions);
14
14
  slicer<T extends SlicerCore = SlicerCore>(): T;
15
15
  /**
16
16
  * Initialize the Operations on the ExecutionContext
@@ -1 +1 @@
1
- {"version":3,"file":"slicer-test-harness.d.ts","sourceRoot":"","sources":["../../src/slicer-test-harness.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,sBAAsB,EACtB,SAAS,EACT,KAAK,EACL,YAAY,EACZ,WAAW,EACX,cAAc,EACd,UAAU,EACV,kBAAkB,EAGlB,OAAO,EACP,KAAK,EACR,MAAM,2BAA2B,CAAC;AACnC,OAAO,eAAe,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;EAIE;AAEF,KAAK,YAAY,GAAG,CAAC,YAAY,GAAC,KAAK,GAAC,IAAI,CAAC,EAAE,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,eAAe,CAAC,sBAAsB,CAAC;IAClF,QAAQ,CAAC,KAAK,EAAE,cAAc,CAS5B;IAEF,OAAO,CAAC,aAAa,CAAM;gBAEf,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB;IAStD,MAAM,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,KAAK,CAAC;IAI9C;;;MAGE;IACI,UAAU,CAAC,YAAY,GAAE,kBAAkB,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBxE;;;;;;;;;;;;MAYE;IACI,YAAY,IAAI,OAAO,CAAC,CAAC,YAAY,GAAC,IAAI,CAAC,EAAE,CAAC;IAC9C,YAAY,CAAC,OAAO,EAAE;QAAE,YAAY,EAAE,KAAK,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,YAAY,GAAC,IAAI,CAAC,EAAE,CAAC;IAC9E,YAAY,CAAC,OAAO,EAAE;QAAE,YAAY,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,KAAK,GAAC,IAAI,CAAC,EAAE,CAAC;IA0CtE,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;IACrC,YAAY,CAAC,OAAO,EAAE;QAAE,YAAY,EAAE,KAAK,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,KAAK,GAAC,IAAI,CAAC,EAAE,CAAC;IACvE,YAAY,CAAC,OAAO,EAAE;QAAE,YAAY,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,YAAY,GAAC,IAAI,CAAC,EAAE,CAAC;IA2BnF,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM/B,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAInC,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAI1C,IAAI,IAAI,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAEzC;IAED;;;MAGE;IACF,MAAM,CAAC,CAAC,SAAS,KAAK,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAI9C;;;MAGE;IACF,eAAe,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAO7D;;MAEE;IACI,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAOlC"}
1
+ {"version":3,"file":"slicer-test-harness.d.ts","sourceRoot":"","sources":["../../src/slicer-test-harness.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,sBAAsB,EACtB,eAAe,EACf,KAAK,EACL,YAAY,EACZ,WAAW,EACX,cAAc,EACd,UAAU,EACV,kBAAkB,EAGlB,OAAO,EACP,KAAK,EACR,MAAM,2BAA2B,CAAC;AACnC,OAAO,eAAe,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;EAIE;AAEF,KAAK,YAAY,GAAG,CAAC,YAAY,GAAC,KAAK,GAAC,IAAI,CAAC,EAAE,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,eAAe,CAAC,sBAAsB,CAAC;IAClF,QAAQ,CAAC,KAAK,EAAE,cAAc,CAS5B;IAEF,OAAO,CAAC,aAAa,CAAM;gBAEf,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,iBAAiB;IAI5D,MAAM,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,KAAK,CAAC;IAI9C;;;MAGE;IACI,UAAU,CAAC,YAAY,GAAE,kBAAkB,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBxE;;;;;;;;;;;;MAYE;IACI,YAAY,IAAI,OAAO,CAAC,CAAC,YAAY,GAAC,IAAI,CAAC,EAAE,CAAC;IAC9C,YAAY,CAAC,OAAO,EAAE;QAAE,YAAY,EAAE,KAAK,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,YAAY,GAAC,IAAI,CAAC,EAAE,CAAC;IAC9E,YAAY,CAAC,OAAO,EAAE;QAAE,YAAY,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,KAAK,GAAC,IAAI,CAAC,EAAE,CAAC;IA0CtE,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;IACrC,YAAY,CAAC,OAAO,EAAE;QAAE,YAAY,EAAE,KAAK,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,KAAK,GAAC,IAAI,CAAC,EAAE,CAAC;IACvE,YAAY,CAAC,OAAO,EAAE;QAAE,YAAY,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,YAAY,GAAC,IAAI,CAAC,EAAE,CAAC;IA2BnF,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM/B,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAInC,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAI1C,IAAI,IAAI,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAEzC;IAED;;;MAGE;IACF,MAAM,CAAC,CAAC,SAAS,KAAK,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAI9C;;;MAGE;IACF,eAAe,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAO7D;;MAEE;IACI,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAMlC"}
@@ -1,27 +1,19 @@
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 job_components_1 = require("@terascope/job-components");
7
- const base_test_harness_1 = __importDefault(require("./base-test-harness"));
8
- class SlicerTestHarness extends base_test_harness_1.default {
1
+ import { times, isPlainObject } from '@terascope/job-components';
2
+ import BaseTestHarness from './base-test-harness';
3
+ export default class SlicerTestHarness extends BaseTestHarness {
4
+ stats = {
5
+ workers: {
6
+ available: 1,
7
+ connected: 1,
8
+ },
9
+ slices: {
10
+ processed: 0,
11
+ failed: 0,
12
+ }
13
+ };
14
+ _emitInterval;
9
15
  constructor(job, options) {
10
16
  super(job, options, 'execution_controller');
11
- this.stats = {
12
- workers: {
13
- available: 1,
14
- connected: 1,
15
- },
16
- slices: {
17
- processed: 0,
18
- failed: 0,
19
- }
20
- };
21
- const { config } = this.executionContext;
22
- if (config.recovered_execution && !this.slicer().isRecoverable()) {
23
- throw new Error('Slicer is not recoverable');
24
- }
25
17
  }
26
18
  slicer() {
27
19
  return this.executionContext.slicer();
@@ -32,13 +24,17 @@ class SlicerTestHarness extends base_test_harness_1.default {
32
24
  */
33
25
  async initialize(recoveryData = []) {
34
26
  await super.initialize();
27
+ const { config } = this.executionContext;
28
+ if (config.recovered_execution && !this.slicer().isRecoverable()) {
29
+ throw new Error('Slicer is not recoverable');
30
+ }
35
31
  // teraslice checks to see if slicer is recoverable
36
32
  // should throw test recoveryData if slicer is not recoverable
37
33
  if (recoveryData.length > 0) {
38
34
  if (!this.executionContext.slicer().isRecoverable()) {
39
35
  throw new Error('Slicer is not recoverable, please create the isRecoverable method and return true to enable recovery');
40
36
  }
41
- if (!recoveryData.every(job_components_1.isPlainObject)) {
37
+ if (!recoveryData.every(isPlainObject)) {
42
38
  throw new Error('recoveryData is malformed');
43
39
  }
44
40
  }
@@ -77,7 +73,7 @@ class SlicerTestHarness extends base_test_harness_1.default {
77
73
  }
78
74
  const remaining = slicers - sliceRequests.length;
79
75
  if (remaining > 0) {
80
- const nulls = (0, job_components_1.times)(remaining, () => null);
76
+ const nulls = times(remaining, () => null);
81
77
  return sliceRequests.concat(nulls);
82
78
  }
83
79
  return sliceRequests;
@@ -130,8 +126,7 @@ class SlicerTestHarness extends base_test_harness_1.default {
130
126
  * for the APIs that created during run time, use getAPI.
131
127
  */
132
128
  getOperationAPI(name) {
133
- var _a;
134
- if (!((_a = this.apis[name]) === null || _a === void 0 ? void 0 : _a.instance)) {
129
+ if (!this.apis[name]?.instance) {
135
130
  throw new Error(`Operation API "${name}" not found`);
136
131
  }
137
132
  return this.apis[name].instance;
@@ -144,8 +139,6 @@ class SlicerTestHarness extends base_test_harness_1.default {
144
139
  clearInterval(this._emitInterval);
145
140
  }
146
141
  await super.shutdown();
147
- await this.executionContext.shutdown();
148
142
  }
149
143
  }
150
- exports.default = SlicerTestHarness;
151
144
  //# sourceMappingURL=slicer-test-harness.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slicer-test-harness.js","sourceRoot":"","sources":["../../src/slicer-test-harness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slicer-test-harness.js","sourceRoot":"","sources":["../../src/slicer-test-harness.ts"],"names":[],"mappings":"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"}
package/dist/src/utils.js CHANGED
@@ -1,20 +1,14 @@
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
- exports.isAssetDirRoot = exports.isBaseAssetDir = exports.resolveAssetDir = void 0;
7
- const path_1 = __importDefault(require("path"));
8
- const fs_extra_1 = __importDefault(require("fs-extra"));
9
- function resolveAssetDir(configAssetDirs) {
1
+ import path from 'path';
2
+ import fs from 'fs-extra';
3
+ export function resolveAssetDir(configAssetDirs) {
10
4
  const assetDirs = Array.isArray(configAssetDirs) ? configAssetDirs : [configAssetDirs];
11
5
  return assetDirs.map((assetDir) => {
12
- const dirname = path_1.default.dirname(assetDir);
6
+ const dirname = path.dirname(assetDir);
13
7
  if (!dirname || dirname === '/' || dirname === process.env.HOME) {
14
8
  throw new Error(`${assetDir} is not a valid path`);
15
9
  }
16
10
  if (isAssetDirRoot(assetDir)) {
17
- return path_1.default.join(assetDir, 'asset');
11
+ return path.join(assetDir, 'asset');
18
12
  }
19
13
  if (isBaseAssetDir(assetDir)) {
20
14
  return assetDir;
@@ -22,16 +16,13 @@ function resolveAssetDir(configAssetDirs) {
22
16
  throw new Error(`Unable to find asset dir at path ${assetDir}`);
23
17
  });
24
18
  }
25
- exports.resolveAssetDir = resolveAssetDir;
26
- function isBaseAssetDir(assetDir) {
27
- const basename = path_1.default.basename(assetDir);
28
- const assetJson = path_1.default.join(assetDir, 'asset.json');
29
- return basename === 'asset' || fs_extra_1.default.existsSync(assetJson);
19
+ export function isBaseAssetDir(assetDir) {
20
+ const basename = path.basename(assetDir);
21
+ const assetJson = path.join(assetDir, 'asset.json');
22
+ return basename === 'asset' || fs.existsSync(assetJson);
30
23
  }
31
- exports.isBaseAssetDir = isBaseAssetDir;
32
- function isAssetDirRoot(assetDir) {
33
- const assetJson = path_1.default.join(assetDir, 'asset', 'asset.json');
34
- return fs_extra_1.default.existsSync(assetJson);
24
+ export function isAssetDirRoot(assetDir) {
25
+ const assetJson = path.join(assetDir, 'asset', 'asset.json');
26
+ return fs.existsSync(assetJson);
35
27
  }
36
- exports.isAssetDirRoot = isAssetDirRoot;
37
28
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,wDAA0B;AAE1B,SAAgB,eAAe,CAAC,eAAiC;IAC7D,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IAEvF,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC9B,MAAM,OAAO,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEvC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE;YAC7D,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,sBAAsB,CAAC,CAAC;SACtD;QAED,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE;YAC1B,OAAO,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;SACvC;QAED,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE;YAC1B,OAAO,QAAQ,CAAC;SACnB;QAED,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,EAAE,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACP,CAAC;AApBD,0CAoBC;AAED,SAAgB,cAAc,CAAC,QAAgB;IAC3C,MAAM,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACpD,OAAO,QAAQ,KAAK,OAAO,IAAI,kBAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAC5D,CAAC;AAJD,wCAIC;AAED,SAAgB,cAAc,CAAC,QAAgB;IAC3C,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAC7D,OAAO,kBAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC;AAHD,wCAGC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B,MAAM,UAAU,eAAe,CAAC,eAAiC;IAC7D,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IAEvF,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEvC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE;YAC7D,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,sBAAsB,CAAC,CAAC;SACtD;QAED,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE;YAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;SACvC;QAED,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE;YAC1B,OAAO,QAAQ,CAAC;SACnB;QAED,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,EAAE,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACpD,OAAO,QAAQ,KAAK,OAAO,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAC7D,OAAO,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { WorkerExecutionContext, JobConfig, Slice, DataEntity, RunSliceResult, SliceRequest, FetcherCore, OperationCore, APICore, OpConfig, OpAPI } from '@terascope/job-components';
1
+ import { WorkerExecutionContext, JobConfigParams, Slice, DataEntity, RunSliceResult, SliceRequest, FetcherCore, OperationCore, APICore, OpConfig, OpAPI } from '@terascope/job-components';
2
2
  import BaseTestHarness from './base-test-harness';
3
3
  import { JobHarnessOptions } from './interfaces';
4
4
  /**
@@ -10,7 +10,7 @@ import { JobHarnessOptions } from './interfaces';
10
10
  * @todo Add support for attaching APIs and Observers
11
11
  */
12
12
  export default class WorkerTestHarness extends BaseTestHarness<WorkerExecutionContext> {
13
- constructor(job: JobConfig, options?: JobHarnessOptions);
13
+ constructor(job: JobConfigParams, options?: JobHarnessOptions);
14
14
  static testProcessor(opConfig: OpConfig, options?: JobHarnessOptions): WorkerTestHarness;
15
15
  static testFetcher(opConfig: OpConfig, options?: JobHarnessOptions): WorkerTestHarness;
16
16
  fetcher<T extends FetcherCore = FetcherCore>(): T;
@@ -64,6 +64,5 @@ export default class WorkerTestHarness extends BaseTestHarness<WorkerExecutionCo
64
64
  flush(options: {
65
65
  fullResponse: true;
66
66
  }): Promise<RunSliceResult | undefined>;
67
- shutdown(): Promise<void>;
68
67
  }
69
68
  //# sourceMappingURL=worker-test-harness.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker-test-harness.d.ts","sourceRoot":"","sources":["../../src/worker-test-harness.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,sBAAsB,EACtB,SAAS,EACT,KAAK,EACL,UAAU,EACV,cAAc,EACd,YAAY,EAEZ,WAAW,EACX,aAAa,EACb,OAAO,EACP,QAAQ,EAER,KAAK,EACR,MAAM,2BAA2B,CAAC;AACnC,OAAO,eAAe,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,eAAe,CAAC,sBAAsB,CAAC;gBACtE,GAAG,EAAE,SAAS,EAAE,OAAO,GAAE,iBAAsB;IAI3D,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,iBAAiB;IAcxF,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,iBAAiB;IAatF,OAAO,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,KAAK,CAAC;IAIjD,IAAI,UAAU,IAAI,sBAAsB,CAAC,YAAY,CAAC,CAErD;IAED,IAAI,IAAI,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAEzC;IAED;;;MAGE;IACF,MAAM,CAAC,CAAC,SAAS,KAAK,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAI9C;;MAEE;IACF,YAAY,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC;IAIjF;;;MAGE;IACF,eAAe,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAO7D;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC;;;;;;;;;;;;OAYG;IACG,QAAQ,CACV,KAAK,EAAE,KAAK,GAAG,YAAY,GAC5B,OAAO,CAAC,UAAU,EAAE,CAAC;IAClB,QAAQ,CACV,KAAK,EAAE,KAAK,GAAG,YAAY,EAC3B,OAAO,EAAE;QAAE,YAAY,EAAE,KAAK,CAAA;KAAE,GACjC,OAAO,CAAC,UAAU,EAAE,CAAC;IAClB,QAAQ,CACV,KAAK,EAAE,KAAK,GAAG,YAAY,EAC3B,OAAO,EAAE;QAAE,YAAY,EAAE,IAAI,CAAA;KAAE,GAChC,OAAO,CAAC,cAAc,CAAC;IA+B1B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC;IAC1C,KAAK,CAAC,OAAO,EAAE;QAAE,YAAY,EAAE,KAAK,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC;IAC1E,KAAK,CAAC,OAAO,EAAE;QAAE,YAAY,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAW3E,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAIlC"}
1
+ {"version":3,"file":"worker-test-harness.d.ts","sourceRoot":"","sources":["../../src/worker-test-harness.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,sBAAsB,EACtB,eAAe,EACf,KAAK,EACL,UAAU,EACV,cAAc,EACd,YAAY,EAEZ,WAAW,EACX,aAAa,EACb,OAAO,EACP,QAAQ,EAER,KAAK,EACR,MAAM,2BAA2B,CAAC;AACnC,OAAO,eAAe,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,eAAe,CAAC,sBAAsB,CAAC;gBACtE,GAAG,EAAE,eAAe,EAAE,OAAO,GAAE,iBAAsB;IAIjE,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,iBAAiB;IAcxF,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,iBAAiB;IAatF,OAAO,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,KAAK,CAAC;IAIjD,IAAI,UAAU,IAAI,sBAAsB,CAAC,YAAY,CAAC,CAErD;IAED,IAAI,IAAI,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAEzC;IAED;;;MAGE;IACF,MAAM,CAAC,CAAC,SAAS,KAAK,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAI9C;;MAEE;IACF,YAAY,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC;IAIjF;;;MAGE;IACF,eAAe,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAO7D;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC;;;;;;;;;;;;OAYG;IACG,QAAQ,CACV,KAAK,EAAE,KAAK,GAAG,YAAY,GAC5B,OAAO,CAAC,UAAU,EAAE,CAAC;IAClB,QAAQ,CACV,KAAK,EAAE,KAAK,GAAG,YAAY,EAC3B,OAAO,EAAE;QAAE,YAAY,EAAE,KAAK,CAAA;KAAE,GACjC,OAAO,CAAC,UAAU,EAAE,CAAC;IAClB,QAAQ,CACV,KAAK,EAAE,KAAK,GAAG,YAAY,EAC3B,OAAO,EAAE;QAAE,YAAY,EAAE,IAAI,CAAA;KAAE,GAChC,OAAO,CAAC,cAAc,CAAC;IA+B1B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC;IAC1C,KAAK,CAAC,OAAO,EAAE;QAAE,YAAY,EAAE,KAAK,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC;IAC1E,KAAK,CAAC,OAAO,EAAE;QAAE,YAAY,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;CAUpF"}
@@ -1,10 +1,5 @@
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 job_components_1 = require("@terascope/job-components");
7
- const base_test_harness_1 = __importDefault(require("./base-test-harness"));
1
+ import { newTestSlice, newTestJobConfig, } from '@terascope/job-components';
2
+ import BaseTestHarness from './base-test-harness';
8
3
  /**
9
4
  * A test harness for testing Operations that run on Workers,
10
5
  * mainly Fetchers and Processors.
@@ -13,12 +8,12 @@ const base_test_harness_1 = __importDefault(require("./base-test-harness"));
13
8
  *
14
9
  * @todo Add support for attaching APIs and Observers
15
10
  */
16
- class WorkerTestHarness extends base_test_harness_1.default {
11
+ export default class WorkerTestHarness extends BaseTestHarness {
17
12
  constructor(job, options = {}) {
18
13
  super(job, options, 'worker');
19
14
  }
20
15
  static testProcessor(opConfig, options) {
21
- const job = (0, job_components_1.newTestJobConfig)({
16
+ const job = newTestJobConfig({
22
17
  max_retries: 0,
23
18
  operations: [
24
19
  {
@@ -31,7 +26,7 @@ class WorkerTestHarness extends base_test_harness_1.default {
31
26
  return new WorkerTestHarness(job, options);
32
27
  }
33
28
  static testFetcher(opConfig, options) {
34
- const job = (0, job_components_1.newTestJobConfig)({
29
+ const job = newTestJobConfig({
35
30
  max_retries: 0,
36
31
  operations: [
37
32
  opConfig,
@@ -69,8 +64,7 @@ class WorkerTestHarness extends base_test_harness_1.default {
69
64
  * for the APIs that created during run time, use getAPI.
70
65
  */
71
66
  getOperationAPI(name) {
72
- var _a;
73
- if (!((_a = this.apis[name]) === null || _a === void 0 ? void 0 : _a.instance)) {
67
+ if (!this.apis[name]?.instance) {
74
68
  throw new Error(`Operation API "${name}" not found`);
75
69
  }
76
70
  return this.apis[name].instance;
@@ -83,7 +77,7 @@ class WorkerTestHarness extends base_test_harness_1.default {
83
77
  await this.executionContext.initialize();
84
78
  }
85
79
  async runSlice(input, { fullResponse = false } = {}) {
86
- const slice = isSlice(input) ? input : (0, job_components_1.newTestSlice)(input);
80
+ const slice = isSlice(input) ? input : newTestSlice(input);
87
81
  await this.executionContext.initializeSlice(slice);
88
82
  let result;
89
83
  try {
@@ -111,12 +105,7 @@ class WorkerTestHarness extends base_test_harness_1.default {
111
105
  // its undefined or null here
112
106
  return response;
113
107
  }
114
- async shutdown() {
115
- await super.shutdown();
116
- await this.executionContext.shutdown();
117
- }
118
108
  }
119
- exports.default = WorkerTestHarness;
120
109
  function isSlice(input) {
121
110
  return input.slice_id && input.slicer_id != null;
122
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"worker-test-harness.js","sourceRoot":"","sources":["../../src/worker-test-harness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-test-harness.js","sourceRoot":"","sources":["../../src/worker-test-harness.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "teraslice-test-harness",
3
3
  "displayName": "Teraslice Test Harness",
4
- "version": "0.30.0",
4
+ "version": "1.0.1",
5
5
  "description": "A helpful library for testing teraslice jobs, operations, and other components.",
6
6
  "homepage": "https://github.com/terascope/teraslice/tree/master/packages/teraslice-test-harness#readme",
7
7
  "bugs": {
@@ -13,6 +13,7 @@
13
13
  },
14
14
  "license": "MIT",
15
15
  "author": "Terascope, LLC <info@terascope.io>",
16
+ "type": "module",
16
17
  "main": "dist/src/index.js",
17
18
  "typings": "dist/src/index.d.ts",
18
19
  "directories": {
@@ -25,21 +26,21 @@
25
26
  "scripts": {
26
27
  "build": "tsc --build",
27
28
  "build:watch": "yarn build --watch",
28
- "test": "ts-scripts test . --",
29
- "test:debug": "ts-scripts test --debug . --",
30
- "test:watch": "ts-scripts test --watch . --"
29
+ "test": "NODE_OPTIONS='--experimental-vm-modules' ts-scripts test . --",
30
+ "test:debug": "NODE_OPTIONS='--experimental-vm-modules' ts-scripts test --debug . --",
31
+ "test:watch": "NODE_OPTIONS='--experimental-vm-modules' ts-scripts test --watch . --"
31
32
  },
32
33
  "dependencies": {
33
- "@terascope/fetch-github-release": "^0.8.7",
34
+ "@terascope/fetch-github-release": "^0.8.10",
34
35
  "@terascope/teraslice-op-test-harness": "^1.24.1",
35
36
  "decompress": "^4.2.1",
36
37
  "fs-extra": "^11.2.0"
37
38
  },
38
39
  "devDependencies": {
39
- "@terascope/job-components": "^0.73.0"
40
+ "@terascope/job-components": "^1.0.1"
40
41
  },
41
42
  "peerDependencies": {
42
- "@terascope/job-components": ">=0.73.0"
43
+ "@terascope/job-components": ">=1.0.1"
43
44
  },
44
45
  "engines": {
45
46
  "node": ">=14.17.0",
@@ -52,6 +53,6 @@
52
53
  "srcMain": "src/index.ts",
53
54
  "terascope": {
54
55
  "enableTypedoc": true,
55
- "testSuite": "unit"
56
+ "testSuite": "unit-esm"
56
57
  }
57
58
  }
@@ -1,35 +0,0 @@
1
- import OpHarness from '@terascope/teraslice-op-test-harness';
2
- import { TestClientConfig, CoreOperation } from '@terascope/job-components';
3
- import { OpTestHarnessOptions } from './interfaces';
4
- /**
5
- * A simple test harness for running an single operation
6
- * with minimal customizations. Based of the older
7
- * teraslice-op-test-harness package.
8
- *
9
- * This is useful for testing Data in -> out on a Fetcher,
10
- * Reader, or Processor.
11
- */
12
- export default class OpTestHarness {
13
- harness: OpHarness.TestHarness;
14
- opTester: OpHarness.OperationTester | undefined;
15
- constructor(op: OpHarness.OpTestHarnessInput, options?: OpTestHarnessOptions);
16
- /**
17
- * Set the Terafoundation Clients on both
18
- * the Slicer and Worker contexts
19
- */
20
- setClients(clients: TestClientConfig[]): void;
21
- /**
22
- * Get the Operation from the op test harness
23
- */
24
- get operation(): CoreOperation | null;
25
- /**
26
- * Initialize the Operations on the ExecutionContext
27
- */
28
- initialize(options?: OpHarness.InitOptions): Promise<void>;
29
- run(input: OpHarness.RunInput): Promise<OpHarness.RunResult>;
30
- /**
31
- * Shutdown the Operations on the ExecutionContext
32
- */
33
- shutdown(): Promise<void>;
34
- }
35
- //# sourceMappingURL=op-test-harness.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"op-test-harness.d.ts","sourceRoot":"","sources":["../../src/op-test-harness.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,sCAAsC,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD;;;;;;;EAOE;AACF,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,OAAO,EAAE,SAAS,CAAC,WAAW,CAAC;IAC/B,QAAQ,EAAE,SAAS,CAAC,eAAe,GAAC,SAAS,CAAC;gBAElC,EAAE,EAAE,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAO5E;;;MAGE;IACF,UAAU,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAI7C;;MAEE;IACF,IAAI,SAAS,IAAI,aAAa,GAAC,IAAI,CAGlC;IAED;;MAEE;IACI,UAAU,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAU1D,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC;IAQlE;;MAEE;IACI,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAOlC"}
@@ -1,66 +0,0 @@
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 teraslice_op_test_harness_1 = __importDefault(require("@terascope/teraslice-op-test-harness"));
7
- /**
8
- * A simple test harness for running an single operation
9
- * with minimal customizations. Based of the older
10
- * teraslice-op-test-harness package.
11
- *
12
- * This is useful for testing Data in -> out on a Fetcher,
13
- * Reader, or Processor.
14
- */
15
- class OpTestHarness {
16
- constructor(op, options) {
17
- this.harness = (0, teraslice_op_test_harness_1.default)(op);
18
- if (options) {
19
- this.harness.setClients(options.clients);
20
- }
21
- }
22
- /**
23
- * Set the Terafoundation Clients on both
24
- * the Slicer and Worker contexts
25
- */
26
- setClients(clients) {
27
- this.harness.setClients(clients);
28
- }
29
- /**
30
- * Get the Operation from the op test harness
31
- */
32
- get operation() {
33
- if (this.opTester == null)
34
- return null;
35
- return this.opTester.operation;
36
- }
37
- /**
38
- * Initialize the Operations on the ExecutionContext
39
- */
40
- async initialize(options) {
41
- const initOptions = options != null ? options : {
42
- opConfig: {
43
- _op: 'test'
44
- },
45
- type: 'reader'
46
- };
47
- this.opTester = await this.harness.init(initOptions);
48
- }
49
- async run(input) {
50
- if (this.opTester == null) {
51
- throw new Error('Initialize must be called before run');
52
- }
53
- return this.opTester.run(input);
54
- }
55
- /**
56
- * Shutdown the Operations on the ExecutionContext
57
- */
58
- async shutdown() {
59
- if (this.opTester != null) {
60
- await this.opTester.operation.shutdown();
61
- }
62
- this.harness.events.removeAllListeners();
63
- }
64
- }
65
- exports.default = OpTestHarness;
66
- //# sourceMappingURL=op-test-harness.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"op-test-harness.js","sourceRoot":"","sources":["../../src/op-test-harness.ts"],"names":[],"mappings":";;;;;AAAA,qGAA6D;AAI7D;;;;;;;EAOE;AACF,MAAqB,aAAa;IAI9B,YAAY,EAAgC,EAAE,OAA8B;QACxE,IAAI,CAAC,OAAO,GAAG,IAAA,mCAAS,EAAC,EAAE,CAAC,CAAC;QAC7B,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC5C;IACL,CAAC;IAED;;;MAGE;IACF,UAAU,CAAC,OAA2B;QAClC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED;;MAEE;IACF,IAAI,SAAS;QACT,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;IACnC,CAAC;IAED;;MAEE;IACF,KAAK,CAAC,UAAU,CAAC,OAA+B;QAC5C,MAAM,WAAW,GAA0B,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACnE,QAAQ,EAAE;gBACN,GAAG,EAAE,MAAM;aACd;YACD,IAAI,EAAE,QAAQ;SACjB,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAyB;QAC/B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;SAC3D;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED;;MAEE;IACF,KAAK,CAAC,QAAQ;QACV,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;YACvB,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;SAC5C;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;IAC7C,CAAC;CACJ;AA1DD,gCA0DC"}