@adobe/aio-cli-plugin-api-mesh 3.9.4 → 4.0.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/oclif.manifest.json +1 -1
- package/package.json +2 -2
- package/src/commands/api-mesh/__tests__/create.test.js +5 -250
- package/src/commands/api-mesh/__tests__/delete.test.js +2 -88
- package/src/commands/api-mesh/__tests__/describe.test.js +5 -69
- package/src/commands/api-mesh/__tests__/status.test.js +97 -0
- package/src/commands/api-mesh/create.js +7 -43
- package/src/commands/api-mesh/delete.js +1 -25
- package/src/commands/api-mesh/describe.js +4 -31
- package/src/commands/api-mesh/status.js +69 -82
- package/src/constants.js +3 -5
- package/src/lib/devConsole.js +6 -50
- package/src/urlBuilder.js +6 -39
package/oclif.manifest.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"
|
|
1
|
+
{"version":"4.0.0","commands":{"PLUGINNAME":{"id":"PLUGINNAME","description":"Your description here","pluginName":"@adobe/aio-cli-plugin-api-mesh","pluginType":"core","aliases":[],"examples":["$ aio PLUGINNAME:some_command"],"flags":{"someflag":{"name":"someflag","type":"option","char":"f","description":"this is some flag"}},"args":[]},"api-mesh:create":{"id":"api-mesh:create","description":"Create a mesh with the given config.","pluginName":"@adobe/aio-cli-plugin-api-mesh","pluginType":"core","aliases":[],"flags":{"ignoreCache":{"name":"ignoreCache","type":"boolean","char":"i","description":"Ignore cache and force manual org -> project -> workspace selection","allowNo":false},"autoConfirmAction":{"name":"autoConfirmAction","type":"boolean","char":"c","description":"Auto confirm action prompt. CLI will not check for user approval before executing the action.","allowNo":false},"json":{"name":"json","type":"boolean","description":"Output JSON","allowNo":false},"env":{"name":"env","type":"option","char":"e","description":"Path to env file","default":".env"},"secrets":{"name":"secrets","type":"option","char":"s","description":"Path to secrets file","default":false}},"args":[{"name":"file"}]},"api-mesh:delete":{"id":"api-mesh:delete","description":"Delete the config of a given mesh","pluginName":"@adobe/aio-cli-plugin-api-mesh","pluginType":"core","aliases":[],"flags":{"ignoreCache":{"name":"ignoreCache","type":"boolean","char":"i","description":"Ignore cache and force manual org -> project -> workspace selection","allowNo":false},"autoConfirmAction":{"name":"autoConfirmAction","type":"boolean","char":"c","description":"Auto confirm action prompt. CLI will not check for user approval before executing the action.","allowNo":false}},"args":[]},"api-mesh:describe":{"id":"api-mesh:describe","description":"Get details of a mesh","pluginName":"@adobe/aio-cli-plugin-api-mesh","pluginType":"core","aliases":[],"flags":{"ignoreCache":{"name":"ignoreCache","type":"boolean","char":"i","description":"Ignore cache and force manual org -> project -> workspace selection","allowNo":false}},"args":[]},"api-mesh:get":{"id":"api-mesh:get","description":"Get the config of a given mesh","pluginName":"@adobe/aio-cli-plugin-api-mesh","pluginType":"core","aliases":[],"flags":{"ignoreCache":{"name":"ignoreCache","type":"boolean","char":"i","description":"Ignore cache and force manual org -> project -> workspace selection","allowNo":false},"json":{"name":"json","type":"boolean","description":"Output JSON","allowNo":false}},"args":[{"name":"file"}]},"api-mesh:init":{"id":"api-mesh:init","description":"This command will create a workspace where you can organise your API mesh configuration and other files","pluginName":"@adobe/aio-cli-plugin-api-mesh","pluginType":"core","aliases":[],"examples":[{"description":"API mesh workspace init","command":"aio api-mesh init commerce-mesh"},{"description":"API mesh workspace init with flags","command":"aio api-mesh init commerce-mesh --path ./mesh_projects/test_mesh --git y --packageManager yarn"}],"flags":{"path":{"name":"path","type":"option","char":"p","default":"."},"packageManager":{"name":"packageManager","type":"option","char":"m","options":["npm","yarn"]},"git":{"name":"git","type":"option","char":"g","options":["y","n"]}},"args":[{"name":"projectName","description":"Project name","required":true}]},"api-mesh:log-get-bulk":{"id":"api-mesh:log-get-bulk","description":"Download all mesh logs for a selected time period.","pluginName":"@adobe/aio-cli-plugin-api-mesh","pluginType":"core","aliases":[],"flags":{"ignoreCache":{"name":"ignoreCache","type":"boolean","char":"i","description":"Ignore cache and force manual org -> project -> workspace selection","allowNo":false},"startTime":{"name":"startTime","type":"option","description":"Start time for the logs in UTC","required":true},"endTime":{"name":"endTime","type":"option","description":"End time for the logs in UTC","required":true},"filename":{"name":"filename","type":"option","description":"Path to the output file for logs","required":true}},"args":[]},"api-mesh:log-get":{"id":"api-mesh:log-get","description":"Get the Log of a given mesh by RayId","pluginName":"@adobe/aio-cli-plugin-api-mesh","pluginType":"core","aliases":[],"flags":{"ignoreCache":{"name":"ignoreCache","type":"boolean","char":"i","description":"Ignore cache and force manual org -> project -> workspace selection","allowNo":false}},"args":[{"name":"rayId","description":"Fetch a single log by rayID","required":true}]},"api-mesh:log-list":{"id":"api-mesh:log-list","description":"Get recent logs of requests made to the API Mesh.","pluginName":"@adobe/aio-cli-plugin-api-mesh","pluginType":"core","aliases":[],"flags":{"ignoreCache":{"name":"ignoreCache","type":"boolean","char":"i","description":"Ignore cache and force manual org -> project -> workspace selection","allowNo":false},"filename":{"name":"filename","type":"option","description":"Name of CSV file to export the recent logs to"}},"args":[]},"api-mesh:run":{"id":"api-mesh:run","description":"Run a local development server that builds and compiles a mesh locally","pluginName":"@adobe/aio-cli-plugin-api-mesh","pluginType":"core","aliases":[],"examples":[],"flags":{"port":{"name":"port","type":"option","char":"p","description":"Port number for the local dev server"},"debug":{"name":"debug","type":"boolean","description":"Enable debugging mode","allowNo":false},"env":{"name":"env","type":"option","char":"e","description":"Path to env file","default":".env"},"autoConfirmAction":{"name":"autoConfirmAction","type":"boolean","char":"c","description":"Auto confirm action prompt. CLI will not check for user approval before executing the action.","allowNo":false},"select":{"name":"select","type":"boolean","description":"Retrieve existing artifacts from the mesh","allowNo":false},"secrets":{"name":"secrets","type":"option","char":"s","description":"Path to secrets file","default":false}},"args":[{"name":"file","description":"Mesh File"}]},"api-mesh:status":{"id":"api-mesh:status","description":"Get a mesh status with a given meshid.","pluginName":"@adobe/aio-cli-plugin-api-mesh","pluginType":"core","aliases":[],"flags":{"ignoreCache":{"name":"ignoreCache","type":"boolean","char":"i","description":"Ignore cache and force manual org -> project -> workspace selection","allowNo":false}},"args":[]},"api-mesh:update":{"id":"api-mesh:update","description":"Update a mesh with the given config.","pluginName":"@adobe/aio-cli-plugin-api-mesh","pluginType":"core","aliases":[],"flags":{"ignoreCache":{"name":"ignoreCache","type":"boolean","char":"i","description":"Ignore cache and force manual org -> project -> workspace selection","allowNo":false},"autoConfirmAction":{"name":"autoConfirmAction","type":"boolean","char":"c","description":"Auto confirm action prompt. CLI will not check for user approval before executing the action.","allowNo":false},"env":{"name":"env","type":"option","char":"e","description":"Path to env file","default":".env"},"secrets":{"name":"secrets","type":"option","char":"s","description":"Path to secrets file","default":false}},"args":[{"name":"file"}]},"api-mesh:source:discover":{"id":"api-mesh:source:discover","description":"Return the list of avaliable sources","pluginName":"@adobe/aio-cli-plugin-api-mesh","pluginType":"core","aliases":[],"flags":{"confirm":{"name":"confirm","type":"boolean","char":"c","description":"Auto confirm install action prompt. CLI will not check ask user to install source.","allowNo":false}},"args":[]},"api-mesh:source:get":{"id":"api-mesh:source:get","description":"Command returns the content of a specific source.","pluginName":"@adobe/aio-cli-plugin-api-mesh","pluginType":"core","aliases":[],"examples":["$ aio api-mesh:source:get -s=<version>@<source_name>","$ aio api-mesh:source:get -s<source_name>","$ aio api-mesh:source:get -m"],"flags":{"confirm":{"name":"confirm","type":"boolean","char":"c","description":"Auto confirm print action prompt. CLI will not check ask user to print source.","allowNo":false},"source":{"name":"source","type":"option","char":"s","description":"Source name"},"multiple":{"name":"multiple","type":"boolean","char":"m","description":"Select multiple sources","allowNo":false}},"args":[]},"api-mesh:source:install":{"id":"api-mesh:source:install","description":"Command to install the source to your API mesh.","pluginName":"@adobe/aio-cli-plugin-api-mesh","pluginType":"core","aliases":[],"examples":["$ aio api-mesh:source:install <version>@<source_name>","$ aio api-mesh:source:install <source_name> -v <variable_name>=<variable_value>","$ aio api-mesh:source:install <source_name> -f <path_to_variables_file>"],"flags":{"source":{"name":"source","type":"option","char":"s","description":"Source name"},"confirm":{"name":"confirm","type":"boolean","char":"c","description":"Auto confirm override action prompt. CLI will not check ask user to override source.","allowNo":false},"variable":{"name":"variable","type":"option","char":"v","description":"Variables required for the source"},"variable-file":{"name":"variable-file","type":"option","char":"f","description":"Variables file path"},"ignoreCache":{"name":"ignoreCache","type":"boolean","char":"i","description":"Ignore cache and force manual org -> project -> workspace selection","allowNo":false}},"args":[{"name":"source"}]}}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adobe/aio-cli-plugin-api-mesh",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"description": "Adobe I/O CLI plugin to develop and manage API mesh sources",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"oclif-plugin"
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"version": "oclif-dev readme && git add README.md"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@adobe-apimesh/mesh-builder": "
|
|
40
|
+
"@adobe-apimesh/mesh-builder": "2.0.0",
|
|
41
41
|
"@adobe/aio-cli-lib-console": "^5.0.0",
|
|
42
42
|
"@adobe/aio-lib-core-config": "^5.0.0",
|
|
43
43
|
"@adobe/aio-lib-core-logging": "^3.0.0",
|
|
@@ -42,8 +42,6 @@ const {
|
|
|
42
42
|
const {
|
|
43
43
|
getMesh,
|
|
44
44
|
createMesh,
|
|
45
|
-
createAPIMeshCredentials,
|
|
46
|
-
subscribeCredentialToMeshService,
|
|
47
45
|
getTenantFeatures,
|
|
48
46
|
getPublicEncryptionKey,
|
|
49
47
|
} = require('../../../lib/devConsole');
|
|
@@ -122,17 +120,8 @@ describe('create command tests', () => {
|
|
|
122
120
|
meshId: 'dummy_mesh_id',
|
|
123
121
|
meshConfig: sampleCreateMeshConfig.meshConfig,
|
|
124
122
|
},
|
|
125
|
-
apiKey: 'dummy_api_key',
|
|
126
|
-
sdkList: ['dummy_service'],
|
|
127
123
|
});
|
|
128
124
|
|
|
129
|
-
createAPIMeshCredentials.mockResolvedValue({
|
|
130
|
-
apiKey: 'dummy_api_key',
|
|
131
|
-
id: 'dummy_id',
|
|
132
|
-
});
|
|
133
|
-
|
|
134
|
-
subscribeCredentialToMeshService.mockResolvedValue(['dummy_service']);
|
|
135
|
-
|
|
136
125
|
getMesh.mockResolvedValue({
|
|
137
126
|
meshId: 'dummy_id',
|
|
138
127
|
meshURL: '',
|
|
@@ -171,11 +160,7 @@ describe('create command tests', () => {
|
|
|
171
160
|
});
|
|
172
161
|
const output = await CreateCommand.run();
|
|
173
162
|
expect(output).toHaveProperty('mesh');
|
|
174
|
-
expect(output).toHaveProperty('apiKey');
|
|
175
|
-
expect(output).toHaveProperty('sdkList');
|
|
176
163
|
expect(output.mesh).toEqual(expect.objectContaining({ meshId: 'dummy_mesh_id' }));
|
|
177
|
-
expect(output.apiKey).toEqual('dummy_api_key');
|
|
178
|
-
expect(output.sdkList).toEqual(['dummy_service']);
|
|
179
164
|
});
|
|
180
165
|
|
|
181
166
|
test('snapshot create command description', () => {
|
|
@@ -244,8 +229,6 @@ describe('create command tests', () => {
|
|
|
244
229
|
meshId: 'dummy_mesh_id',
|
|
245
230
|
meshConfig: meshConfigWithComposerFiles.meshConfig,
|
|
246
231
|
},
|
|
247
|
-
apiKey: 'dummy_api_key',
|
|
248
|
-
sdkList: ['dummy_service'],
|
|
249
232
|
});
|
|
250
233
|
|
|
251
234
|
parseSpy.mockResolvedValueOnce({
|
|
@@ -259,7 +242,6 @@ describe('create command tests', () => {
|
|
|
259
242
|
|
|
260
243
|
expect(output).toMatchInlineSnapshot(`
|
|
261
244
|
{
|
|
262
|
-
"apiKey": "dummy_api_key",
|
|
263
245
|
"mesh": {
|
|
264
246
|
"meshConfig": {
|
|
265
247
|
"files": [
|
|
@@ -303,9 +285,6 @@ describe('create command tests', () => {
|
|
|
303
285
|
},
|
|
304
286
|
"meshId": "dummy_mesh_id",
|
|
305
287
|
},
|
|
306
|
-
"sdkList": [
|
|
307
|
-
"dummy_service",
|
|
308
|
-
],
|
|
309
288
|
}
|
|
310
289
|
`);
|
|
311
290
|
});
|
|
@@ -365,7 +344,6 @@ describe('create command tests', () => {
|
|
|
365
344
|
`);
|
|
366
345
|
expect(runResult).toMatchInlineSnapshot(`
|
|
367
346
|
{
|
|
368
|
-
"apiKey": "dummy_api_key",
|
|
369
347
|
"mesh": {
|
|
370
348
|
"meshConfig": {
|
|
371
349
|
"sources": [
|
|
@@ -381,9 +359,6 @@ describe('create command tests', () => {
|
|
|
381
359
|
},
|
|
382
360
|
"meshId": "dummy_mesh_id",
|
|
383
361
|
},
|
|
384
|
-
"sdkList": [
|
|
385
|
-
"dummy_service",
|
|
386
|
-
],
|
|
387
362
|
}
|
|
388
363
|
`);
|
|
389
364
|
expect(logSpy.mock.calls).toMatchInlineSnapshot(`
|
|
@@ -405,29 +380,7 @@ describe('create command tests', () => {
|
|
|
405
380
|
"******************************************************************************************************",
|
|
406
381
|
],
|
|
407
382
|
[
|
|
408
|
-
"
|
|
409
|
-
"dummy_api_key",
|
|
410
|
-
],
|
|
411
|
-
[
|
|
412
|
-
"Successfully subscribed API Key %s to API Mesh service",
|
|
413
|
-
"dummy_api_key",
|
|
414
|
-
],
|
|
415
|
-
[
|
|
416
|
-
"
|
|
417
|
-
API Mesh now runs at the edge and legacy mesh URLs will be deprecated.
|
|
418
|
-
Use the following link to find more information on how to migrate your mesh:",
|
|
419
|
-
],
|
|
420
|
-
[
|
|
421
|
-
"https://developer.adobe.com/graphql-mesh-gateway/mesh/release/migration
|
|
422
|
-
",
|
|
423
|
-
],
|
|
424
|
-
[
|
|
425
|
-
"Legacy Mesh Endpoint: %s",
|
|
426
|
-
"https://graph.adobe.io/api/dummy_mesh_id/graphql?api_key=dummy_api_key",
|
|
427
|
-
],
|
|
428
|
-
[
|
|
429
|
-
"Edge Mesh Endpoint: %s
|
|
430
|
-
",
|
|
383
|
+
"Mesh Endpoint: %s",
|
|
431
384
|
"https://edge-sandbox-graph.adobe.io/api/dummy_mesh_id/graphql",
|
|
432
385
|
],
|
|
433
386
|
]
|
|
@@ -471,7 +424,6 @@ describe('create command tests', () => {
|
|
|
471
424
|
|
|
472
425
|
expect(runResult).toMatchInlineSnapshot(`
|
|
473
426
|
{
|
|
474
|
-
"apiKey": "dummy_api_key",
|
|
475
427
|
"mesh": {
|
|
476
428
|
"meshConfig": {
|
|
477
429
|
"sources": [
|
|
@@ -487,9 +439,6 @@ describe('create command tests', () => {
|
|
|
487
439
|
},
|
|
488
440
|
"meshId": "dummy_mesh_id",
|
|
489
441
|
},
|
|
490
|
-
"sdkList": [
|
|
491
|
-
"dummy_service",
|
|
492
|
-
],
|
|
493
442
|
}
|
|
494
443
|
`);
|
|
495
444
|
expect(logSpy.mock.calls).toMatchInlineSnapshot(`
|
|
@@ -511,29 +460,7 @@ describe('create command tests', () => {
|
|
|
511
460
|
"******************************************************************************************************",
|
|
512
461
|
],
|
|
513
462
|
[
|
|
514
|
-
"
|
|
515
|
-
"dummy_api_key",
|
|
516
|
-
],
|
|
517
|
-
[
|
|
518
|
-
"Successfully subscribed API Key %s to API Mesh service",
|
|
519
|
-
"dummy_api_key",
|
|
520
|
-
],
|
|
521
|
-
[
|
|
522
|
-
"
|
|
523
|
-
API Mesh now runs at the edge and legacy mesh URLs will be deprecated.
|
|
524
|
-
Use the following link to find more information on how to migrate your mesh:",
|
|
525
|
-
],
|
|
526
|
-
[
|
|
527
|
-
"https://developer.adobe.com/graphql-mesh-gateway/mesh/release/migration
|
|
528
|
-
",
|
|
529
|
-
],
|
|
530
|
-
[
|
|
531
|
-
"Legacy Mesh Endpoint: %s",
|
|
532
|
-
"https://tigraph.adobe.io/dummy_mesh_id/graphql",
|
|
533
|
-
],
|
|
534
|
-
[
|
|
535
|
-
"Edge Mesh Endpoint: %s
|
|
536
|
-
",
|
|
463
|
+
"Mesh Endpoint: %s",
|
|
537
464
|
"https://edge-sandbox-graph.adobe.io/api/dummy_mesh_id/graphql",
|
|
538
465
|
],
|
|
539
466
|
]
|
|
@@ -590,96 +517,6 @@ describe('create command tests', () => {
|
|
|
590
517
|
`);
|
|
591
518
|
});
|
|
592
519
|
|
|
593
|
-
test.skip('should fail if create api credential api has failed', async () => {
|
|
594
|
-
createAPIMeshCredentials.mockRejectedValue(new Error('create api credential api failed'));
|
|
595
|
-
|
|
596
|
-
const runResult = CreateCommand.run();
|
|
597
|
-
|
|
598
|
-
await expect(runResult).rejects.toEqual(
|
|
599
|
-
new Error(
|
|
600
|
-
'Unable to create a mesh. Please check the mesh configuration file and try again. If the error persists please contact support. RequestId: dummy_request_id',
|
|
601
|
-
),
|
|
602
|
-
);
|
|
603
|
-
expect(logSpy.mock.calls).toMatchInlineSnapshot(`
|
|
604
|
-
[
|
|
605
|
-
[
|
|
606
|
-
"******************************************************************************************************",
|
|
607
|
-
],
|
|
608
|
-
[
|
|
609
|
-
"Your mesh is being provisioned. Wait a few minutes before checking the status of your mesh %s",
|
|
610
|
-
"dummy_mesh_id",
|
|
611
|
-
],
|
|
612
|
-
[
|
|
613
|
-
"To check the status of your mesh, run:",
|
|
614
|
-
],
|
|
615
|
-
[
|
|
616
|
-
"aio api-mesh:status",
|
|
617
|
-
],
|
|
618
|
-
[
|
|
619
|
-
"******************************************************************************************************",
|
|
620
|
-
],
|
|
621
|
-
[
|
|
622
|
-
"create api credential api failed",
|
|
623
|
-
],
|
|
624
|
-
]
|
|
625
|
-
`);
|
|
626
|
-
expect(errorLogSpy.mock.calls).toMatchInlineSnapshot(`
|
|
627
|
-
[
|
|
628
|
-
[
|
|
629
|
-
"Unable to create a mesh. Please check the mesh configuration file and try again. If the error persists please contact support. RequestId: dummy_request_id",
|
|
630
|
-
],
|
|
631
|
-
]
|
|
632
|
-
`);
|
|
633
|
-
});
|
|
634
|
-
|
|
635
|
-
test.skip('should fail if subscribe credential to mesh service api has failed', async () => {
|
|
636
|
-
subscribeCredentialToMeshService.mockRejectedValueOnce(
|
|
637
|
-
new Error('subscribe credential to mesh service api failed'),
|
|
638
|
-
);
|
|
639
|
-
|
|
640
|
-
const runResult = CreateCommand.run();
|
|
641
|
-
|
|
642
|
-
await expect(runResult).rejects.toEqual(
|
|
643
|
-
new Error(
|
|
644
|
-
'Unable to create a mesh. Please check the mesh configuration file and try again. If the error persists please contact support. RequestId: dummy_request_id',
|
|
645
|
-
),
|
|
646
|
-
);
|
|
647
|
-
expect(logSpy.mock.calls).toMatchInlineSnapshot(`
|
|
648
|
-
[
|
|
649
|
-
[
|
|
650
|
-
"******************************************************************************************************",
|
|
651
|
-
],
|
|
652
|
-
[
|
|
653
|
-
"Your mesh is being provisioned. Wait a few minutes before checking the status of your mesh %s",
|
|
654
|
-
"dummy_mesh_id",
|
|
655
|
-
],
|
|
656
|
-
[
|
|
657
|
-
"To check the status of your mesh, run:",
|
|
658
|
-
],
|
|
659
|
-
[
|
|
660
|
-
"aio api-mesh:status",
|
|
661
|
-
],
|
|
662
|
-
[
|
|
663
|
-
"******************************************************************************************************",
|
|
664
|
-
],
|
|
665
|
-
[
|
|
666
|
-
"Successfully created API Key %s",
|
|
667
|
-
"dummy_api_key",
|
|
668
|
-
],
|
|
669
|
-
[
|
|
670
|
-
"subscribe credential to mesh service api failed",
|
|
671
|
-
],
|
|
672
|
-
]
|
|
673
|
-
`);
|
|
674
|
-
expect(errorLogSpy.mock.calls).toMatchInlineSnapshot(`
|
|
675
|
-
[
|
|
676
|
-
[
|
|
677
|
-
"Unable to create a mesh. Please check the mesh configuration file and try again. If the error persists please contact support. RequestId: dummy_request_id",
|
|
678
|
-
],
|
|
679
|
-
]
|
|
680
|
-
`);
|
|
681
|
-
});
|
|
682
|
-
|
|
683
520
|
test('should not ask for confirmation if autoConfirmAction is provided', async () => {
|
|
684
521
|
parseSpy.mockResolvedValueOnce({
|
|
685
522
|
args: { file: 'src/commands/__fixtures__/sample_mesh.json' },
|
|
@@ -715,29 +552,7 @@ describe('create command tests', () => {
|
|
|
715
552
|
"******************************************************************************************************",
|
|
716
553
|
],
|
|
717
554
|
[
|
|
718
|
-
"
|
|
719
|
-
"dummy_api_key",
|
|
720
|
-
],
|
|
721
|
-
[
|
|
722
|
-
"Successfully subscribed API Key %s to API Mesh service",
|
|
723
|
-
"dummy_api_key",
|
|
724
|
-
],
|
|
725
|
-
[
|
|
726
|
-
"
|
|
727
|
-
API Mesh now runs at the edge and legacy mesh URLs will be deprecated.
|
|
728
|
-
Use the following link to find more information on how to migrate your mesh:",
|
|
729
|
-
],
|
|
730
|
-
[
|
|
731
|
-
"https://developer.adobe.com/graphql-mesh-gateway/mesh/release/migration
|
|
732
|
-
",
|
|
733
|
-
],
|
|
734
|
-
[
|
|
735
|
-
"Legacy Mesh Endpoint: %s",
|
|
736
|
-
"https://graph.adobe.io/api/dummy_mesh_id/graphql?api_key=dummy_api_key",
|
|
737
|
-
],
|
|
738
|
-
[
|
|
739
|
-
"Edge Mesh Endpoint: %s
|
|
740
|
-
",
|
|
555
|
+
"Mesh Endpoint: %s",
|
|
741
556
|
"https://edge-sandbox-graph.adobe.io/api/dummy_mesh_id/graphql",
|
|
742
557
|
],
|
|
743
558
|
]
|
|
@@ -774,11 +589,7 @@ describe('create command tests', () => {
|
|
|
774
589
|
});
|
|
775
590
|
const output = await CreateCommand.run();
|
|
776
591
|
expect(output).toHaveProperty('mesh');
|
|
777
|
-
expect(output).toHaveProperty('apiKey');
|
|
778
|
-
expect(output).toHaveProperty('sdkList');
|
|
779
592
|
expect(output.mesh).toEqual(expect.objectContaining({ meshId: 'dummy_mesh_id' }));
|
|
780
|
-
expect(output.apiKey).toEqual('dummy_api_key');
|
|
781
|
-
expect(output.sdkList).toEqual(['dummy_service']);
|
|
782
593
|
});
|
|
783
594
|
|
|
784
595
|
test('should return error if the mesh has placeholders and env file provided using --env flag is not found', async () => {
|
|
@@ -946,7 +757,6 @@ describe('create command tests', () => {
|
|
|
946
757
|
expect(promptConfirm).toHaveBeenCalledWith('Are you sure you want to create a mesh?');
|
|
947
758
|
expect(runResult).toMatchInlineSnapshot(`
|
|
948
759
|
{
|
|
949
|
-
"apiKey": "dummy_api_key",
|
|
950
760
|
"mesh": {
|
|
951
761
|
"meshConfig": {
|
|
952
762
|
"sources": [
|
|
@@ -962,9 +772,6 @@ describe('create command tests', () => {
|
|
|
962
772
|
},
|
|
963
773
|
"meshId": "dummy_mesh_id",
|
|
964
774
|
},
|
|
965
|
-
"sdkList": [
|
|
966
|
-
"dummy_service",
|
|
967
|
-
],
|
|
968
775
|
}
|
|
969
776
|
`);
|
|
970
777
|
});
|
|
@@ -1026,8 +833,6 @@ describe('create command tests', () => {
|
|
|
1026
833
|
meshId: 'dummy_mesh_id',
|
|
1027
834
|
meshConfig: meshConfig,
|
|
1028
835
|
},
|
|
1029
|
-
apiKey: 'dummy_api_key',
|
|
1030
|
-
sdkList: ['dummy_service'],
|
|
1031
836
|
});
|
|
1032
837
|
|
|
1033
838
|
parseSpy.mockResolvedValueOnce({
|
|
@@ -1086,7 +891,6 @@ describe('create command tests', () => {
|
|
|
1086
891
|
|
|
1087
892
|
expect(output).toMatchInlineSnapshot(`
|
|
1088
893
|
{
|
|
1089
|
-
"apiKey": "dummy_api_key",
|
|
1090
894
|
"mesh": {
|
|
1091
895
|
"meshConfig": {
|
|
1092
896
|
"files": [
|
|
@@ -1117,9 +921,6 @@ describe('create command tests', () => {
|
|
|
1117
921
|
},
|
|
1118
922
|
"meshId": "dummy_mesh_id",
|
|
1119
923
|
},
|
|
1120
|
-
"sdkList": [
|
|
1121
|
-
"dummy_service",
|
|
1122
|
-
],
|
|
1123
924
|
}
|
|
1124
925
|
`);
|
|
1125
926
|
});
|
|
@@ -1295,8 +1096,6 @@ describe('create command tests', () => {
|
|
|
1295
1096
|
meshId: 'dummy_mesh_id',
|
|
1296
1097
|
meshConfig: meshConfig,
|
|
1297
1098
|
},
|
|
1298
|
-
apiKey: 'dummy_api_key',
|
|
1299
|
-
sdkList: ['dummy_service'],
|
|
1300
1099
|
});
|
|
1301
1100
|
|
|
1302
1101
|
parseSpy.mockResolvedValueOnce({
|
|
@@ -1348,7 +1147,6 @@ describe('create command tests', () => {
|
|
|
1348
1147
|
`);
|
|
1349
1148
|
expect(output).toMatchInlineSnapshot(`
|
|
1350
1149
|
{
|
|
1351
|
-
"apiKey": "dummy_api_key",
|
|
1352
1150
|
"mesh": {
|
|
1353
1151
|
"meshConfig": {
|
|
1354
1152
|
"files": [
|
|
@@ -1379,9 +1177,6 @@ describe('create command tests', () => {
|
|
|
1379
1177
|
},
|
|
1380
1178
|
"meshId": "dummy_mesh_id",
|
|
1381
1179
|
},
|
|
1382
|
-
"sdkList": [
|
|
1383
|
-
"dummy_service",
|
|
1384
|
-
],
|
|
1385
1180
|
}
|
|
1386
1181
|
`);
|
|
1387
1182
|
});
|
|
@@ -1434,8 +1229,6 @@ describe('create command tests', () => {
|
|
|
1434
1229
|
meshId: 'dummy_mesh_id',
|
|
1435
1230
|
meshConfig: meshConfig,
|
|
1436
1231
|
},
|
|
1437
|
-
apiKey: 'dummy_api_key',
|
|
1438
|
-
sdkList: ['dummy_service'],
|
|
1439
1232
|
});
|
|
1440
1233
|
|
|
1441
1234
|
const output = await CreateCommand.run();
|
|
@@ -1483,7 +1276,6 @@ describe('create command tests', () => {
|
|
|
1483
1276
|
|
|
1484
1277
|
expect(output).toMatchInlineSnapshot(`
|
|
1485
1278
|
{
|
|
1486
|
-
"apiKey": "dummy_api_key",
|
|
1487
1279
|
"mesh": {
|
|
1488
1280
|
"meshConfig": {
|
|
1489
1281
|
"files": [
|
|
@@ -1514,9 +1306,6 @@ describe('create command tests', () => {
|
|
|
1514
1306
|
},
|
|
1515
1307
|
"meshId": "dummy_mesh_id",
|
|
1516
1308
|
},
|
|
1517
|
-
"sdkList": [
|
|
1518
|
-
"dummy_service",
|
|
1519
|
-
],
|
|
1520
1309
|
}
|
|
1521
1310
|
`);
|
|
1522
1311
|
});
|
|
@@ -1568,8 +1357,6 @@ describe('create command tests', () => {
|
|
|
1568
1357
|
meshId: 'dummy_mesh_id',
|
|
1569
1358
|
meshConfig: meshConfig,
|
|
1570
1359
|
},
|
|
1571
|
-
apiKey: 'dummy_api_key',
|
|
1572
|
-
sdkList: ['dummy_service'],
|
|
1573
1360
|
});
|
|
1574
1361
|
|
|
1575
1362
|
const output = await CreateCommand.run();
|
|
@@ -1616,7 +1403,6 @@ describe('create command tests', () => {
|
|
|
1616
1403
|
`);
|
|
1617
1404
|
expect(output).toMatchInlineSnapshot(`
|
|
1618
1405
|
{
|
|
1619
|
-
"apiKey": "dummy_api_key",
|
|
1620
1406
|
"mesh": {
|
|
1621
1407
|
"meshConfig": {
|
|
1622
1408
|
"files": [
|
|
@@ -1647,9 +1433,6 @@ describe('create command tests', () => {
|
|
|
1647
1433
|
},
|
|
1648
1434
|
"meshId": "dummy_mesh_id",
|
|
1649
1435
|
},
|
|
1650
|
-
"sdkList": [
|
|
1651
|
-
"dummy_service",
|
|
1652
|
-
],
|
|
1653
1436
|
}
|
|
1654
1437
|
`);
|
|
1655
1438
|
});
|
|
@@ -1688,8 +1471,6 @@ describe('create command tests', () => {
|
|
|
1688
1471
|
meshId: 'dummy_mesh_id',
|
|
1689
1472
|
meshConfig: meshConfig,
|
|
1690
1473
|
},
|
|
1691
|
-
apiKey: 'dummy_api_key',
|
|
1692
|
-
sdkList: ['dummy_service'],
|
|
1693
1474
|
});
|
|
1694
1475
|
|
|
1695
1476
|
parseSpy.mockResolvedValueOnce({
|
|
@@ -1747,7 +1528,6 @@ describe('create command tests', () => {
|
|
|
1747
1528
|
`);
|
|
1748
1529
|
expect(output).toMatchInlineSnapshot(`
|
|
1749
1530
|
{
|
|
1750
|
-
"apiKey": "dummy_api_key",
|
|
1751
1531
|
"mesh": {
|
|
1752
1532
|
"meshConfig": {
|
|
1753
1533
|
"files": [
|
|
@@ -1778,9 +1558,6 @@ describe('create command tests', () => {
|
|
|
1778
1558
|
},
|
|
1779
1559
|
"meshId": "dummy_mesh_id",
|
|
1780
1560
|
},
|
|
1781
|
-
"sdkList": [
|
|
1782
|
-
"dummy_service",
|
|
1783
|
-
],
|
|
1784
1561
|
}
|
|
1785
1562
|
`);
|
|
1786
1563
|
});
|
|
@@ -1891,12 +1668,7 @@ describe('create command tests', () => {
|
|
|
1891
1668
|
await CreateCommand.run();
|
|
1892
1669
|
|
|
1893
1670
|
expect(logSpy).toHaveBeenCalledWith(
|
|
1894
|
-
expect.stringContaining('
|
|
1895
|
-
'https://graph.adobe.io/api/dummy_mesh_id/graphql?api_key=dummy_api_key',
|
|
1896
|
-
);
|
|
1897
|
-
|
|
1898
|
-
expect(logSpy).toHaveBeenCalledWith(
|
|
1899
|
-
expect.stringContaining('Edge Mesh Endpoint:'),
|
|
1671
|
+
expect.stringContaining('Mesh Endpoint:'),
|
|
1900
1672
|
'https://edge-graph.adobe.io/api/dummy_mesh_id/graphql',
|
|
1901
1673
|
);
|
|
1902
1674
|
});
|
|
@@ -1916,12 +1688,7 @@ describe('create command tests', () => {
|
|
|
1916
1688
|
await CreateCommand.run();
|
|
1917
1689
|
|
|
1918
1690
|
expect(logSpy).toHaveBeenCalledWith(
|
|
1919
|
-
expect.stringContaining('
|
|
1920
|
-
'https://graph.adobe.io/api/dummy_mesh_id/graphql?api_key=dummy_api_key',
|
|
1921
|
-
);
|
|
1922
|
-
|
|
1923
|
-
expect(logSpy).toHaveBeenCalledWith(
|
|
1924
|
-
expect.stringContaining('Edge Mesh Endpoint:'),
|
|
1691
|
+
expect.stringContaining('Mesh Endpoint:'),
|
|
1925
1692
|
'https://edge-sandbox-graph.adobe.io/api/dummy_mesh_id/graphql',
|
|
1926
1693
|
);
|
|
1927
1694
|
});
|
|
@@ -2001,7 +1768,6 @@ describe('create command tests', () => {
|
|
|
2001
1768
|
const runResult = await CreateCommand.run();
|
|
2002
1769
|
expect(runResult).toMatchInlineSnapshot(`
|
|
2003
1770
|
{
|
|
2004
|
-
"apiKey": "dummy_api_key",
|
|
2005
1771
|
"mesh": {
|
|
2006
1772
|
"meshConfig": {
|
|
2007
1773
|
"sources": [
|
|
@@ -2017,9 +1783,6 @@ describe('create command tests', () => {
|
|
|
2017
1783
|
},
|
|
2018
1784
|
"meshId": "dummy_mesh_id",
|
|
2019
1785
|
},
|
|
2020
|
-
"sdkList": [
|
|
2021
|
-
"dummy_service",
|
|
2022
|
-
],
|
|
2023
1786
|
}
|
|
2024
1787
|
`);
|
|
2025
1788
|
});
|
|
@@ -2075,7 +1838,6 @@ describe('create command tests', () => {
|
|
|
2075
1838
|
const runResult = await CreateCommand.run();
|
|
2076
1839
|
expect(runResult).toMatchInlineSnapshot(`
|
|
2077
1840
|
{
|
|
2078
|
-
"apiKey": "dummy_api_key",
|
|
2079
1841
|
"mesh": {
|
|
2080
1842
|
"meshConfig": {
|
|
2081
1843
|
"sources": [
|
|
@@ -2091,9 +1853,6 @@ describe('create command tests', () => {
|
|
|
2091
1853
|
},
|
|
2092
1854
|
"meshId": "dummy_mesh_id",
|
|
2093
1855
|
},
|
|
2094
|
-
"sdkList": [
|
|
2095
|
-
"dummy_service",
|
|
2096
|
-
],
|
|
2097
1856
|
}
|
|
2098
1857
|
`);
|
|
2099
1858
|
});
|
|
@@ -2116,7 +1875,6 @@ describe('create command tests', () => {
|
|
|
2116
1875
|
const runResult = await CreateCommand.run();
|
|
2117
1876
|
expect(runResult).toMatchInlineSnapshot(`
|
|
2118
1877
|
{
|
|
2119
|
-
"apiKey": "dummy_api_key",
|
|
2120
1878
|
"mesh": {
|
|
2121
1879
|
"meshConfig": {
|
|
2122
1880
|
"sources": [
|
|
@@ -2132,9 +1890,6 @@ describe('create command tests', () => {
|
|
|
2132
1890
|
},
|
|
2133
1891
|
"meshId": "dummy_mesh_id",
|
|
2134
1892
|
},
|
|
2135
|
-
"sdkList": [
|
|
2136
|
-
"dummy_service",
|
|
2137
|
-
],
|
|
2138
1893
|
}
|
|
2139
1894
|
`);
|
|
2140
1895
|
});
|