@credibledata/cred-cli 0.0.100 → 0.0.103
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/README.md +1 -1
- package/coverage/coverage-summary.json +40 -0
- package/coverage/tmp/coverage-2152-1789496974457-0.json +1 -0
- package/coverage/tmp/coverage-2153-1789496954404-0.json +1 -0
- package/dist/client/api.js +6151 -2254
- 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 +114 -26
- package/dist/clientconfiguration.js.map +1 -1
- package/dist/clientconfiguration.spec.js +159 -37
- package/dist/clientconfiguration.spec.js.map +1 -1
- package/dist/commands/add.js +36 -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/environment/updateenvironment.js +130 -0
- package/dist/commands/environment/updateenvironment.js.map +1 -0
- package/dist/commands/environment/updateenvironment.spec.js +213 -0
- package/dist/commands/environment/updateenvironment.spec.js.map +1 -0
- package/dist/commands/get.js +66 -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 +95 -4
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/materialization/cancelrun.js +62 -0
- package/dist/commands/materialization/cancelrun.js.map +1 -0
- package/dist/commands/materialization/getindex.js +52 -0
- package/dist/commands/materialization/getindex.js.map +1 -0
- package/dist/commands/materialization/getmaterialization.js +54 -0
- package/dist/commands/materialization/getmaterialization.js.map +1 -0
- package/dist/commands/materialization/getpreaggregate.js +55 -0
- package/dist/commands/materialization/getpreaggregate.js.map +1 -0
- package/dist/commands/materialization/getrun.js +54 -0
- package/dist/commands/materialization/getrun.js.map +1 -0
- package/dist/commands/materialization/listindexes.js +58 -0
- package/dist/commands/materialization/listindexes.js.map +1 -0
- package/dist/commands/materialization/listmaterializations.js +52 -0
- package/dist/commands/materialization/listmaterializations.js.map +1 -0
- package/dist/commands/materialization/listpreaggregates.js +61 -0
- package/dist/commands/materialization/listpreaggregates.js.map +1 -0
- package/dist/commands/materialization/listruns.js +60 -0
- package/dist/commands/materialization/listruns.js.map +1 -0
- package/dist/commands/materialization/rerun.js +111 -0
- package/dist/commands/materialization/rerun.js.map +1 -0
- package/dist/commands/misc/login.js +16 -2
- package/dist/commands/misc/login.js.map +1 -1
- package/dist/commands/misc/login.spec.js +133 -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 +11 -4
- package/dist/commands/package/listpackages.js.map +1 -1
- package/dist/commands/package/listpackages.spec.js +13 -1
- package/dist/commands/package/listpackages.spec.js.map +1 -1
- package/dist/commands/package/publish.js +36 -13
- package/dist/commands/package/publish.js.map +1 -1
- package/dist/commands/package/publish.spec.js +27 -1
- 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/permission/createpermission.js +123 -0
- package/dist/commands/permission/createpermission.js.map +1 -0
- package/dist/commands/permission/createpermission.spec.js +360 -0
- package/dist/commands/permission/createpermission.spec.js.map +1 -0
- package/dist/commands/permission/deletepermission.js +86 -0
- package/dist/commands/permission/deletepermission.js.map +1 -0
- package/dist/commands/permission/getpermission.js +85 -0
- package/dist/commands/permission/getpermission.js.map +1 -0
- package/dist/commands/permission/listpermissions.js +75 -0
- package/dist/commands/permission/listpermissions.js.map +1 -0
- package/dist/commands/permission/scope.js +140 -0
- package/dist/commands/permission/scope.js.map +1 -0
- package/dist/commands/rm.js +26 -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 +29 -10
- 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/common/UserGroupId.js +1 -1
- package/dist/common/UserGroupId.js.map +1 -1
- package/dist/common/UserGroupId.spec.js +2 -4
- package/dist/common/UserGroupId.spec.js.map +1 -1
- package/dist/constants.js +95 -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 +128 -15
- package/dist/index.js.map +1 -1
- package/dist/logger.js +5 -1
- package/dist/logger.js.map +1 -1
- package/openapitools.json +4 -1
- package/package.json +10 -9
- package/src/client/api.ts +9363 -3093
- 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 +238 -113
- package/src/clientconfiguration.ts +131 -30
- package/src/commands/add.ts +78 -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/environment/updateenvironment.spec.ts +386 -0
- package/src/commands/environment/updateenvironment.ts +168 -0
- package/src/commands/get.ts +131 -9
- package/src/commands/legacy.ts +5 -0
- package/src/commands/list.ts +204 -9
- package/src/commands/materialization/cancelrun.ts +70 -0
- package/src/commands/materialization/getindex.ts +55 -0
- package/src/commands/materialization/getmaterialization.ts +57 -0
- package/src/commands/materialization/getpreaggregate.ts +58 -0
- package/src/commands/materialization/getrun.ts +55 -0
- package/src/commands/materialization/listindexes.ts +69 -0
- package/src/commands/materialization/listmaterializations.ts +53 -0
- package/src/commands/materialization/listpreaggregates.ts +74 -0
- package/src/commands/materialization/listruns.ts +77 -0
- package/src/commands/materialization/rerun.ts +123 -0
- package/src/commands/misc/login.spec.ts +165 -7
- package/src/commands/misc/login.ts +20 -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 +17 -1
- package/src/commands/package/listpackages.ts +11 -4
- package/src/commands/package/publish.spec.ts +46 -1
- package/src/commands/package/publish.ts +38 -13
- package/src/commands/package/updatepackage.spec.ts +1 -1
- package/src/commands/package/updatepackage.ts +4 -4
- package/src/commands/permission/createpermission.spec.ts +507 -0
- package/src/commands/permission/createpermission.ts +181 -0
- package/src/commands/permission/deletepermission.ts +117 -0
- package/src/commands/permission/getpermission.ts +115 -0
- package/src/commands/permission/listpermissions.ts +101 -0
- package/src/commands/permission/scope.ts +180 -0
- package/src/commands/rm.ts +54 -9
- package/src/commands/set.ts +13 -4
- package/src/commands/update.ts +66 -23
- 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/common/UserGroupId.spec.ts +2 -4
- package/src/common/UserGroupId.ts +1 -1
- package/src/constants.spec.ts +111 -0
- package/src/constants.ts +131 -19
- package/src/index.ts +187 -18
- package/src/logger.ts +5 -1
- package/bun.lock +0 -1158
- 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 +0 -68
- package/dist/commands/project/updateproject.js.map +0 -1
- package/dist/commands/project/updateproject.spec.js +0 -129
- package/dist/commands/project/updateproject.spec.js.map +0 -1
- package/src/commands/project/getproject.spec.ts +0 -109
- package/src/commands/project/updateproject.spec.ts +0 -217
- package/src/commands/project/updateproject.ts +0 -82
|
@@ -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
|
}
|