teraslice-client-js 2.16.3 → 2.17.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.
- package/dist/src/executions.d.ts +1 -1
- package/dist/src/executions.d.ts.map +1 -1
- package/package.json +6 -3
- package/dist/test/assets-spec.d.ts +0 -2
- package/dist/test/assets-spec.d.ts.map +0 -1
- package/dist/test/assets-spec.js +0 -322
- package/dist/test/assets-spec.js.map +0 -1
- package/dist/test/client-spec.d.ts +0 -2
- package/dist/test/client-spec.d.ts.map +0 -1
- package/dist/test/client-spec.js +0 -374
- package/dist/test/client-spec.js.map +0 -1
- package/dist/test/cluster-spec.d.ts +0 -2
- package/dist/test/cluster-spec.d.ts.map +0 -1
- package/dist/test/cluster-spec.js +0 -143
- package/dist/test/cluster-spec.js.map +0 -1
- package/dist/test/ex-spec.d.ts +0 -2
- package/dist/test/ex-spec.d.ts.map +0 -1
- package/dist/test/ex-spec.js +0 -550
- package/dist/test/ex-spec.js.map +0 -1
- package/dist/test/executions-spec.d.ts +0 -2
- package/dist/test/executions-spec.d.ts.map +0 -1
- package/dist/test/executions-spec.js +0 -233
- package/dist/test/executions-spec.js.map +0 -1
- package/dist/test/job-spec.d.ts +0 -2
- package/dist/test/job-spec.d.ts.map +0 -1
- package/dist/test/job-spec.js +0 -837
- package/dist/test/job-spec.js.map +0 -1
- package/dist/test/jobs-spec.d.ts +0 -2
- package/dist/test/jobs-spec.d.ts.map +0 -1
- package/dist/test/jobs-spec.js +0 -241
- package/dist/test/jobs-spec.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/examples/cluster.js +0 -13
- package/examples/list.js +0 -16
- package/examples/submit.js +0 -48
- package/src/assets.ts +0 -99
- package/src/client.ts +0 -197
- package/src/cluster.ts +0 -48
- package/src/ex.ts +0 -223
- package/src/executions.ts +0 -82
- package/src/index.ts +0 -39
- package/src/interfaces.ts +0 -12
- package/src/job.ts +0 -260
- package/src/jobs.ts +0 -66
- package/test/assets-spec.ts +0 -376
- package/test/client-spec.ts +0 -416
- package/test/cluster-spec.ts +0 -167
- package/test/ex-spec.ts +0 -628
- package/test/executions-spec.ts +0 -260
- package/test/fixtures/test.txt +0 -1
- package/test/job-spec.ts +0 -947
- package/test/jobs-spec.ts +0 -272
- package/tsconfig.json +0 -12
package/dist/src/executions.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Teraslice } from '@terascope/types';
|
|
2
2
|
import Client from './client.js';
|
|
3
3
|
import Ex from './ex.js';
|
|
4
|
-
import { ClientConfig } from './interfaces';
|
|
4
|
+
import { ClientConfig } from './interfaces.js';
|
|
5
5
|
type ListOptions = undefined | string | Teraslice.SearchQuery;
|
|
6
6
|
export default class Executions extends Client {
|
|
7
7
|
constructor(config: ClientConfig);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executions.d.ts","sourceRoot":"","sources":["../../src/executions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,YAAY,EAAkB,MAAM,
|
|
1
|
+
{"version":3,"file":"executions.d.ts","sourceRoot":"","sources":["../../src/executions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAE/D,KAAK,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,MAAM;gBAC9B,MAAM,EAAE,YAAY;IAKhC;;MAEE;IACI,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,eAAe,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC;IAkBjF,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;IAKjE,MAAM,CACR,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,WAAW,EACrC,IAAI,CAAC,EAAE,SAAS,CAAC,WAAW,GAC7B,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;IAiBnC;;;MAGE;IACF,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,EAAE;CAGzB"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "teraslice-client-js",
|
|
3
3
|
"displayName": "Teraslice Client (JavaScript)",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.17.0",
|
|
5
5
|
"description": "A Node.js client for teraslice jobs, assets, and cluster references.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"elasticsearch",
|
|
@@ -24,11 +24,14 @@
|
|
|
24
24
|
"lib": "dist/src",
|
|
25
25
|
"test": "test"
|
|
26
26
|
},
|
|
27
|
+
"files": [
|
|
28
|
+
"dist/src/**/*"
|
|
29
|
+
],
|
|
27
30
|
"dependencies": {
|
|
28
31
|
"auto-bind": "~5.0.1",
|
|
29
32
|
"got": "~15.1.0",
|
|
30
|
-
"@terascope/core-utils": "~2.
|
|
31
|
-
"@terascope/types": "~2.
|
|
33
|
+
"@terascope/core-utils": "~2.17.0",
|
|
34
|
+
"@terascope/types": "~2.16.0"
|
|
32
35
|
},
|
|
33
36
|
"devDependencies": {
|
|
34
37
|
"jest-extended": "~7.0.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assets-spec.d.ts","sourceRoot":"","sources":["../../test/assets-spec.ts"],"names":[],"mappings":""}
|
package/dist/test/assets-spec.js
DELETED
|
@@ -1,322 +0,0 @@
|
|
|
1
|
-
import nock from 'nock';
|
|
2
|
-
import path from 'node:path';
|
|
3
|
-
import { fileURLToPath } from 'node:url';
|
|
4
|
-
import fs from 'node:fs';
|
|
5
|
-
import Assets from '../src/assets.js';
|
|
6
|
-
const dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
7
|
-
describe('Teraslice Assets', () => {
|
|
8
|
-
let assets;
|
|
9
|
-
let scope;
|
|
10
|
-
beforeEach(() => {
|
|
11
|
-
assets = new Assets({
|
|
12
|
-
baseUrl: 'http://teraslice.example.dev'
|
|
13
|
-
});
|
|
14
|
-
scope = nock('http://teraslice.example.dev/v1');
|
|
15
|
-
});
|
|
16
|
-
afterEach(() => {
|
|
17
|
-
nock.cleanAll();
|
|
18
|
-
});
|
|
19
|
-
const date = new Date();
|
|
20
|
-
const assetVersion1 = {
|
|
21
|
-
id: 'someId',
|
|
22
|
-
version: '1.0',
|
|
23
|
-
name: 'iAmAnAsset',
|
|
24
|
-
blob: '',
|
|
25
|
-
_created: date.toISOString()
|
|
26
|
-
};
|
|
27
|
-
const assetVersion2 = {
|
|
28
|
-
id: 'someId',
|
|
29
|
-
version: '2.0',
|
|
30
|
-
name: 'iAmAnAsset',
|
|
31
|
-
blob: '',
|
|
32
|
-
_created: new Date(date.getTime() + 500000).toISOString()
|
|
33
|
-
};
|
|
34
|
-
describe('->upload', () => {
|
|
35
|
-
describe('when called with nothing', () => {
|
|
36
|
-
it('should reject with asset stream validation error', async () => {
|
|
37
|
-
expect.hasAssertions();
|
|
38
|
-
try {
|
|
39
|
-
// @ts-expect-error
|
|
40
|
-
await assets.upload();
|
|
41
|
-
}
|
|
42
|
-
catch (err) {
|
|
43
|
-
expect(err.message).toEqual('Asset stream must not be empty');
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
describe('when called with a string', () => {
|
|
48
|
-
const contents = 'example-input';
|
|
49
|
-
const idResponse = { asset_id: 'some-asset-id' };
|
|
50
|
-
beforeEach(async () => {
|
|
51
|
-
scope.post('/assets', contents)
|
|
52
|
-
.reply(200, idResponse);
|
|
53
|
-
});
|
|
54
|
-
it('should resolve the json result from Teraslice', async () => {
|
|
55
|
-
const results = await assets.upload(contents);
|
|
56
|
-
expect(results).toEqual(idResponse);
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
describe('when called with a stream', () => {
|
|
60
|
-
const testFilePath = path.join(dirname, 'fixtures', 'test.txt');
|
|
61
|
-
const contents = fs.readFileSync(testFilePath, 'utf-8');
|
|
62
|
-
const idResponse = { asset_id: 'some-asset-id' };
|
|
63
|
-
beforeEach(() => {
|
|
64
|
-
scope.post('/assets', (body) => contents === body)
|
|
65
|
-
.reply(200, idResponse);
|
|
66
|
-
});
|
|
67
|
-
it('should resolve the json result from Teraslice', async () => {
|
|
68
|
-
const stream = fs.createReadStream(testFilePath);
|
|
69
|
-
const results = await assets.upload(stream);
|
|
70
|
-
expect(results).toEqual(idResponse);
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
describe('->list', () => {
|
|
75
|
-
const assetList = [
|
|
76
|
-
assetVersion1,
|
|
77
|
-
assetVersion2
|
|
78
|
-
];
|
|
79
|
-
describe('when called without any options', () => {
|
|
80
|
-
beforeEach(() => {
|
|
81
|
-
scope.get('/assets')
|
|
82
|
-
.reply(200, assetList);
|
|
83
|
-
});
|
|
84
|
-
it('should resolve the json result from Teraslice', async () => {
|
|
85
|
-
const results = await assets.list();
|
|
86
|
-
expect(results).toEqual(assetList);
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
describe('when called with search query', () => {
|
|
90
|
-
const queryParams = { size: 10, from: 2, sort: '_updated:desc' };
|
|
91
|
-
beforeEach(() => {
|
|
92
|
-
scope.get('/assets')
|
|
93
|
-
.query(queryParams)
|
|
94
|
-
.reply(200, assetList);
|
|
95
|
-
});
|
|
96
|
-
it('should resolve the json result from Teraslice', async () => {
|
|
97
|
-
const results = await assets.list(queryParams);
|
|
98
|
-
expect(results).toEqual(assetList);
|
|
99
|
-
});
|
|
100
|
-
});
|
|
101
|
-
describe('when called with search query and options', () => {
|
|
102
|
-
const queryParams = { size: 10, from: 2, sort: '_updated:desc' };
|
|
103
|
-
const searchOptions = { headers: { 'Some-Header': 'yes' } };
|
|
104
|
-
beforeEach(() => {
|
|
105
|
-
scope.get('/assets')
|
|
106
|
-
.matchHeader('Some-Header', 'yes')
|
|
107
|
-
.query(queryParams)
|
|
108
|
-
.reply(200, assetList);
|
|
109
|
-
});
|
|
110
|
-
it('should resolve the json result from Teraslice', async () => {
|
|
111
|
-
const results = await assets.list(queryParams, searchOptions);
|
|
112
|
-
expect(results).toEqual(assetList);
|
|
113
|
-
});
|
|
114
|
-
});
|
|
115
|
-
});
|
|
116
|
-
describe('->getAsset', () => {
|
|
117
|
-
describe('when called without any arguments', () => {
|
|
118
|
-
it('should throw', async () => {
|
|
119
|
-
expect.hasAssertions();
|
|
120
|
-
try {
|
|
121
|
-
// @ts-expect-error
|
|
122
|
-
await assets.getAsset();
|
|
123
|
-
}
|
|
124
|
-
catch (err) {
|
|
125
|
-
expect(err.message).toEqual('Name is required, and must be of type string');
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
});
|
|
129
|
-
describe('when called name as anything but string', () => {
|
|
130
|
-
it('should throw', async () => {
|
|
131
|
-
expect.hasAssertions();
|
|
132
|
-
try {
|
|
133
|
-
// @ts-expect-error
|
|
134
|
-
await assets.getAsset(1234);
|
|
135
|
-
}
|
|
136
|
-
catch (err) {
|
|
137
|
-
expect(err.message).toEqual('Name is required, and must be of type string');
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
});
|
|
141
|
-
describe('when called with asset name', () => {
|
|
142
|
-
const { name } = assetVersion1;
|
|
143
|
-
beforeEach(() => {
|
|
144
|
-
scope.get(`/assets/${name}`)
|
|
145
|
-
.reply(200, assetVersion1);
|
|
146
|
-
});
|
|
147
|
-
it('should resolve the json result from Teraslice', async () => {
|
|
148
|
-
const results = await assets.getAsset(name);
|
|
149
|
-
expect(results).toEqual(assetVersion1);
|
|
150
|
-
});
|
|
151
|
-
});
|
|
152
|
-
describe('when called with asset name and version', () => {
|
|
153
|
-
const { name } = assetVersion1;
|
|
154
|
-
const { version } = assetVersion1;
|
|
155
|
-
beforeEach(() => {
|
|
156
|
-
scope.get(`/assets/${name}/${version}`)
|
|
157
|
-
.reply(200, assetVersion1);
|
|
158
|
-
});
|
|
159
|
-
it('should resolve the json result from Teraslice', async () => {
|
|
160
|
-
const results = await assets.getAsset(name, version);
|
|
161
|
-
expect(results).toEqual(assetVersion1);
|
|
162
|
-
});
|
|
163
|
-
});
|
|
164
|
-
describe('when called name and version as anything but string', () => {
|
|
165
|
-
it('should throw', async () => {
|
|
166
|
-
expect.hasAssertions();
|
|
167
|
-
try {
|
|
168
|
-
// @ts-expect-error
|
|
169
|
-
await assets.getAsset('someName', { some: 'thing' });
|
|
170
|
-
}
|
|
171
|
-
catch (err) {
|
|
172
|
-
expect(err.message).toEqual('Version if provided must be of type string');
|
|
173
|
-
}
|
|
174
|
-
});
|
|
175
|
-
});
|
|
176
|
-
describe('when called with asset name, version and options', () => {
|
|
177
|
-
const searchOptions = { headers: { 'Some-Header': 'yes' } };
|
|
178
|
-
const { name } = assetVersion1;
|
|
179
|
-
const { version } = assetVersion1;
|
|
180
|
-
beforeEach(() => {
|
|
181
|
-
scope.get(`/assets/${name}/${version}`)
|
|
182
|
-
.matchHeader('Some-Header', 'yes')
|
|
183
|
-
.reply(200, assetVersion1);
|
|
184
|
-
});
|
|
185
|
-
it('should resolve the json result from Teraslice', async () => {
|
|
186
|
-
const results = await assets.getAsset(name, version, searchOptions);
|
|
187
|
-
expect(results).toEqual(assetVersion1);
|
|
188
|
-
});
|
|
189
|
-
});
|
|
190
|
-
});
|
|
191
|
-
describe('->txt', () => {
|
|
192
|
-
const fakeTxtData = JSON.stringify(assetVersion1);
|
|
193
|
-
beforeEach(() => {
|
|
194
|
-
scope = nock('http://teraslice.example.dev/');
|
|
195
|
-
});
|
|
196
|
-
describe('when called without any arguments', () => {
|
|
197
|
-
beforeEach(() => {
|
|
198
|
-
scope.get('/txt/assets')
|
|
199
|
-
.reply(200, fakeTxtData);
|
|
200
|
-
});
|
|
201
|
-
it('should resolve with txt', async () => {
|
|
202
|
-
const results = await assets.txt();
|
|
203
|
-
expect(results).toEqual(fakeTxtData);
|
|
204
|
-
});
|
|
205
|
-
});
|
|
206
|
-
describe('when called name as anything but string', () => {
|
|
207
|
-
it('should throw', async () => {
|
|
208
|
-
expect.hasAssertions();
|
|
209
|
-
try {
|
|
210
|
-
// @ts-expect-error
|
|
211
|
-
await assets.txt(1234);
|
|
212
|
-
}
|
|
213
|
-
catch (err) {
|
|
214
|
-
expect(err.message).toEqual('Name must be of type string');
|
|
215
|
-
}
|
|
216
|
-
});
|
|
217
|
-
});
|
|
218
|
-
describe('when called with asset name', () => {
|
|
219
|
-
const { name } = assetVersion1;
|
|
220
|
-
beforeEach(() => {
|
|
221
|
-
scope.get(`/txt/assets/${name}`)
|
|
222
|
-
.reply(200, fakeTxtData);
|
|
223
|
-
});
|
|
224
|
-
it('should resolve the json result from Teraslice', async () => {
|
|
225
|
-
const results = await assets.txt(name);
|
|
226
|
-
expect(results).toEqual(fakeTxtData);
|
|
227
|
-
});
|
|
228
|
-
});
|
|
229
|
-
describe('when called with asset name and version', () => {
|
|
230
|
-
const { name } = assetVersion1;
|
|
231
|
-
const { version } = assetVersion1;
|
|
232
|
-
beforeEach(() => {
|
|
233
|
-
scope.get(`/txt/assets/${name}/${version}`)
|
|
234
|
-
.reply(200, fakeTxtData);
|
|
235
|
-
});
|
|
236
|
-
it('should resolve the json result from Teraslice', async () => {
|
|
237
|
-
const results = await assets.txt(name, version);
|
|
238
|
-
expect(results).toEqual(fakeTxtData);
|
|
239
|
-
});
|
|
240
|
-
});
|
|
241
|
-
describe('when called name and version as anything but string', () => {
|
|
242
|
-
it('should throw', async () => {
|
|
243
|
-
expect.hasAssertions();
|
|
244
|
-
try {
|
|
245
|
-
// @ts-expect-error
|
|
246
|
-
await assets.txt('someName', { some: 'thing' });
|
|
247
|
-
}
|
|
248
|
-
catch (err) {
|
|
249
|
-
expect(err.message).toEqual('Version must be of type string');
|
|
250
|
-
}
|
|
251
|
-
});
|
|
252
|
-
});
|
|
253
|
-
describe('when called with asset name, version and options', () => {
|
|
254
|
-
const { name } = assetVersion1;
|
|
255
|
-
const { version } = assetVersion1;
|
|
256
|
-
const queryParams = { size: 10, from: 2, sort: '_updated:desc' };
|
|
257
|
-
beforeEach(() => {
|
|
258
|
-
scope.get(`/txt/assets/${name}/${version}`)
|
|
259
|
-
.query(queryParams)
|
|
260
|
-
.reply(200, fakeTxtData);
|
|
261
|
-
});
|
|
262
|
-
it('should resolve the json result from Teraslice', async () => {
|
|
263
|
-
const results = await assets.txt(name, version, queryParams);
|
|
264
|
-
expect(results).toEqual(fakeTxtData);
|
|
265
|
-
});
|
|
266
|
-
});
|
|
267
|
-
describe('when called with asset name, version and options and request options', () => {
|
|
268
|
-
const searchOptions = { headers: { 'Some-Header': 'yes' } };
|
|
269
|
-
const queryParams = { size: 10, from: 2, sort: '_updated:desc' };
|
|
270
|
-
const { name } = assetVersion1;
|
|
271
|
-
const { version } = assetVersion1;
|
|
272
|
-
beforeEach(() => {
|
|
273
|
-
scope.get(`/txt/assets/${name}/${version}`)
|
|
274
|
-
.query(queryParams)
|
|
275
|
-
.matchHeader('Some-Header', 'yes')
|
|
276
|
-
.reply(200, fakeTxtData);
|
|
277
|
-
});
|
|
278
|
-
it('should resolve the json result from Teraslice', async () => {
|
|
279
|
-
const results = await assets.txt(name, version, queryParams, searchOptions);
|
|
280
|
-
expect(results).toEqual(fakeTxtData);
|
|
281
|
-
});
|
|
282
|
-
});
|
|
283
|
-
});
|
|
284
|
-
describe('->remove', () => {
|
|
285
|
-
const idResponse = { asset_id: 'someId' };
|
|
286
|
-
beforeEach(() => {
|
|
287
|
-
scope.delete('/assets/some-asset-id')
|
|
288
|
-
.reply(200, idResponse);
|
|
289
|
-
});
|
|
290
|
-
describe('when called with nothing', () => {
|
|
291
|
-
it('should reject with id validation error', async () => {
|
|
292
|
-
expect.hasAssertions();
|
|
293
|
-
try {
|
|
294
|
-
// @ts-expect-error
|
|
295
|
-
await assets.remove();
|
|
296
|
-
}
|
|
297
|
-
catch (err) {
|
|
298
|
-
expect(err.message).toEqual('Asset delete requires a ID');
|
|
299
|
-
}
|
|
300
|
-
});
|
|
301
|
-
});
|
|
302
|
-
describe('when called an id', () => {
|
|
303
|
-
it('should resolve the json result from Teraslice', async () => {
|
|
304
|
-
const results = await assets.remove('some-asset-id');
|
|
305
|
-
expect(results).toEqual(idResponse);
|
|
306
|
-
});
|
|
307
|
-
});
|
|
308
|
-
describe('when called an id and options', () => {
|
|
309
|
-
const searchOptions = { headers: { some: 'header' } };
|
|
310
|
-
beforeEach(() => {
|
|
311
|
-
scope.delete('/assets/other-asset-id')
|
|
312
|
-
.matchHeader('some', 'header')
|
|
313
|
-
.reply(200, idResponse);
|
|
314
|
-
});
|
|
315
|
-
it('should resolve the json result from Teraslice', async () => {
|
|
316
|
-
const results = await assets.remove('other-asset-id', searchOptions);
|
|
317
|
-
expect(results).toEqual(idResponse);
|
|
318
|
-
});
|
|
319
|
-
});
|
|
320
|
-
});
|
|
321
|
-
});
|
|
322
|
-
//# sourceMappingURL=assets-spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assets-spec.js","sourceRoot":"","sources":["../../test/assets-spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client-spec.d.ts","sourceRoot":"","sources":["../../test/client-spec.ts"],"names":[],"mappings":""}
|