@credibledata/cred-cli 0.0.7 → 0.0.102
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/README-DEV.md +2 -2
- package/bun.lock +113 -337
- package/dist/client/api.js +2999 -1953
- package/dist/client/api.js.map +1 -1
- package/dist/client/base.js +1 -1
- package/dist/client/common.js +1 -1
- package/dist/client/configuration.js +1 -1
- package/dist/client/index.js +1 -1
- package/dist/clientconfiguration.js +59 -24
- package/dist/clientconfiguration.js.map +1 -1
- package/dist/clientconfiguration.spec.js +69 -37
- package/dist/clientconfiguration.spec.js.map +1 -1
- package/dist/commands/add.js +18 -5
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/connection/createconnections.js +4 -4
- package/dist/commands/connection/createconnections.js.map +1 -1
- package/dist/commands/connection/createconnections.spec.js +11 -1
- package/dist/commands/connection/createconnections.spec.js.map +1 -1
- package/dist/commands/connection/deleteconnection.js +4 -4
- package/dist/commands/connection/deleteconnection.js.map +1 -1
- package/dist/commands/connection/deleteconnection.spec.js +1 -1
- package/dist/commands/connection/deleteconnection.spec.js.map +1 -1
- package/dist/commands/connection/listconnections.js +4 -4
- package/dist/commands/connection/listconnections.js.map +1 -1
- package/dist/commands/connection/listconnections.spec.js +1 -1
- package/dist/commands/connection/listconnections.spec.js.map +1 -1
- package/dist/commands/{project/createproject.js → environment/createenvironment.js} +17 -14
- package/dist/commands/environment/createenvironment.js.map +1 -0
- package/dist/commands/{project/createproject.spec.js → environment/createenvironment.spec.js} +46 -46
- package/dist/commands/environment/createenvironment.spec.js.map +1 -0
- package/dist/commands/{project/deleteproject.js → environment/deleteenvironment.js} +9 -9
- package/dist/commands/environment/deleteenvironment.js.map +1 -0
- package/dist/commands/{project/deleteproject.spec.js → environment/deleteenvironment.spec.js} +29 -29
- package/dist/commands/environment/deleteenvironment.spec.js.map +1 -0
- package/dist/commands/{project/getproject.js → environment/getenvironment.js} +8 -8
- package/dist/commands/environment/getenvironment.js.map +1 -0
- package/dist/commands/{project/getproject.spec.js → environment/getenvironment.spec.js} +32 -33
- package/dist/commands/environment/getenvironment.spec.js.map +1 -0
- package/dist/commands/{project/listprojects.js → environment/listenvironments.js} +10 -10
- package/dist/commands/environment/listenvironments.js.map +1 -0
- package/dist/commands/{project/listprojects.spec.js → environment/listenvironments.spec.js} +35 -35
- package/dist/commands/environment/listenvironments.spec.js.map +1 -0
- package/dist/commands/{project/setproject.js → environment/setenvironment.js} +6 -5
- package/dist/commands/environment/setenvironment.js.map +1 -0
- package/dist/commands/{project/setproject.spec.js → environment/setenvironment.spec.js} +9 -9
- package/dist/commands/environment/setenvironment.spec.js.map +1 -0
- package/dist/commands/{project/updateproject.js → environment/updateenvironment.js} +13 -13
- package/dist/commands/environment/updateenvironment.js.map +1 -0
- package/dist/commands/{project/updateproject.spec.js → environment/updateenvironment.spec.js} +44 -44
- package/dist/commands/environment/updateenvironment.spec.js.map +1 -0
- package/dist/commands/get.js +15 -5
- package/dist/commands/get.js.map +1 -1
- package/dist/commands/legacy.js +9 -0
- package/dist/commands/legacy.js.map +1 -0
- package/dist/commands/list.js +17 -4
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/misc/login.js +2 -2
- package/dist/commands/misc/login.js.map +1 -1
- package/dist/commands/misc/login.spec.js +41 -5
- package/dist/commands/misc/login.spec.js.map +1 -1
- package/dist/commands/package/deletepackage.js +4 -4
- package/dist/commands/package/deletepackage.js.map +1 -1
- package/dist/commands/package/deletepackage.spec.js +1 -1
- package/dist/commands/package/deletepackage.spec.js.map +1 -1
- package/dist/commands/package/listpackages.js +4 -4
- package/dist/commands/package/listpackages.js.map +1 -1
- package/dist/commands/package/listpackages.spec.js +1 -1
- package/dist/commands/package/listpackages.spec.js.map +1 -1
- package/dist/commands/package/publish.js +10 -10
- package/dist/commands/package/publish.js.map +1 -1
- package/dist/commands/package/publish.spec.js +34 -6
- package/dist/commands/package/publish.spec.js.map +1 -1
- package/dist/commands/package/updatepackage.js +4 -4
- package/dist/commands/package/updatepackage.js.map +1 -1
- package/dist/commands/package/updatepackage.spec.js +1 -1
- package/dist/commands/package/updatepackage.spec.js.map +1 -1
- package/dist/commands/rm.js +15 -4
- package/dist/commands/rm.js.map +1 -1
- package/dist/commands/set.js +12 -4
- package/dist/commands/set.js.map +1 -1
- package/dist/commands/update.js +19 -6
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/version/archive-unarchive-version.js +4 -5
- package/dist/commands/version/archive-unarchive-version.js.map +1 -1
- package/dist/commands/version/archive-unarchive-version.spec.js +4 -4
- package/dist/commands/version/archive-unarchive-version.spec.js.map +1 -1
- package/dist/commands/version/listversions.js +4 -4
- package/dist/commands/version/listversions.js.map +1 -1
- package/dist/commands/version/listversions.spec.js +1 -1
- package/dist/commands/version/listversions.spec.js.map +1 -1
- package/dist/constants.js +47 -19
- package/dist/constants.js.map +1 -1
- package/dist/constants.spec.js +90 -0
- package/dist/constants.spec.js.map +1 -0
- package/dist/index.js +74 -16
- package/dist/index.js.map +1 -1
- package/package.json +7 -8
- package/src/client/api.ts +3552 -2182
- package/src/client/base.ts +1 -1
- package/src/client/common.ts +1 -1
- package/src/client/configuration.ts +1 -1
- package/src/client/index.ts +1 -1
- package/src/clientconfiguration.spec.ts +113 -114
- package/src/clientconfiguration.ts +69 -28
- package/src/commands/add.ts +35 -12
- package/src/commands/connection/createconnections.spec.ts +11 -1
- package/src/commands/connection/createconnections.ts +4 -4
- package/src/commands/connection/deleteconnection.spec.ts +1 -1
- package/src/commands/connection/deleteconnection.ts +4 -4
- package/src/commands/connection/listconnections.spec.ts +1 -1
- package/src/commands/connection/listconnections.ts +4 -4
- package/src/commands/{project/createproject.spec.ts → environment/createenvironment.spec.ts} +56 -54
- package/src/commands/{project/createproject.ts → environment/createenvironment.ts} +17 -14
- package/src/commands/{project/deleteproject.spec.ts → environment/deleteenvironment.spec.ts} +59 -30
- package/src/commands/{project/deleteproject.ts → environment/deleteenvironment.ts} +10 -10
- package/src/commands/environment/getenvironment.spec.ts +110 -0
- package/src/commands/{project/getproject.ts → environment/getenvironment.ts} +9 -9
- package/src/commands/{project/listprojects.spec.ts → environment/listenvironments.spec.ts} +37 -35
- package/src/commands/{project/listprojects.ts → environment/listenvironments.ts} +13 -8
- package/src/commands/{project/setproject.spec.ts → environment/setenvironment.spec.ts} +8 -8
- package/src/commands/{project/setproject.ts → environment/setenvironment.ts} +4 -4
- package/src/commands/{project/updateproject.spec.ts → environment/updateenvironment.spec.ts} +53 -51
- package/src/commands/{project/updateproject.ts → environment/updateenvironment.ts} +19 -17
- package/src/commands/get.ts +22 -9
- package/src/commands/legacy.ts +5 -0
- package/src/commands/list.ts +33 -9
- package/src/commands/misc/login.spec.ts +47 -5
- package/src/commands/misc/login.ts +6 -2
- package/src/commands/package/deletepackage.spec.ts +1 -1
- package/src/commands/package/deletepackage.ts +4 -4
- package/src/commands/package/listpackages.spec.ts +1 -1
- package/src/commands/package/listpackages.ts +4 -4
- package/src/commands/package/publish.spec.ts +36 -6
- package/src/commands/package/publish.ts +12 -8
- package/src/commands/package/updatepackage.spec.ts +1 -1
- package/src/commands/package/updatepackage.ts +4 -4
- package/src/commands/rm.ts +25 -9
- package/src/commands/set.ts +13 -4
- package/src/commands/update.ts +32 -12
- package/src/commands/version/archive-unarchive-version.spec.ts +4 -4
- package/src/commands/version/archive-unarchive-version.ts +4 -7
- package/src/commands/version/listversions.spec.ts +1 -1
- package/src/commands/version/listversions.ts +4 -4
- package/src/constants.spec.ts +111 -0
- package/src/constants.ts +81 -18
- package/src/index.ts +103 -17
- package/dist/commands/project/createproject.js.map +0 -1
- package/dist/commands/project/createproject.spec.js.map +0 -1
- package/dist/commands/project/deleteproject.js.map +0 -1
- package/dist/commands/project/deleteproject.spec.js.map +0 -1
- package/dist/commands/project/getproject.js.map +0 -1
- package/dist/commands/project/getproject.spec.js.map +0 -1
- package/dist/commands/project/listprojects.js.map +0 -1
- package/dist/commands/project/listprojects.spec.js.map +0 -1
- package/dist/commands/project/setproject.js.map +0 -1
- package/dist/commands/project/setproject.spec.js.map +0 -1
- package/dist/commands/project/updateproject.js.map +0 -1
- package/dist/commands/project/updateproject.spec.js.map +0 -1
- package/src/commands/project/getproject.spec.ts +0 -109
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EnvironmentsApi } from "../../client/api";
|
|
2
2
|
import { Configuration } from "../../client/configuration";
|
|
3
3
|
import { ClientConfiguration } from "../../clientconfiguration";
|
|
4
4
|
import { logger } from "../../logger";
|
|
5
5
|
import { getConfirmation, printOutError } from "../../utils";
|
|
6
6
|
|
|
7
|
-
const
|
|
7
|
+
const environmentsApi = new EnvironmentsApi(new Configuration());
|
|
8
8
|
|
|
9
|
-
export async function
|
|
9
|
+
export async function deleteEnvironment(
|
|
10
10
|
controlPlane: string,
|
|
11
|
-
|
|
11
|
+
environmentName: string,
|
|
12
12
|
debug: boolean,
|
|
13
13
|
autoConfirm: boolean,
|
|
14
14
|
) {
|
|
@@ -20,19 +20,19 @@ export async function deleteProject(
|
|
|
20
20
|
}
|
|
21
21
|
if (!autoConfirm) {
|
|
22
22
|
const confirmation = await getConfirmation(
|
|
23
|
-
`Are you sure you that want to delete the ${
|
|
23
|
+
`Are you sure you that want to delete the ${environmentName} environment? This action cannot be undone.`,
|
|
24
24
|
);
|
|
25
25
|
if (!confirmation) {
|
|
26
26
|
logger.info("Operation cancelled.");
|
|
27
27
|
return;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
logger.info("Deleting
|
|
30
|
+
logger.info("Deleting environment " + environmentName);
|
|
31
31
|
|
|
32
32
|
try {
|
|
33
|
-
await
|
|
33
|
+
await environmentsApi.deleteEnvironment(
|
|
34
34
|
clientConfig.getOrganization(),
|
|
35
|
-
|
|
35
|
+
environmentName,
|
|
36
36
|
{
|
|
37
37
|
baseURL: controlPlane,
|
|
38
38
|
headers: {
|
|
@@ -40,9 +40,9 @@ export async function deleteProject(
|
|
|
40
40
|
},
|
|
41
41
|
},
|
|
42
42
|
);
|
|
43
|
-
logger.info("
|
|
43
|
+
logger.info("Environment deleted successfully");
|
|
44
44
|
} catch (e) {
|
|
45
|
-
logger.error("Failed to delete
|
|
45
|
+
logger.error("Failed to delete environment");
|
|
46
46
|
printOutError(e, debug);
|
|
47
47
|
}
|
|
48
48
|
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { expect } from "chai";
|
|
2
|
+
import sinon from "sinon";
|
|
3
|
+
import { EnvironmentsApi } from "../../client/api";
|
|
4
|
+
import { ClientConfiguration } from "../../clientconfiguration";
|
|
5
|
+
import { logger } from "../../logger";
|
|
6
|
+
import { prettifyJson } from "../../utils";
|
|
7
|
+
import { getEnvironment } from "./getenvironment";
|
|
8
|
+
|
|
9
|
+
describe("get-environment", () => {
|
|
10
|
+
let sandbox: sinon.SinonSandbox;
|
|
11
|
+
let getEnvironmentStub: sinon.SinonStub;
|
|
12
|
+
let loggerStub: sinon.SinonStubbedInstance<typeof logger>;
|
|
13
|
+
let consoleLogStub: sinon.SinonStub;
|
|
14
|
+
|
|
15
|
+
beforeEach(() => {
|
|
16
|
+
sandbox = sinon.createSandbox();
|
|
17
|
+
getEnvironmentStub = sandbox.stub();
|
|
18
|
+
loggerStub = sandbox.stub(logger);
|
|
19
|
+
consoleLogStub = sandbox.stub(console, "log");
|
|
20
|
+
|
|
21
|
+
sandbox
|
|
22
|
+
.stub(ClientConfiguration.prototype, "getOrganization")
|
|
23
|
+
.returns("test-org");
|
|
24
|
+
sandbox
|
|
25
|
+
.stub(ClientConfiguration.prototype, "doesConfigExists")
|
|
26
|
+
.returns(true);
|
|
27
|
+
sandbox
|
|
28
|
+
.stub(ClientConfiguration.prototype, "getHeaders")
|
|
29
|
+
.returns({ Authorization: "Bearer test-token" });
|
|
30
|
+
|
|
31
|
+
sandbox
|
|
32
|
+
.stub(EnvironmentsApi.prototype, "getEnvironment")
|
|
33
|
+
.callsFake(getEnvironmentStub);
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
afterEach(() => {
|
|
37
|
+
sandbox.restore();
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
it("should get environment successfully", async () => {
|
|
41
|
+
const mockEnvironmentData = {
|
|
42
|
+
name: "test-environment",
|
|
43
|
+
replicationCount: 3,
|
|
44
|
+
};
|
|
45
|
+
const mockResponse = {
|
|
46
|
+
data: mockEnvironmentData,
|
|
47
|
+
};
|
|
48
|
+
getEnvironmentStub.resolves(mockResponse);
|
|
49
|
+
|
|
50
|
+
await getEnvironment("http://test-server", "test-environment", false);
|
|
51
|
+
|
|
52
|
+
expect(getEnvironmentStub.calledOnce).to.be.true;
|
|
53
|
+
expect(getEnvironmentStub.firstCall.args[0]).to.equal("test-org");
|
|
54
|
+
expect(getEnvironmentStub.firstCall.args[1]).to.equal("test-environment");
|
|
55
|
+
expect(getEnvironmentStub.firstCall.args[2]).to.equal(false);
|
|
56
|
+
expect(getEnvironmentStub.firstCall.args[3]).to.deep.include({
|
|
57
|
+
baseURL: "http://test-server",
|
|
58
|
+
headers: { Authorization: "Bearer test-token" },
|
|
59
|
+
});
|
|
60
|
+
expect(consoleLogStub.calledWith(prettifyJson(mockEnvironmentData))).to.be
|
|
61
|
+
.true;
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
it("should handle missing config", async () => {
|
|
65
|
+
sandbox.restore();
|
|
66
|
+
sandbox = sinon.createSandbox();
|
|
67
|
+
getEnvironmentStub = sandbox.stub();
|
|
68
|
+
loggerStub = sandbox.stub(logger);
|
|
69
|
+
consoleLogStub = sandbox.stub(console, "log");
|
|
70
|
+
|
|
71
|
+
sandbox
|
|
72
|
+
.stub(ClientConfiguration.prototype, "doesConfigExists")
|
|
73
|
+
.returns(false);
|
|
74
|
+
sandbox
|
|
75
|
+
.stub(EnvironmentsApi.prototype, "getEnvironment")
|
|
76
|
+
.callsFake(getEnvironmentStub);
|
|
77
|
+
|
|
78
|
+
await getEnvironment("http://test-server", "test-environment", false);
|
|
79
|
+
|
|
80
|
+
expect(getEnvironmentStub.called).to.be.false;
|
|
81
|
+
expect(
|
|
82
|
+
loggerStub.error.calledWith(
|
|
83
|
+
sinon.match("Please, make sure that you are logged in"),
|
|
84
|
+
),
|
|
85
|
+
).to.be.true;
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
it("should handle missing environment name", async () => {
|
|
89
|
+
await getEnvironment("http://test-server", "", false);
|
|
90
|
+
|
|
91
|
+
expect(getEnvironmentStub.called).to.be.false;
|
|
92
|
+
expect(
|
|
93
|
+
loggerStub.error.calledWith(
|
|
94
|
+
sinon.match("Please, make sure to provide an environment name"),
|
|
95
|
+
),
|
|
96
|
+
).to.be.true;
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
it("should handle API errors", async () => {
|
|
100
|
+
const mockError = new Error("API Error");
|
|
101
|
+
getEnvironmentStub.rejects(mockError);
|
|
102
|
+
|
|
103
|
+
await getEnvironment("http://test-server", "test-environment", true);
|
|
104
|
+
|
|
105
|
+
expect(getEnvironmentStub.calledOnce).to.be.true;
|
|
106
|
+
expect(
|
|
107
|
+
loggerStub.error.calledWith(sinon.match("Failed to get environment")),
|
|
108
|
+
).to.be.true;
|
|
109
|
+
});
|
|
110
|
+
});
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EnvironmentsApi } from "../../client/api";
|
|
2
2
|
import { Configuration } from "../../client/configuration";
|
|
3
3
|
import { ClientConfiguration } from "../../clientconfiguration";
|
|
4
4
|
import { logger } from "../../logger";
|
|
5
5
|
import { prettifyJson, printOutError } from "../../utils";
|
|
6
6
|
|
|
7
|
-
const
|
|
7
|
+
const environmentsApi = new EnvironmentsApi(new Configuration());
|
|
8
8
|
|
|
9
|
-
export async function
|
|
9
|
+
export async function getEnvironment(
|
|
10
10
|
controlPlane: string,
|
|
11
|
-
|
|
11
|
+
environmentName: string,
|
|
12
12
|
debug: boolean,
|
|
13
13
|
) {
|
|
14
14
|
const clientConfig = new ClientConfiguration();
|
|
@@ -19,15 +19,15 @@ export async function getProject(
|
|
|
19
19
|
return;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
if (!
|
|
23
|
-
logger.error("Please, make sure to provide
|
|
22
|
+
if (!environmentName) {
|
|
23
|
+
logger.error("Please, make sure to provide an environment name");
|
|
24
24
|
return;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
try {
|
|
28
|
-
const response = await
|
|
28
|
+
const response = await environmentsApi.getEnvironment(
|
|
29
29
|
organizationName,
|
|
30
|
-
|
|
30
|
+
environmentName,
|
|
31
31
|
false,
|
|
32
32
|
{
|
|
33
33
|
baseURL: controlPlane,
|
|
@@ -37,7 +37,7 @@ export async function getProject(
|
|
|
37
37
|
|
|
38
38
|
console.log(prettifyJson(response.data));
|
|
39
39
|
} catch (e) {
|
|
40
|
-
logger.error("Failed to get
|
|
40
|
+
logger.error("Failed to get environment");
|
|
41
41
|
printOutError(e, debug);
|
|
42
42
|
}
|
|
43
43
|
}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { expect } from "chai";
|
|
2
2
|
import sinon from "sinon";
|
|
3
|
-
import {
|
|
3
|
+
import { EnvironmentsApi } from "../../client/api";
|
|
4
4
|
import { ClientConfiguration } from "../../clientconfiguration";
|
|
5
5
|
import { logger } from "../../logger";
|
|
6
6
|
import { prettifyJson } from "../../utils";
|
|
7
|
-
import {
|
|
7
|
+
import { listEnvironments, printOutEnvironments } from "./listenvironments";
|
|
8
8
|
|
|
9
|
-
describe("list-
|
|
9
|
+
describe("list-environments", () => {
|
|
10
10
|
let sandbox: sinon.SinonSandbox;
|
|
11
|
-
let
|
|
11
|
+
let listEnvironmentsStub: sinon.SinonStub;
|
|
12
12
|
let loggerStub: sinon.SinonStubbedInstance<typeof logger>;
|
|
13
13
|
let consoleLogStub: sinon.SinonStub;
|
|
14
14
|
|
|
15
15
|
beforeEach(() => {
|
|
16
16
|
sandbox = sinon.createSandbox();
|
|
17
|
-
|
|
17
|
+
listEnvironmentsStub = sandbox.stub();
|
|
18
18
|
loggerStub = sandbox.stub(logger);
|
|
19
19
|
consoleLogStub = sandbox.stub(console, "log");
|
|
20
20
|
|
|
@@ -29,37 +29,37 @@ describe("list-projects", () => {
|
|
|
29
29
|
.returns({ Authorization: "Bearer test-token" });
|
|
30
30
|
|
|
31
31
|
sandbox
|
|
32
|
-
.stub(
|
|
33
|
-
.callsFake(
|
|
32
|
+
.stub(EnvironmentsApi.prototype, "listEnvironments")
|
|
33
|
+
.callsFake(listEnvironmentsStub);
|
|
34
34
|
});
|
|
35
35
|
|
|
36
36
|
afterEach(() => {
|
|
37
37
|
sandbox.restore();
|
|
38
38
|
});
|
|
39
39
|
|
|
40
|
-
it("should list
|
|
41
|
-
const
|
|
42
|
-
{ name: "
|
|
43
|
-
{ name: "
|
|
40
|
+
it("should list environments successfully", async () => {
|
|
41
|
+
const mockEnvironments = [
|
|
42
|
+
{ name: "environment1", replicationCount: 2 },
|
|
43
|
+
{ name: "environment2", replicationCount: 3 },
|
|
44
44
|
];
|
|
45
45
|
const mockResponse = {
|
|
46
|
-
data:
|
|
46
|
+
data: mockEnvironments,
|
|
47
47
|
headers: {},
|
|
48
48
|
};
|
|
49
|
-
|
|
49
|
+
listEnvironmentsStub.resolves(mockResponse);
|
|
50
50
|
|
|
51
|
-
const result = await
|
|
51
|
+
const result = await listEnvironments("http://test-server", false);
|
|
52
52
|
|
|
53
|
-
expect(
|
|
54
|
-
expect(
|
|
55
|
-
expect(
|
|
56
|
-
expect(
|
|
57
|
-
expect(
|
|
53
|
+
expect(listEnvironmentsStub.calledOnce).to.be.true;
|
|
54
|
+
expect(listEnvironmentsStub.firstCall.args[0]).to.equal("test-org");
|
|
55
|
+
expect(listEnvironmentsStub.firstCall.args[1]).to.equal(-1); // limit
|
|
56
|
+
expect(listEnvironmentsStub.firstCall.args[2]).to.equal(0); // offset
|
|
57
|
+
expect(listEnvironmentsStub.firstCall.args[3]).to.deep.include({
|
|
58
58
|
baseURL: "http://test-server",
|
|
59
59
|
headers: { Authorization: "Bearer test-token" },
|
|
60
60
|
});
|
|
61
61
|
expect(result).to.deep.equal({
|
|
62
|
-
projects:
|
|
62
|
+
projects: mockEnvironments,
|
|
63
63
|
totalCount: undefined,
|
|
64
64
|
});
|
|
65
65
|
});
|
|
@@ -67,7 +67,7 @@ describe("list-projects", () => {
|
|
|
67
67
|
it("should return empty array when config doesn't exist", async () => {
|
|
68
68
|
sandbox.restore();
|
|
69
69
|
sandbox = sinon.createSandbox();
|
|
70
|
-
|
|
70
|
+
listEnvironmentsStub = sandbox.stub();
|
|
71
71
|
loggerStub = sandbox.stub(logger);
|
|
72
72
|
consoleLogStub = sandbox.stub(console, "log");
|
|
73
73
|
|
|
@@ -75,12 +75,12 @@ describe("list-projects", () => {
|
|
|
75
75
|
.stub(ClientConfiguration.prototype, "doesConfigExists")
|
|
76
76
|
.returns(false);
|
|
77
77
|
sandbox
|
|
78
|
-
.stub(
|
|
79
|
-
.callsFake(
|
|
78
|
+
.stub(EnvironmentsApi.prototype, "listEnvironments")
|
|
79
|
+
.callsFake(listEnvironmentsStub);
|
|
80
80
|
|
|
81
|
-
const result = await
|
|
81
|
+
const result = await listEnvironments("http://test-server", false);
|
|
82
82
|
|
|
83
|
-
expect(
|
|
83
|
+
expect(listEnvironmentsStub.called).to.be.false;
|
|
84
84
|
expect(result).to.be.undefined;
|
|
85
85
|
expect(
|
|
86
86
|
loggerStub.error.calledWith(
|
|
@@ -91,31 +91,33 @@ describe("list-projects", () => {
|
|
|
91
91
|
|
|
92
92
|
it("should return empty array on API error", async () => {
|
|
93
93
|
const mockError = new Error("API Error");
|
|
94
|
-
|
|
94
|
+
listEnvironmentsStub.rejects(mockError);
|
|
95
95
|
|
|
96
|
-
const result = await
|
|
96
|
+
const result = await listEnvironments("http://test-server", true);
|
|
97
97
|
|
|
98
|
-
expect(
|
|
98
|
+
expect(listEnvironmentsStub.calledOnce).to.be.true;
|
|
99
99
|
expect(result).to.be.undefined;
|
|
100
100
|
expect(
|
|
101
|
-
loggerStub.error.calledWith(
|
|
101
|
+
loggerStub.error.calledWith(
|
|
102
|
+
sinon.match("Failed to list environments"),
|
|
103
|
+
),
|
|
102
104
|
).to.be.true;
|
|
103
105
|
});
|
|
104
106
|
|
|
105
|
-
it("should print
|
|
106
|
-
const
|
|
107
|
+
it("should print environments when using printOutEnvironments", async () => {
|
|
108
|
+
const mockEnvironments = [{ name: "environment1" }];
|
|
107
109
|
const mockResponse = {
|
|
108
|
-
data:
|
|
110
|
+
data: mockEnvironments,
|
|
109
111
|
headers: {},
|
|
110
112
|
};
|
|
111
|
-
|
|
113
|
+
listEnvironmentsStub.resolves(mockResponse);
|
|
112
114
|
|
|
113
|
-
await
|
|
115
|
+
await printOutEnvironments("http://test-server", false);
|
|
114
116
|
|
|
115
117
|
expect(consoleLogStub.calledOnce).to.be.true;
|
|
116
118
|
const loggedValue = consoleLogStub.firstCall.args[0];
|
|
117
119
|
const parsed = JSON.parse(loggedValue);
|
|
118
120
|
expect(parsed).to.have.property("projects");
|
|
119
|
-
expect(parsed.projects).to.deep.equal(
|
|
121
|
+
expect(parsed.projects).to.deep.equal(mockEnvironments);
|
|
120
122
|
});
|
|
121
123
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EnvironmentsApi } from "../../client/api";
|
|
2
2
|
import { Configuration } from "../../client/configuration";
|
|
3
3
|
import { ClientConfiguration } from "../../clientconfiguration";
|
|
4
4
|
import { logger } from "../../logger";
|
|
@@ -9,9 +9,9 @@ import {
|
|
|
9
9
|
extractTotalCount,
|
|
10
10
|
} from "../../utils";
|
|
11
11
|
|
|
12
|
-
const
|
|
12
|
+
const environmentsApi = new EnvironmentsApi(new Configuration());
|
|
13
13
|
|
|
14
|
-
export async function
|
|
14
|
+
export async function listEnvironments(
|
|
15
15
|
controlPlane: string,
|
|
16
16
|
debug: boolean,
|
|
17
17
|
page?: string | number,
|
|
@@ -27,7 +27,7 @@ export async function listProjects(
|
|
|
27
27
|
try {
|
|
28
28
|
const { limit, offset } = parsePaginationParams(page, pageSize);
|
|
29
29
|
|
|
30
|
-
const response = await
|
|
30
|
+
const response = await environmentsApi.listEnvironments(
|
|
31
31
|
clientConfig.getOrganization(),
|
|
32
32
|
limit,
|
|
33
33
|
offset,
|
|
@@ -44,19 +44,24 @@ export async function listProjects(
|
|
|
44
44
|
totalCount,
|
|
45
45
|
};
|
|
46
46
|
} catch (e) {
|
|
47
|
-
logger.error("Failed to list
|
|
47
|
+
logger.error("Failed to list environments");
|
|
48
48
|
printOutError(e, debug);
|
|
49
49
|
return;
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
-
export async function
|
|
53
|
+
export async function printOutEnvironments(
|
|
54
54
|
controlPlane: string,
|
|
55
55
|
debug: boolean,
|
|
56
56
|
page?: string | number,
|
|
57
57
|
pageSize?: string | number,
|
|
58
58
|
) {
|
|
59
|
-
const
|
|
59
|
+
const environments = await listEnvironments(
|
|
60
|
+
controlPlane,
|
|
61
|
+
debug,
|
|
62
|
+
page,
|
|
63
|
+
pageSize,
|
|
64
|
+
);
|
|
60
65
|
|
|
61
|
-
console.log(prettifyJson(
|
|
66
|
+
console.log(prettifyJson(environments));
|
|
62
67
|
}
|
|
@@ -2,9 +2,9 @@ import { expect } from "chai";
|
|
|
2
2
|
import sinon from "sinon";
|
|
3
3
|
import { ClientConfiguration } from "../../clientconfiguration";
|
|
4
4
|
import { logger } from "../../logger";
|
|
5
|
-
import {
|
|
5
|
+
import { setEnvironment } from "./setenvironment";
|
|
6
6
|
|
|
7
|
-
describe("set-
|
|
7
|
+
describe("set-environment", () => {
|
|
8
8
|
let sandbox: sinon.SinonSandbox;
|
|
9
9
|
let setProjectStub: sinon.SinonStub;
|
|
10
10
|
let loggerStub: sinon.SinonStubbedInstance<typeof logger>;
|
|
@@ -28,13 +28,13 @@ describe("set-project", () => {
|
|
|
28
28
|
sandbox.restore();
|
|
29
29
|
});
|
|
30
30
|
|
|
31
|
-
it("should set
|
|
32
|
-
await
|
|
31
|
+
it("should set environment successfully", async () => {
|
|
32
|
+
await setEnvironment("test-environment");
|
|
33
33
|
|
|
34
34
|
expect(setProjectStub.calledOnce).to.be.true;
|
|
35
|
-
expect(setProjectStub.firstCall.args[0]).to.equal("test-
|
|
36
|
-
expect(consoleLogStub.calledWith("Setting
|
|
37
|
-
.true;
|
|
35
|
+
expect(setProjectStub.firstCall.args[0]).to.equal("test-environment");
|
|
36
|
+
expect(consoleLogStub.calledWith("Setting environment test-environment"))
|
|
37
|
+
.to.be.true;
|
|
38
38
|
});
|
|
39
39
|
|
|
40
40
|
it("should handle missing config", async () => {
|
|
@@ -51,7 +51,7 @@ describe("set-project", () => {
|
|
|
51
51
|
.stub(ClientConfiguration.prototype, "doesConfigExists")
|
|
52
52
|
.returns(false);
|
|
53
53
|
|
|
54
|
-
await
|
|
54
|
+
await setEnvironment("test-environment");
|
|
55
55
|
|
|
56
56
|
expect(setProjectStub.called).to.be.false;
|
|
57
57
|
expect(
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { ClientConfiguration } from "../../clientconfiguration";
|
|
2
2
|
import { logger } from "../../logger";
|
|
3
3
|
|
|
4
|
-
export async function
|
|
5
|
-
console.log("Setting
|
|
4
|
+
export async function setEnvironment(environmentName: string) {
|
|
5
|
+
console.log("Setting environment " + environmentName);
|
|
6
6
|
const clientConfig = new ClientConfiguration();
|
|
7
7
|
|
|
8
8
|
if (!clientConfig.doesConfigExists()) {
|
|
9
9
|
logger.error("Please, make sure that you are logged in");
|
|
10
10
|
return;
|
|
11
11
|
}
|
|
12
|
-
|
|
13
|
-
clientConfig.setProject(
|
|
12
|
+
//TODO: Validate environment exists and user has access.
|
|
13
|
+
clientConfig.setProject(environmentName);
|
|
14
14
|
}
|