@rockcarver/frodo-cli 0.11.1-0 → 0.11.1-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.
Files changed (90) hide show
  1. package/CHANGELOG.md +5 -1
  2. package/package.json +12 -10
  3. package/src/app.js +3 -3
  4. package/.eslintrc +0 -29
  5. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -30
  6. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  7. package/.github/README.md +0 -213
  8. package/.github/workflows/pipeline.yml +0 -495
  9. package/.prettierrc +0 -6
  10. package/CODE_OF_CONDUCT.md +0 -128
  11. package/docs/BINARIES.md +0 -22
  12. package/docs/CONTRIBUTE.md +0 -96
  13. package/docs/PIPELINE.md +0 -169
  14. package/docs/images/macos_warn1.png +0 -0
  15. package/docs/images/macos_warn2.png +0 -0
  16. package/docs/images/macos_warn3.png +0 -0
  17. package/docs/images/npm_versioning_guidelines.png +0 -0
  18. package/docs/images/release_pipeline.png +0 -0
  19. package/gulpfile.js +0 -49
  20. package/jsconfig.json +0 -6
  21. package/resources/sampleEntitiesFile.json +0 -8
  22. package/resources/sampleEnvFile.env +0 -2
  23. package/src/cli/journey/journey-delete.e2e.test_.js +0 -380
  24. package/src/cli/journey/journey-list.e2e.test_.js +0 -142
  25. package/src/cli/theme/theme-delete.e2e.test_.js +0 -178
  26. package/src/cli/theme/theme-list.e2e.test_.js +0 -119
  27. package/test/client_cli/en/conn-add.test.js +0 -37
  28. package/test/client_cli/en/conn-delete.test.js +0 -37
  29. package/test/client_cli/en/conn-list.test.js +0 -37
  30. package/test/client_cli/en/conn.test.js +0 -65
  31. package/test/client_cli/en/email-template-import.test.js +0 -156
  32. package/test/client_cli/en/email-template.test.js +0 -79
  33. package/test/client_cli/en/email-templates-export.test.js +0 -208
  34. package/test/client_cli/en/email-templates-list.test.js +0 -139
  35. package/test/client_cli/en/idm-count.test.js +0 -131
  36. package/test/client_cli/en/idm-export.test.js +0 -149
  37. package/test/client_cli/en/idm-import.test_.js +0 -101
  38. package/test/client_cli/en/idm-list.test.js +0 -109
  39. package/test/client_cli/en/idm.test.js +0 -82
  40. package/test/client_cli/en/info.test.js +0 -136
  41. package/test/client_cli/en/journey-describe.test.js +0 -194
  42. package/test/client_cli/en/journey-export.test.js +0 -231
  43. package/test/client_cli/en/journey-import.test.js +0 -212
  44. package/test/client_cli/en/journey-list.test.js +0 -173
  45. package/test/client_cli/en/journey-prune.test.js +0 -159
  46. package/test/client_cli/en/journey.test.js +0 -111
  47. package/test/client_cli/en/logs-list.test.js +0 -81
  48. package/test/client_cli/en/logs-tail.test.js +0 -130
  49. package/test/client_cli/en/logs.test.js +0 -65
  50. package/test/client_cli/en/root.test.js +0 -93
  51. package/test/client_cli/en/script-export.test.js +0 -230
  52. package/test/client_cli/en/script-import.test.js +0 -176
  53. package/test/client_cli/en/script-list.test.js +0 -159
  54. package/test/client_cli/en/script.test.js +0 -79
  55. package/test/client_cli/utils/utils.js +0 -63
  56. package/test/e2e/journey/baseline/ForgottenUsername.journey.json +0 -216
  57. package/test/e2e/journey/baseline/Login.journey.json +0 -205
  58. package/test/e2e/journey/baseline/PasswordGrant.journey.json +0 -139
  59. package/test/e2e/journey/baseline/ProgressiveProfile.journey.json +0 -198
  60. package/test/e2e/journey/baseline/Registration.journey.json +0 -249
  61. package/test/e2e/journey/baseline/ResetPassword.journey.json +0 -268
  62. package/test/e2e/journey/baseline/UpdatePassword.journey.json +0 -323
  63. package/test/e2e/journey/baseline/allAlphaJourneys.journeys.json +0 -1520
  64. package/test/e2e/journey/delete/ForgottenUsername.journey.json +0 -216
  65. package/test/e2e/journey/delete/Login.journey.json +0 -205
  66. package/test/e2e/journey/delete/PasswordGrant.journey.json +0 -139
  67. package/test/e2e/journey/delete/ProgressiveProfile.journey.json +0 -198
  68. package/test/e2e/journey/delete/Registration.journey.json +0 -249
  69. package/test/e2e/journey/delete/ResetPassword.journey.json +0 -268
  70. package/test/e2e/journey/delete/UpdatePassword.journey.json +0 -323
  71. package/test/e2e/journey/delete/deleteMe.journey.json +0 -230
  72. package/test/e2e/journey/list/Disabled.journey.json +0 -43
  73. package/test/e2e/journey/list/ForgottenUsername.journey.json +0 -216
  74. package/test/e2e/journey/list/Login.journey.json +0 -205
  75. package/test/e2e/journey/list/PasswordGrant.journey.json +0 -139
  76. package/test/e2e/journey/list/ProgressiveProfile.journey.json +0 -198
  77. package/test/e2e/journey/list/Registration.journey.json +0 -249
  78. package/test/e2e/journey/list/ResetPassword.journey.json +0 -268
  79. package/test/e2e/journey/list/UpdatePassword.journey.json +0 -323
  80. package/test/e2e/theme/baseline/Contrast.theme.json +0 -95
  81. package/test/e2e/theme/baseline/Highlander.theme.json +0 -95
  82. package/test/e2e/theme/baseline/Robroy.theme.json +0 -95
  83. package/test/e2e/theme/baseline/Starter-Theme.theme.json +0 -94
  84. package/test/e2e/theme/baseline/Zardoz.theme.json +0 -95
  85. package/test/e2e/theme/import/Contrast.theme.json +0 -95
  86. package/test/e2e/theme/import/Highlander.theme.json +0 -95
  87. package/test/e2e/theme/import/Robroy.theme.json +0 -95
  88. package/test/e2e/theme/import/Starter-Theme.theme.json +0 -94
  89. package/test/e2e/theme/import/Zardoz.default.theme.json +0 -95
  90. package/test/fs_tmp/.gitkeep +0 -2
