Skip to content

Commit bc6dd88

Browse files
committed
Modified code for node SDK integration testing
Modified code for node SDK integration testing
1 parent 4108f79 commit bc6dd88

File tree

5 files changed

+58
-43
lines changed

5 files changed

+58
-43
lines changed

package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,13 @@
3636
"dependencies": {
3737
"@types/node": "^12.12.34",
3838
"extend": "^3.0.2",
39-
"ibm-cloud-sdk-core": "^2.3.0",
40-
"jest": "^25.2.7"
39+
"ibm-cloud-sdk-core": "^2.11.3",
40+
"jest": "^25.5.4"
4141
},
4242
"devDependencies": {
4343
"@semantic-release/changelog": "^3.0.4",
4444
"@semantic-release/git": "^7.0.12",
45-
"axios": "^0.19.0",
45+
"axios": "^0.21.1",
4646
"codecov": "^3.5.0",
4747
"eslint": "^5.16.0",
4848
"eslint-config-google": "^0.12.0",

test/integration/ibm-analytics-engine-api.v3.test.js

+23-22
Original file line numberDiff line numberDiff line change
@@ -18,31 +18,34 @@
1818
'use strict';
1919
const IbmAnalyticsEngineApiV3 = require('../../dist/ibm-analytics-engine-api/v3');
2020
const { readExternalSources } = require('ibm-cloud-sdk-core');
21-
const authHelper = require('../resources/auth-helper.js');
22-
const describe = authHelper.describe; // this runs describe.skip if there is no auth.js file :)
21+
// const authHelper = require('../resources/auth-helper.js');
22+
const authHelper = require('../resources/auth.js');
23+
// const describe = authHelper.describe; // this runs describe.skip if there is no auth.js file :)
2324
// testcase timeout value (200s).
2425
const timeout = 200000;
25-
26+
const { IamAuthenticator } = require('../../dist/auth');
2627
// Location of our config file.
27-
const configFile = 'ibm_analytics_engine_api_v3.env';
28+
// const configFile = 'ibm_analytics_engine_api_v3.env';
2829

29-
//describe = authHelper.prepareTests(configFile);
30+
// describe = authHelper.prepareTests(configFile);
3031

3132
describe('IbmAnalyticsEngineApiV3_integration', () => {
32-
const ibmAnalyticsEngineApiService = IbmAnalyticsEngineApiV3.newInstance({});
33+
const options = authHelper.ibm_analytics_engine_api_v3;
34+
options.authenticator = new IamAuthenticator({ apikey: options.apikey });
35+
const instanceGuid = options.instance_guid;
36+
let applicationId = '';
37+
const ibmAnalyticsEngineApiService = IbmAnalyticsEngineApiV3.newInstance(options);
3338

3439
expect(ibmAnalyticsEngineApiService).not.toBeNull();
3540

3641
const config = readExternalSources(IbmAnalyticsEngineApiV3.DEFAULT_SERVICE_NAME);
3742
expect(config).not.toBeNull();
3843

3944
jest.setTimeout(timeout);
40-
4145
test('getInstanceById()', async () => {
4246
const params = {
43-
instanceId: 'testString',
47+
instanceId: instanceGuid,
4448
};
45-
4649
const res = await ibmAnalyticsEngineApiService.getInstanceById(params);
4750
expect(res).toBeDefined();
4851
expect(res.result).toBeDefined();
@@ -52,25 +55,23 @@ describe('IbmAnalyticsEngineApiV3_integration', () => {
5255

5356
// ApplicationRequestApplicationDetails
5457
const applicationRequestApplicationDetailsModel = {
55-
application: 'testString',
56-
class: 'testString',
57-
application_arguments: ['testString'],
58-
conf: { 'key1': 'testString' },
59-
env: { 'key1': 'testString' },
58+
application: '/opt/ibm/spark/examples/src/main/python/wordcount.py',
59+
application_arguments: ['/opt/ibm/spark/examples/src/main/resources/people.txt'],
6060
};
6161

6262
const params = {
63-
instanceId: 'testString',
63+
instanceId: instanceGuid,
6464
applicationDetails: applicationRequestApplicationDetailsModel,
6565
};
6666

6767
const res = await ibmAnalyticsEngineApiService.createApplication(params);
68+
applicationId = res.result.application_id;
6869
expect(res).toBeDefined();
6970
expect(res.result).toBeDefined();
7071
});
7172
test('getApplications()', async () => {
7273
const params = {
73-
instanceId: 'testString',
74+
instanceId: instanceGuid,
7475
};
7576

7677
const res = await ibmAnalyticsEngineApiService.getApplications(params);
@@ -79,8 +80,8 @@ describe('IbmAnalyticsEngineApiV3_integration', () => {
7980
});
8081
test('getApplicationById()', async () => {
8182
const params = {
82-
instanceId: 'testString',
83-
applicationId: 'testString',
83+
instanceId: instanceGuid,
84+
applicationId: applicationId,
8485
};
8586

8687
const res = await ibmAnalyticsEngineApiService.getApplicationById(params);
@@ -89,8 +90,8 @@ describe('IbmAnalyticsEngineApiV3_integration', () => {
8990
});
9091
test('getApplicationState()', async () => {
9192
const params = {
92-
instanceId: 'testString',
93-
applicationId: 'testString',
93+
instanceId: instanceGuid,
94+
applicationId: applicationId,
9495
};
9596

9697
const res = await ibmAnalyticsEngineApiService.getApplicationState(params);
@@ -99,8 +100,8 @@ describe('IbmAnalyticsEngineApiV3_integration', () => {
99100
});
100101
test('deleteApplicationById()', async () => {
101102
const params = {
102-
instanceId: 'testString',
103-
applicationId: 'testString',
103+
instanceId: instanceGuid,
104+
applicationId: applicationId,
104105
};
105106

106107
const res = await ibmAnalyticsEngineApiService.deleteApplicationById(params);

test/resources/auth.example.js

+4-5
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,14 @@
1616

1717
'use strict';
1818

19-
const testingHeaders = {
20-
// any headers desired for testing (like opting out of analytics)
21-
};
19+
// const testingHeaders = {
20+
// // any headers desired for testing (like opting out of analytics)
21+
// };
2222

2323
module.exports = {
2424
ibm_analytics_engine_api_v2: {
2525
serviceUrl: '',
2626
apikey: '',
27-
instance_guid:''
27+
instance_guid: '',
2828
},
2929
};
30-

test/unit/ibm-analytics-engine-api.v3.test.js

+27-12
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,7 @@ const { NoAuthAuthenticator, unitTestUtils } = core;
2121

2222
const IbmAnalyticsEngineApiV3 = require('../../dist/ibm-analytics-engine-api/v3');
2323

24-
const {
25-
getOptions,
26-
checkUrlAndMethod,
27-
checkMediaHeaders,
28-
expectToBePromise,
29-
} = unitTestUtils;
24+
const { getOptions, checkUrlAndMethod, checkMediaHeaders, expectToBePromise } = unitTestUtils;
3025

3126
const service = {
3227
authenticator: new NoAuthAuthenticator(),
@@ -55,7 +50,9 @@ describe('IbmAnalyticsEngineApiV3', () => {
5550

5651
expect(getAuthenticatorMock).toHaveBeenCalled();
5752
expect(testInstance.baseOptions.authenticator).toBeInstanceOf(NoAuthAuthenticator);
58-
expect(testInstance.baseOptions.serviceName).toBe(IbmAnalyticsEngineApiV3.DEFAULT_SERVICE_NAME);
53+
expect(testInstance.baseOptions.serviceName).toBe(
54+
IbmAnalyticsEngineApiV3.DEFAULT_SERVICE_NAME
55+
);
5956
expect(testInstance.baseOptions.serviceUrl).toBe(IbmAnalyticsEngineApiV3.DEFAULT_SERVICE_URL);
6057
expect(testInstance).toBeInstanceOf(IbmAnalyticsEngineApiV3);
6158
});
@@ -198,7 +195,11 @@ describe('IbmAnalyticsEngineApiV3', () => {
198195

199196
const options = getOptions(createRequestMock);
200197

201-
checkUrlAndMethod(options, '/v3/analytics_engines/{instance_id}/spark/applications', 'POST');
198+
checkUrlAndMethod(
199+
options,
200+
'/v3/analytics_engines/{instance_id}/spark/applications',
201+
'POST'
202+
);
202203
const expectedAccept = 'application/json';
203204
const expectedContentType = 'application/json';
204205
checkMediaHeaders(createRequestMock, expectedAccept, expectedContentType);
@@ -337,7 +338,11 @@ describe('IbmAnalyticsEngineApiV3', () => {
337338

338339
const options = getOptions(createRequestMock);
339340

340-
checkUrlAndMethod(options, '/v3/analytics_engines/{instance_id}/spark/applications/{application_id}', 'GET');
341+
checkUrlAndMethod(
342+
options,
343+
'/v3/analytics_engines/{instance_id}/spark/applications/{application_id}',
344+
'GET'
345+
);
341346
const expectedAccept = 'application/json';
342347
const expectedContentType = undefined;
343348
checkMediaHeaders(createRequestMock, expectedAccept, expectedContentType);
@@ -400,7 +405,9 @@ describe('IbmAnalyticsEngineApiV3', () => {
400405
applicationId: applicationId,
401406
};
402407

403-
const deleteApplicationByIdResult = ibmAnalyticsEngineApiService.deleteApplicationById(params);
408+
const deleteApplicationByIdResult = ibmAnalyticsEngineApiService.deleteApplicationById(
409+
params
410+
);
404411

405412
// all methods should return a Promise
406413
expectToBePromise(deleteApplicationByIdResult);
@@ -410,7 +417,11 @@ describe('IbmAnalyticsEngineApiV3', () => {
410417

411418
const options = getOptions(createRequestMock);
412419

413-
checkUrlAndMethod(options, '/v3/analytics_engines/{instance_id}/spark/applications/{application_id}', 'DELETE');
420+
checkUrlAndMethod(
421+
options,
422+
'/v3/analytics_engines/{instance_id}/spark/applications/{application_id}',
423+
'DELETE'
424+
);
414425
const expectedAccept = undefined;
415426
const expectedContentType = undefined;
416427
checkMediaHeaders(createRequestMock, expectedAccept, expectedContentType);
@@ -483,7 +494,11 @@ describe('IbmAnalyticsEngineApiV3', () => {
483494

484495
const options = getOptions(createRequestMock);
485496

486-
checkUrlAndMethod(options, '/v3/analytics_engines/{instance_id}/spark/applications/{application_id}/state', 'GET');
497+
checkUrlAndMethod(
498+
options,
499+
'/v3/analytics_engines/{instance_id}/spark/applications/{application_id}/state',
500+
'GET'
501+
);
487502
const expectedAccept = 'application/json';
488503
const expectedContentType = undefined;
489504
checkMediaHeaders(createRequestMock, expectedAccept, expectedContentType);

tsconfig.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,6 @@
2222

2323
/* Module Resolution Options */
2424
"moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
25-
"types": ["node", "extend"], /* Type declaration files to be included in compilation. */
25+
"types": ["node", "jest"], /* Type declaration files to be included in compilation. */
2626
}
2727
}

0 commit comments

Comments
 (0)