@@ -1,101 +0,0 @@
1
- import cp from 'child_process';
2
- import { promisify } from 'util';
3
- import {
4
- crudeMultilineTakeUntil,
5
- collapseWhitespace,
6
- node14Compatibility,
7
- } from '../utils/utils.js';
8
-
9
- node14Compatibility();
10
-
11
- const exec = promisify(cp.exec);
12
- const CMD = 'frodo idm import --help';
13
- const { stdout } = await exec(CMD);
14
-
15
- test("CLI help interface for 'idm import' Usage should be expected english", async () => {
16
- // Arrange
17
- const expected = `
18
- Usage: frodo idm import [options] <host> [user] [password]
19
- `.trim();
20
- // Act
21
- const testLine = stdout
22
- .split(/\n/)
23
- .find((line) => line.trim().startsWith('Usage:'))
24
- .trim();
25
- // Assert
26
- expect(testLine).toBe(expected);
27
- });
28
-
29
- test("CLI help interface 'idm import' description at line 2 should be expected english", async () => {
30
- // Arrange
31
- const expected = `
32
- Import an IDM configuration object.
33
- `.trim();
34
- // Act
35
- const testLine = stdout
36
- .split(/\n/)
37
- .map((line) => line.trim())
38
- .at(2);
39
- // Assert
40
- expect(testLine).toBe(expected);
41
- });
42
-
43
- test("CLI help interface 'import argument host' description should be expected english multiline", async () => {
44
- // Arrange
45
- const expected = collapseWhitespace(`
46
- host Access Management base URL, e.g.:
47
- https://cdk.iam.example.com/am. To use a connection
48
- profile, just specify a unique substring.
49
- `);
50
- // Act
51
- const testLine = collapseWhitespace(
52
- crudeMultilineTakeUntil(stdout, ' host ', ' user ')
53
- );
54
-
55
- // Assert
56
- expect(testLine).toBe(expected);
57
- });
58
-
59
- test("CLI help interface 'import argument user' description should be expected english multiline", async () => {
60
- // Arrange
61
- const expected = collapseWhitespace(`
62
- user Username to login with. Must be an admin user with
63
- appropriate rights to manage authentication journeys/trees.
64
- `);
65
- // Act
66
- const testLine = collapseWhitespace(
67
- crudeMultilineTakeUntil(stdout, ' user ', ' password ')
68
- );
69
-
70
- // Assert
71
- expect(testLine).toBe(expected);
72
- });
73
-
74
- test("CLI help interface 'import argument password' description should be expected english", async () => {
75
- // Arrange
76
- const expectedDescription = `
77
- password Password.
78
- `.trim();
79
- // Act
80
- const testLine = stdout
81
- .split(/\n/)
82
- .find((line) => line.trim().startsWith('password'))
83
- .trim();
84
- // Assert
85
- expect(testLine).toBe(expectedDescription);
86
- });
87
-
88
- test("CLI help interface 'import option -k, --insecure' description should be expected english multiline", async () => {
89
- // Arrange
90
- const expected = collapseWhitespace(`
91
- -k, --insecure Allow insecure connections when using SSL/TLS
92
- (default: Don't allow insecure connections)
93
- `);
94
- // Act
95
- const testLine = collapseWhitespace(
96
- crudeMultilineTakeUntil(stdout, ' -k, --insecure ', ' -h, --help ')
97
- );
98
-
99
- // Assert
100
- expect(testLine).toBe(expected);
101
- });
@@ -1,109 +0,0 @@
1
- import cp from 'child_process';
2
- import { promisify } from 'util';
3
- import {
4
- crudeMultilineTakeUntil,
5
- collapseWhitespace,
6
- node14Compatibility,
7
- } from '../utils/utils.js';
8
-
9
- node14Compatibility();
10
-
11
- const exec = promisify(cp.exec);
12
- const CMD = 'frodo idm list --help';
13
- const { stdout } = await exec(CMD);
14
-
15
- test("CLI help interface for 'idm list' Usage should be expected english", async () => {
16
- // Arrange
17
- const expected = `
18
- Usage: frodo idm list [options] <host> [realm] [user] [password]
19
- `.trim();
20
- // Act
21
- const testLine = stdout
22
- .split(/\n/)
23
- .find((line) => line.trim().startsWith('Usage:'))
24
- .trim();
25
- // Assert
26
- expect(testLine).toBe(expected);
27
- });
28
-
29
- test("CLI help interface 'idm list' description at line 2 should be expected english", async () => {
30
- // Arrange
31
- const expected = `
32
- List IDM configuration objects.
33
- `.trim();
34
- // Act
35
- const testLine = stdout
36
- .split(/\n/)
37
- .map((line) => line.trim())
38
- .at(2);
39
- // Assert
40
- expect(testLine).toBe(expected);
41
- });
42
-
43
- test("CLI help interface 'list argument host' description should be expected english multiline", async () => {
44
- // Arrange
45
- const expected = collapseWhitespace(`
46
- host Access Management base URL, e.g.: https://cdk.iam.example.com/am. To use a connection profile, just specify a
47
- unique substring.
48
- `);
49
- // Act
50
- const testLine = collapseWhitespace(
51
- crudeMultilineTakeUntil(
52
- stdout,
53
- ' host ',
54
- ' realm '
55
- )
56
- );
57
-
58
- // Assert
59
- expect(testLine).toBe(expected);
60
- });
61
-
62
- test("CLI help interface 'list argument user' description should be expected english multiline", async () => {
63
- // Arrange
64
- const expected = collapseWhitespace(`
65
- user Username to login with. Must be an admin user with
66
- appropriate rights to manage authentication journeys/trees.
67
- `);
68
- // Act
69
- const testLine = collapseWhitespace(
70
- crudeMultilineTakeUntil(stdout, ' user ', ' password ')
71
- );
72
-
73
- // Assert
74
- expect(testLine).toBe(expected);
75
- });
76
-
77
- test("CLI help interface 'list argument password' description should be expected english", async () => {
78
- // Arrange
79
- const expectedDescription = `
80
- password Password.
81
- `.trim();
82
- // Act
83
- const testLine = stdout
84
- .split(/\n/)
85
- .find((line) => line.trim().startsWith('password'))
86
- .trim();
87
- // Assert
88
- expect(testLine).toBe(expectedDescription);
89
- });
90
-
91
- test("CLI help interface 'list option -k, --insecure' description should be expected english multiline", async () => {
92
- // Arrange
93
- const expected = collapseWhitespace(`
94
- -k, --insecure Allow insecure connections when using SSL/TLS. Has no effect when using a network proxy for https
95
- (HTTPS_PROXY=http://<host>:<port>), in that case the proxy must provide this capability. (default: Don't allow
96
- insecure connections)
97
- `);
98
- // Act
99
- const testLine = collapseWhitespace(
100
- crudeMultilineTakeUntil(
101
- stdout,
102
- ' -k, --insecure ',
103
- ' -h, --help '
104
- )
105
- );
106
-
107
- // Assert
108
- expect(testLine).toBe(expected);
109
- });
@@ -1,82 +0,0 @@
1
- import cp from 'child_process';
2
- import { promisify } from 'util';
3
- import {
4
- crudeMultilineTakeUntil,
5
- collapseWhitespace,
6
- node14Compatibility,
7
- } from '../utils/utils.js';
8
-
9
- node14Compatibility();
10
-
11
- const exec = promisify(cp.exec);
12
- const CMD = 'frodo idm --help';
13
- const { stdout } = await exec(CMD);
14
-
15
- test("CLI help interface for 'idm' Usage should be expected english", async () => {
16
- // Arrange
17
- const expected = `
18
- Usage: frodo idm [options] [command]
19
- `.trim();
20
- // Act
21
- const testLine = stdout
22
- .split(/\n/)
23
- .find((line) => line.trim().startsWith('Usage:'))
24
- .trim();
25
- // Assert
26
- expect(testLine).toBe(expected);
27
- });
28
-
29
- test("CLI help interface 'idm' description at line 2 should be expected english", async () => {
30
- // Arrange
31
- const expected = `
32
- Manage IDM configuration.
33
- `.trim();
34
- // Act
35
- const testLine = stdout
36
- .split(/\n/)
37
- .map((line) => line.trim())
38
- .at(2);
39
- // Assert
40
- expect(testLine).toBe(expected);
41
- });
42
-
43
- test("CLI help interface 'idm commands list' description should be expected english", async () => {
44
- // Arrange
45
- const expected = `
46
- list List all IDM configuration objects.
47
- `.trim();
48
- // Act
49
- const testLine = stdout
50
- .split(/\n/)
51
- .find((line) => line.trim().startsWith('list'))
52
- .trim();
53
- // Assert
54
- expect(testLine).toBe(expected);
55
- });
56
-
57
- test("CLI help interface 'idm commands export' description should be expected english", async () => {
58
- // Arrange
59
- const expected = `
60
- export Export IDM configuration objects.
61
- `.trim();
62
- // Act
63
- const testLine = stdout
64
- .split(/\n/)
65
- .find((line) => line.trim().startsWith('export'))
66
- .trim();
67
- // Assert
68
- expect(testLine).toBe(expected);
69
- });
70
-
71
- test("CLI help interface 'idm commands count' description should be expected english multiline", async () => {
72
- // Arrange
73
- const expected = collapseWhitespace(`
74
- count Count number of managed objects of a given type.
75
- `).trim();
76
- // Act
77
- const testLine = collapseWhitespace(
78
- crudeMultilineTakeUntil(stdout, ' count ', ' help [command] ')
79
- );
80
- // Assert
81
- expect(testLine).toBe(expected);
82
- });
@@ -1,136 +0,0 @@
1
- import cp from 'child_process';
2
- import { promisify } from 'util';
3
- import {
4
- crudeMultilineTakeUntil,
5
- collapseWhitespace,
6
- node14Compatibility,
7
- } from '../utils/utils.js';
8
-
9
- node14Compatibility();
10
-
11
- const exec = promisify(cp.exec);
12
- const CMD = 'frodo info --help';
13
- const { stdout } = await exec(CMD);
14
-
15
- test("CLI help interface for 'info' Usage should be expected english", async () => {
16
- // Arrange
17
- const expected = `
18
- Usage: frodo info [options] <host> [user] [password]
19
- `.trim();
20
- // Act
21
- const testLine = stdout
22
- .split(/\n/)
23
- .find((line) => line.trim().startsWith('Usage:'))
24
- .trim();
25
- // Assert
26
- expect(testLine).toBe(expected);
27
- });
28
-
29
- test("CLI help interface 'info' description at line 2 should be expected english", async () => {
30
- // Arrange
31
- const expected = `
32
- Print versions and tokens.
33
- `.trim();
34
- // Act
35
- const testLine = stdout
36
- .split(/\n/)
37
- .map((line) => line.trim())
38
- .at(2);
39
- // Assert
40
- expect(testLine).toBe(expected);
41
- });
42
-
43
- test("CLI help interface 'info argument host' description should be expected english multiline", async () => {
44
- // Arrange
45
- const expected = collapseWhitespace(`
46
- host Access Management base URL, e.g.:
47
- https://cdk.iam.example.com/am. To use a connection profile,
48
- just specify a unique substring.
49
- `);
50
- // Act
51
- const testLine = collapseWhitespace(
52
- crudeMultilineTakeUntil(
53
- stdout,
54
- ' host ',
55
- ' user '
56
- )
57
- );
58
-
59
- // Assert
60
- expect(testLine).toBe(expected);
61
- });
62
-
63
- test("CLI help interface 'info argument user' description should be expected english multiline", async () => {
64
- // Arrange
65
- const expected = collapseWhitespace(`
66
- user Username to login with. Must be an admin user with appropriate
67
- rights to manage authentication journeys/trees.
68
- `);
69
- // Act
70
- const testLine = collapseWhitespace(
71
- crudeMultilineTakeUntil(
72
- stdout,
73
- ' user ',
74
- ' password '
75
- )
76
- );
77
- // Assert
78
- expect(testLine).toBe(expected);
79
- });
80
-
81
- test("CLI help interface 'info argument password' description should be expected english", async () => {
82
- // Arrange
83
- const expected = `
84
- password Password.
85
- `.trim();
86
- // Act
87
- const testLine = stdout
88
- .split(/\n/)
89
- .find((line) => line.trim().startsWith('password'))
90
- .trim();
91
- // Assert
92
- expect(testLine).toBe(expected);
93
- });
94
-
95
- test("CLI help interface 'info Options -m, --type' description should be expected english", async () => {
96
- // Arrange
97
- const expected = collapseWhitespace(`
98
- -m, --type <type> Override auto-detected deployment type. Valid values for type:
99
- classic: A classic Access Management-only deployment with
100
- custom layout and configuration.
101
- cloud: A ForgeRock Identity Cloud environment.
102
- forgeops: A ForgeOps CDK or CDM deployment.
103
- The detected or provided deployment type controls certain
104
- behavior like obtaining an Identity Management admin token or
105
- not and whether to export/import referenced email templates or
106
- how to walk through the tenant admin login flow of Identity
107
- Cloud and handle MFA (choices: "classic", "cloud", "forgeops")
108
- `);
109
- // Act
110
- const testLine = collapseWhitespace(
111
- crudeMultilineTakeUntil(
112
- stdout,
113
- ' -m, --type <type> ',
114
- ' -k, --insecure '
115
- )
116
- );
117
- // Assert
118
- expect(testLine).toBe(expected);
119
- });
120
-
121
- test("CLI help interface 'info Options -k, --insecure' description should be expected english", async () => {
122
- // Arrange
123
- const expected = collapseWhitespace(`
124
- -k, --insecure Allow insecure connections when using SSL/TLS. Has no effect when using a network proxy for https (HTTPS_PROXY=http://<host>:<port>), in that case the proxy must provide this capability. (default: Don't allow insecure connections) -s, --scriptFriendly Send output of operation to STDOUT in a script-friendly format (JSON) which can be piped to other commands. User messages/warnings are output to STDERR, and are not piped. For example, to only get bearer token: <<< frodo info my-tenant -s 2>/dev/null | jq -r .bearerToken >>> (default: Output as plain text)
125
- `);
126
- // Act
127
- const testLine = collapseWhitespace(
128
- crudeMultilineTakeUntil(
129
- stdout,
130
- ' -k, --insecure ',
131
- ' -h, --help '
132
- )
133
- );
134
- // Assert
135
- expect(testLine).toBe(expected);
136
- });
@@ -1,194 +0,0 @@
1
- import cp from 'child_process';
2
- import { promisify } from 'util';
3
- import {
4
- crudeMultilineTakeUntil,
5
- collapseWhitespace,
6
- node14Compatibility,
7
- } from '../utils/utils.js';
8
-
9
- node14Compatibility();
10
-
11
- const exec = promisify(cp.exec);
12
- const CMD = 'frodo journey describe --help';
13
- const { stdout } = await exec(CMD);
14
-
15
- test("CLI help interface for 'journey describe' Usage should be expected english", async () => {
16
- // Arrange
17
- const expected = `
18
- Usage: frodo journey describe [options] <host> [realm] [user] [password]
19
- `.trim();
20
- // Act
21
- const testLine = stdout
22
- .split(/\n/)
23
- .find((line) => line.trim().startsWith('Usage:'))
24
- .trim();
25
- // Assert
26
- expect(testLine).toBe(expected);
27
- });
28
-
29
- test("CLI help interface 'journey describe' description at line 2 should be expected english", async () => {
30
- // Arrange
31
- const expected = `
32
- If -h is supplied, describe the journey/tree indicated by -i, or all journeys/trees in the realm if no -i is supplied, otherwise describe the journey/tree export file indicated by -f.
33
- `.trim();
34
- // Act
35
- const testLine = stdout
36
- .split(/\n/)
37
- .map((line) => line.trim())
38
- .at(2);
39
- // Assert
40
- expect(testLine).toBe(expected);
41
- });
42
-
43
- test("CLI help interface 'describe argument host' description should be expected english multiline", async () => {
44
- // Arrange
45
- const expected = collapseWhitespace(`
46
- host Access Management base URL, e.g.: https://cdk.iam.example.com/am.
47
- To use a connection profile, just specify a unique substring.
48
- `);
49
- // Act
50
- const testLine = collapseWhitespace(
51
- crudeMultilineTakeUntil(
52
- stdout,
53
- ' host ',
54
- ' realm '
55
- )
56
- );
57
-
58
- // Assert
59
- expect(testLine).toBe(expected);
60
- });
61
-
62
- test("CLI help interface 'describe argument realm' description should be expected english multiline", async () => {
63
- // Arrange
64
- const expected = collapseWhitespace(`
65
- realm Realm. Specify realm as '/' for the root realm or 'realm' or '/parent/child' otherwise. (default:
66
- "alpha" for Identity Cloud tenants, "/" otherwise.)
67
- `);
68
- // Act
69
- const testLine = collapseWhitespace(
70
- crudeMultilineTakeUntil(
71
- stdout,
72
- ' realm ',
73
- ' user '
74
- )
75
- );
76
-
77
- // Assert
78
- expect(testLine).toBe(expected);
79
- });
80
-
81
- test("CLI help interface 'describe argument user' description should be expected english multiline", async () => {
82
- // Arrange
83
- const expected = collapseWhitespace(`
84
- user Username to login with. Must be an admin user with appropriate
85
- rights to manage authentication journeys/trees.
86
- `);
87
- // Act
88
- const testLine = collapseWhitespace(
89
- crudeMultilineTakeUntil(
90
- stdout,
91
- ' user ',
92
- ' password '
93
- )
94
- );
95
-
96
- // Assert
97
- expect(testLine).toBe(expected);
98
- });
99
-
100
- test("CLI help interface 'describe argument password' description should be expected english", async () => {
101
- // Arrange
102
- const expectedDescription = `
103
- password Password.
104
- `.trim();
105
- // Act
106
- const testLine = stdout
107
- .split(/\n/)
108
- .find((line) => line.trim().startsWith('password'))
109
- .trim();
110
- // Assert
111
- expect(testLine).toBe(expectedDescription);
112
- });
113
-
114
- test("CLI help interface 'describe option -m, --type <type>' description should be expected english multiline", async () => {
115
- // Arrange
116
- const expected = collapseWhitespace(`
117
- -m, --type <type> Override auto-detected deployment type. Valid values for type:
118
- classic: A classic Access Management-only deployment with custom
119
- layout and configuration.
120
- cloud: A ForgeRock Identity Cloud environment.
121
- forgeops: A ForgeOps CDK or CDM deployment.
122
- The detected or provided deployment type controls certain
123
- behavior like obtaining an Identity Management admin token or not
124
- and whether to export/import referenced email templates or how to
125
- walk through the tenant admin login flow of Identity Cloud and
126
- handle MFA (choices: "classic", "cloud", "forgeops")
127
- `);
128
- // Act
129
- const testLine = collapseWhitespace(
130
- crudeMultilineTakeUntil(
131
- stdout,
132
- ' -m, --type <type> ',
133
- ' -k, --insecure '
134
- )
135
- );
136
-
137
- // Assert
138
- expect(testLine).toBe(expected);
139
- });
140
-
141
- test("CLI help interface 'describe option -t, --tree <tree>' description should be expected english", async () => {
142
- // Arrange
143
- const expectedDescription = `
144
- -i, --journey-id <journey> Name of a journey/tree. If specified, -a and -A are ignored.
145
- `.trim();
146
- // Act
147
- const testLine = collapseWhitespace(
148
- crudeMultilineTakeUntil(
149
- stdout,
150
- ' -i, --journey-id <journey> ',
151
- ' -f, --file <file> '
152
- )
153
- );
154
- // Assert
155
- expect(testLine).toBe(expectedDescription);
156
- });
157
-
158
- test("CLI help interface 'describe option -f, --file <file>' description should be expected english", async () => {
159
- // Arrange
160
- const expectedDescription = `
161
- -f, --file <file> Name of the file to write the exported journey(s) to. Ignored with -A.
162
- `.trim();
163
- // Act
164
- const testLine = collapseWhitespace(
165
- crudeMultilineTakeUntil(
166
- stdout,
167
- ' -f, --file <file> ',
168
- ' -h, --help '
169
- )
170
- );
171
-
172
- // Assert
173
- expect(testLine).toBe(expectedDescription);
174
- });
175
-
176
- test("CLI help interface 'describe option -k, --insecure' description should be expected english multiline", async () => {
177
- // Arrange
178
- const expected = collapseWhitespace(`
179
- -k, --insecure Allow insecure connections when using SSL/TLS. Has no effect when using a network proxy for https
180
- (HTTPS_PROXY=http://<host>:<port>), in that case the proxy must provide this capability. (default:
181
- Don't allow insecure connections)
182
- `);
183
- // Act
184
- const testLine = collapseWhitespace(
185
- crudeMultilineTakeUntil(
186
- stdout,
187
- ' -k, --insecure ',
188
- ' -i, --journey-id <journey> '
189
- )
190
- );
191
-
192
- // Assert
193
- expect(testLine).toBe(expected);
194
- });