@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
package/src/commands/{project/createproject.spec.ts → environment/createenvironment.spec.ts}
RENAMED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { expect } from "chai";
|
|
2
2
|
import fs from "fs";
|
|
3
3
|
import sinon from "sinon";
|
|
4
|
-
import {
|
|
4
|
+
import { EnvironmentsApi } from "../../client/api";
|
|
5
5
|
import { ClientConfiguration } from "../../clientconfiguration";
|
|
6
6
|
import { logger } from "../../logger";
|
|
7
7
|
import { getConfirmation } from "../../utils";
|
|
8
|
-
import {
|
|
8
|
+
import { createEnvironment } from "./createenvironment";
|
|
9
9
|
|
|
10
|
-
describe("create-
|
|
10
|
+
describe("create-environment", () => {
|
|
11
11
|
let sandbox: sinon.SinonSandbox;
|
|
12
|
-
let
|
|
12
|
+
let createEnvironmentStub: sinon.SinonStub;
|
|
13
13
|
let loggerStub: sinon.SinonStubbedInstance<typeof logger>;
|
|
14
14
|
let consoleLogStub: sinon.SinonStub;
|
|
15
15
|
let getConfirmationStub: sinon.SinonStub;
|
|
@@ -18,7 +18,7 @@ describe("create-project", () => {
|
|
|
18
18
|
|
|
19
19
|
beforeEach(() => {
|
|
20
20
|
sandbox = sinon.createSandbox();
|
|
21
|
-
|
|
21
|
+
createEnvironmentStub = sandbox.stub();
|
|
22
22
|
loggerStub = sandbox.stub(logger);
|
|
23
23
|
consoleLogStub = sandbox.stub(console, "log");
|
|
24
24
|
getConfirmationStub = sandbox.stub();
|
|
@@ -39,8 +39,8 @@ describe("create-project", () => {
|
|
|
39
39
|
.returns("Bearer test-token");
|
|
40
40
|
|
|
41
41
|
sandbox
|
|
42
|
-
.stub(
|
|
43
|
-
.callsFake(
|
|
42
|
+
.stub(EnvironmentsApi.prototype, "createEnvironment")
|
|
43
|
+
.callsFake(createEnvironmentStub);
|
|
44
44
|
sandbox
|
|
45
45
|
.stub(require("../../utils"), "getConfirmation")
|
|
46
46
|
.callsFake(getConfirmationStub);
|
|
@@ -50,47 +50,47 @@ describe("create-project", () => {
|
|
|
50
50
|
sandbox.restore();
|
|
51
51
|
});
|
|
52
52
|
|
|
53
|
-
it("should create
|
|
53
|
+
it("should create environment successfully", async () => {
|
|
54
54
|
const mockResponse = {
|
|
55
|
-
data: { name: "test-
|
|
55
|
+
data: { name: "test-environment", replicationCount: 2 },
|
|
56
56
|
};
|
|
57
|
-
|
|
57
|
+
createEnvironmentStub.resolves(mockResponse);
|
|
58
58
|
getConfirmationStub.resolves(true);
|
|
59
59
|
|
|
60
|
-
await
|
|
60
|
+
await createEnvironment(
|
|
61
61
|
"http://test-server",
|
|
62
|
-
"test-
|
|
62
|
+
"test-environment",
|
|
63
63
|
"",
|
|
64
64
|
undefined,
|
|
65
65
|
false,
|
|
66
66
|
true,
|
|
67
67
|
);
|
|
68
68
|
|
|
69
|
-
expect(
|
|
70
|
-
expect(
|
|
71
|
-
expect(
|
|
72
|
-
name: "test-
|
|
69
|
+
expect(createEnvironmentStub.calledOnce).to.be.true;
|
|
70
|
+
expect(createEnvironmentStub.firstCall.args[0]).to.equal("test-org");
|
|
71
|
+
expect(createEnvironmentStub.firstCall.args[1]).to.deep.include({
|
|
72
|
+
name: "test-environment",
|
|
73
73
|
readme: "",
|
|
74
74
|
});
|
|
75
|
-
expect(setProjectStub.calledWith("test-
|
|
75
|
+
expect(setProjectStub.calledWith("test-environment")).to.be.true;
|
|
76
76
|
expect(
|
|
77
77
|
loggerStub.info.calledWith(
|
|
78
|
-
sinon.match("
|
|
78
|
+
sinon.match("Environment created successfully"),
|
|
79
79
|
),
|
|
80
80
|
).to.be.true;
|
|
81
81
|
});
|
|
82
82
|
|
|
83
|
-
it("should create
|
|
83
|
+
it("should create environment with readme file", async () => {
|
|
84
84
|
const mockResponse = {
|
|
85
|
-
data: { name: "test-
|
|
85
|
+
data: { name: "test-environment" },
|
|
86
86
|
};
|
|
87
|
-
|
|
87
|
+
createEnvironmentStub.resolves(mockResponse);
|
|
88
88
|
getConfirmationStub.resolves(true);
|
|
89
89
|
readFileSyncStub.returns("README content");
|
|
90
90
|
|
|
91
|
-
await
|
|
91
|
+
await createEnvironment(
|
|
92
92
|
"http://test-server",
|
|
93
|
-
"test-
|
|
93
|
+
"test-environment",
|
|
94
94
|
"/path/to/readme.md",
|
|
95
95
|
undefined,
|
|
96
96
|
false,
|
|
@@ -98,30 +98,30 @@ describe("create-project", () => {
|
|
|
98
98
|
);
|
|
99
99
|
|
|
100
100
|
expect(readFileSyncStub.calledWith("/path/to/readme.md")).to.be.true;
|
|
101
|
-
expect(
|
|
102
|
-
name: "test-
|
|
101
|
+
expect(createEnvironmentStub.firstCall.args[1]).to.deep.include({
|
|
102
|
+
name: "test-environment",
|
|
103
103
|
readme: "README content",
|
|
104
104
|
});
|
|
105
105
|
});
|
|
106
106
|
|
|
107
|
-
it("should create
|
|
107
|
+
it("should create environment with replication count", async () => {
|
|
108
108
|
const mockResponse = {
|
|
109
|
-
data: { name: "test-
|
|
109
|
+
data: { name: "test-environment", replicationCount: 5 },
|
|
110
110
|
};
|
|
111
|
-
|
|
111
|
+
createEnvironmentStub.resolves(mockResponse);
|
|
112
112
|
getConfirmationStub.resolves(true);
|
|
113
113
|
|
|
114
|
-
await
|
|
114
|
+
await createEnvironment(
|
|
115
115
|
"http://test-server",
|
|
116
|
-
"test-
|
|
116
|
+
"test-environment",
|
|
117
117
|
"",
|
|
118
118
|
5,
|
|
119
119
|
false,
|
|
120
120
|
true,
|
|
121
121
|
);
|
|
122
122
|
|
|
123
|
-
expect(
|
|
124
|
-
name: "test-
|
|
123
|
+
expect(createEnvironmentStub.firstCall.args[1]).to.deep.include({
|
|
124
|
+
name: "test-environment",
|
|
125
125
|
replicationCount: 5,
|
|
126
126
|
});
|
|
127
127
|
expect(
|
|
@@ -132,7 +132,7 @@ describe("create-project", () => {
|
|
|
132
132
|
it("should handle missing config", async () => {
|
|
133
133
|
sandbox.restore();
|
|
134
134
|
sandbox = sinon.createSandbox();
|
|
135
|
-
|
|
135
|
+
createEnvironmentStub = sandbox.stub();
|
|
136
136
|
loggerStub = sandbox.stub(logger);
|
|
137
137
|
consoleLogStub = sandbox.stub(console, "log");
|
|
138
138
|
getConfirmationStub = sandbox.stub();
|
|
@@ -146,22 +146,22 @@ describe("create-project", () => {
|
|
|
146
146
|
.stub(ClientConfiguration.prototype, "doesConfigExists")
|
|
147
147
|
.returns(false);
|
|
148
148
|
sandbox
|
|
149
|
-
.stub(
|
|
150
|
-
.callsFake(
|
|
149
|
+
.stub(EnvironmentsApi.prototype, "createEnvironment")
|
|
150
|
+
.callsFake(createEnvironmentStub);
|
|
151
151
|
sandbox
|
|
152
152
|
.stub(require("../../utils"), "getConfirmation")
|
|
153
153
|
.callsFake(getConfirmationStub);
|
|
154
154
|
|
|
155
|
-
await
|
|
155
|
+
await createEnvironment(
|
|
156
156
|
"http://test-server",
|
|
157
|
-
"test-
|
|
157
|
+
"test-environment",
|
|
158
158
|
"",
|
|
159
159
|
undefined,
|
|
160
160
|
false,
|
|
161
161
|
true,
|
|
162
162
|
);
|
|
163
163
|
|
|
164
|
-
expect(
|
|
164
|
+
expect(createEnvironmentStub.called).to.be.false;
|
|
165
165
|
expect(
|
|
166
166
|
loggerStub.error.calledWith(
|
|
167
167
|
sinon.match("Please, make sure that you are logged in"),
|
|
@@ -170,16 +170,16 @@ describe("create-project", () => {
|
|
|
170
170
|
});
|
|
171
171
|
|
|
172
172
|
it("should reject replication count less than 1", async () => {
|
|
173
|
-
await
|
|
173
|
+
await createEnvironment(
|
|
174
174
|
"http://test-server",
|
|
175
|
-
"test-
|
|
175
|
+
"test-environment",
|
|
176
176
|
"",
|
|
177
177
|
0,
|
|
178
178
|
false,
|
|
179
179
|
true,
|
|
180
180
|
);
|
|
181
181
|
|
|
182
|
-
expect(
|
|
182
|
+
expect(createEnvironmentStub.called).to.be.false;
|
|
183
183
|
expect(
|
|
184
184
|
loggerStub.error.calledWith(
|
|
185
185
|
sinon.match("Replication count must be at least 1"),
|
|
@@ -189,14 +189,14 @@ describe("create-project", () => {
|
|
|
189
189
|
|
|
190
190
|
it("should request confirmation when autoConfirm is false", async () => {
|
|
191
191
|
const mockResponse = {
|
|
192
|
-
data: { name: "test-
|
|
192
|
+
data: { name: "test-environment" },
|
|
193
193
|
};
|
|
194
|
-
|
|
194
|
+
createEnvironmentStub.resolves(mockResponse);
|
|
195
195
|
getConfirmationStub.resolves(true);
|
|
196
196
|
|
|
197
|
-
await
|
|
197
|
+
await createEnvironment(
|
|
198
198
|
"http://test-server",
|
|
199
|
-
"test-
|
|
199
|
+
"test-environment",
|
|
200
200
|
"",
|
|
201
201
|
undefined,
|
|
202
202
|
false,
|
|
@@ -204,15 +204,15 @@ describe("create-project", () => {
|
|
|
204
204
|
);
|
|
205
205
|
|
|
206
206
|
expect(getConfirmationStub.calledOnce).to.be.true;
|
|
207
|
-
expect(
|
|
207
|
+
expect(createEnvironmentStub.calledOnce).to.be.true;
|
|
208
208
|
});
|
|
209
209
|
|
|
210
210
|
it("should cancel when confirmation is denied", async () => {
|
|
211
211
|
getConfirmationStub.resolves(false);
|
|
212
212
|
|
|
213
|
-
await
|
|
213
|
+
await createEnvironment(
|
|
214
214
|
"http://test-server",
|
|
215
|
-
"test-
|
|
215
|
+
"test-environment",
|
|
216
216
|
"",
|
|
217
217
|
undefined,
|
|
218
218
|
false,
|
|
@@ -220,28 +220,30 @@ describe("create-project", () => {
|
|
|
220
220
|
);
|
|
221
221
|
|
|
222
222
|
expect(getConfirmationStub.calledOnce).to.be.true;
|
|
223
|
-
expect(
|
|
223
|
+
expect(createEnvironmentStub.called).to.be.false;
|
|
224
224
|
expect(loggerStub.info.calledWith(sinon.match("Operation cancelled."))).to
|
|
225
225
|
.be.true;
|
|
226
226
|
});
|
|
227
227
|
|
|
228
228
|
it("should handle API errors", async () => {
|
|
229
229
|
const mockError = new Error("API Error");
|
|
230
|
-
|
|
230
|
+
createEnvironmentStub.rejects(mockError);
|
|
231
231
|
getConfirmationStub.resolves(true);
|
|
232
232
|
|
|
233
|
-
await
|
|
233
|
+
await createEnvironment(
|
|
234
234
|
"http://test-server",
|
|
235
|
-
"test-
|
|
235
|
+
"test-environment",
|
|
236
236
|
"",
|
|
237
237
|
undefined,
|
|
238
238
|
true,
|
|
239
239
|
true,
|
|
240
240
|
);
|
|
241
241
|
|
|
242
|
-
expect(
|
|
242
|
+
expect(createEnvironmentStub.calledOnce).to.be.true;
|
|
243
243
|
expect(
|
|
244
|
-
loggerStub.error.calledWith(
|
|
244
|
+
loggerStub.error.calledWith(
|
|
245
|
+
sinon.match("Failed to create environment"),
|
|
246
|
+
),
|
|
245
247
|
).to.be.true;
|
|
246
248
|
});
|
|
247
249
|
});
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import fs from "fs";
|
|
2
|
-
import {
|
|
2
|
+
import { Environment, EnvironmentsApi } from "../../client/api";
|
|
3
3
|
import { Configuration } from "../../client/configuration";
|
|
4
4
|
import { ClientConfiguration } from "../../clientconfiguration";
|
|
5
5
|
import { logger } from "../../logger";
|
|
6
6
|
import { getConfirmation, printOutError } from "../../utils";
|
|
7
7
|
|
|
8
|
-
const
|
|
8
|
+
const environmentsApi = new EnvironmentsApi(new Configuration());
|
|
9
9
|
|
|
10
|
-
export async function
|
|
10
|
+
export async function createEnvironment(
|
|
11
11
|
controlPlane: string,
|
|
12
|
-
|
|
12
|
+
environmentName: string,
|
|
13
13
|
readmeFile: string,
|
|
14
14
|
replicationCount: number | undefined,
|
|
15
15
|
debug: boolean,
|
|
@@ -27,14 +27,14 @@ export async function createProject(
|
|
|
27
27
|
}
|
|
28
28
|
if (!autoConfirm) {
|
|
29
29
|
const confirmation = await getConfirmation(
|
|
30
|
-
`Are you sure you that want to create
|
|
30
|
+
`Are you sure you that want to create an environment named ${environmentName}?`,
|
|
31
31
|
);
|
|
32
32
|
if (!confirmation) {
|
|
33
33
|
logger.info("Operation cancelled.");
|
|
34
34
|
return;
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
logger.info("Creating
|
|
37
|
+
logger.info("Creating environment " + environmentName);
|
|
38
38
|
|
|
39
39
|
let readmeContents = "";
|
|
40
40
|
if (readmeFile) {
|
|
@@ -42,12 +42,15 @@ export async function createProject(
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
try {
|
|
45
|
-
const
|
|
45
|
+
const environment: Environment = {
|
|
46
|
+
name: environmentName,
|
|
47
|
+
readme: readmeContents,
|
|
48
|
+
};
|
|
46
49
|
if (replicationCount !== undefined) {
|
|
47
|
-
|
|
50
|
+
environment.replicationCount = replicationCount;
|
|
48
51
|
}
|
|
49
|
-
await
|
|
50
|
-
.
|
|
52
|
+
await environmentsApi
|
|
53
|
+
.createEnvironment(clientConfig.getOrganization(), environment, {
|
|
51
54
|
baseURL: controlPlane,
|
|
52
55
|
headers: {
|
|
53
56
|
Authorization: clientConfig.getAuthenticationHeader(),
|
|
@@ -56,15 +59,15 @@ export async function createProject(
|
|
|
56
59
|
.then((response) => {
|
|
57
60
|
const jsonString = JSON.stringify(response.data, null, 2);
|
|
58
61
|
console.log(jsonString);
|
|
59
|
-
// Make the new
|
|
60
|
-
clientConfig.setProject(
|
|
62
|
+
// Make the new environment the default environment.
|
|
63
|
+
clientConfig.setProject(environmentName);
|
|
61
64
|
if (replicationCount !== undefined) {
|
|
62
65
|
logger.info(`Replication count set to ${replicationCount}`);
|
|
63
66
|
}
|
|
64
67
|
});
|
|
65
|
-
logger.info("
|
|
68
|
+
logger.info("Environment created successfully");
|
|
66
69
|
} catch (e) {
|
|
67
|
-
logger.error("Failed to create
|
|
70
|
+
logger.error("Failed to create environment");
|
|
68
71
|
printOutError(e, debug);
|
|
69
72
|
}
|
|
70
73
|
}
|
package/src/commands/{project/deleteproject.spec.ts → environment/deleteenvironment.spec.ts}
RENAMED
|
@@ -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 { getConfirmation } from "../../utils";
|
|
7
|
-
import {
|
|
7
|
+
import { deleteEnvironment } from "./deleteenvironment";
|
|
8
8
|
|
|
9
|
-
describe("delete-
|
|
9
|
+
describe("delete-environment", () => {
|
|
10
10
|
let sandbox: sinon.SinonSandbox;
|
|
11
|
-
let
|
|
11
|
+
let deleteEnvironmentStub: sinon.SinonStub;
|
|
12
12
|
let loggerStub: sinon.SinonStubbedInstance<typeof logger>;
|
|
13
13
|
let getConfirmationStub: sinon.SinonStub;
|
|
14
14
|
|
|
15
15
|
beforeEach(() => {
|
|
16
16
|
sandbox = sinon.createSandbox();
|
|
17
|
-
|
|
17
|
+
deleteEnvironmentStub = sandbox.stub();
|
|
18
18
|
loggerStub = sandbox.stub(logger);
|
|
19
19
|
getConfirmationStub = sandbox.stub();
|
|
20
20
|
|
|
@@ -29,8 +29,8 @@ describe("delete-project", () => {
|
|
|
29
29
|
.returns("Bearer test-token");
|
|
30
30
|
|
|
31
31
|
sandbox
|
|
32
|
-
.stub(
|
|
33
|
-
.callsFake(
|
|
32
|
+
.stub(EnvironmentsApi.prototype, "deleteEnvironment")
|
|
33
|
+
.callsFake(deleteEnvironmentStub);
|
|
34
34
|
sandbox
|
|
35
35
|
.stub(require("../../utils"), "getConfirmation")
|
|
36
36
|
.callsFake(getConfirmationStub);
|
|
@@ -40,22 +40,29 @@ describe("delete-project", () => {
|
|
|
40
40
|
sandbox.restore();
|
|
41
41
|
});
|
|
42
42
|
|
|
43
|
-
it("should delete
|
|
44
|
-
|
|
43
|
+
it("should delete environment successfully", async () => {
|
|
44
|
+
deleteEnvironmentStub.resolves({ status: 200 });
|
|
45
45
|
getConfirmationStub.resolves(true);
|
|
46
46
|
|
|
47
|
-
await
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
47
|
+
await deleteEnvironment(
|
|
48
|
+
"http://test-server",
|
|
49
|
+
"test-environment",
|
|
50
|
+
false,
|
|
51
|
+
true,
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
expect(deleteEnvironmentStub.calledOnce).to.be.true;
|
|
55
|
+
expect(deleteEnvironmentStub.firstCall.args[0]).to.equal("test-org");
|
|
56
|
+
expect(deleteEnvironmentStub.firstCall.args[1]).to.equal(
|
|
57
|
+
"test-environment",
|
|
58
|
+
);
|
|
59
|
+
expect(deleteEnvironmentStub.firstCall.args[2]).to.deep.include({
|
|
53
60
|
baseURL: "http://test-server",
|
|
54
61
|
headers: { Authorization: "Bearer test-token" },
|
|
55
62
|
});
|
|
56
63
|
expect(
|
|
57
64
|
loggerStub.info.calledWith(
|
|
58
|
-
sinon.match("
|
|
65
|
+
sinon.match("Environment deleted successfully"),
|
|
59
66
|
),
|
|
60
67
|
).to.be.true;
|
|
61
68
|
});
|
|
@@ -63,7 +70,7 @@ describe("delete-project", () => {
|
|
|
63
70
|
it("should handle missing config", async () => {
|
|
64
71
|
sandbox.restore();
|
|
65
72
|
sandbox = sinon.createSandbox();
|
|
66
|
-
|
|
73
|
+
deleteEnvironmentStub = sandbox.stub();
|
|
67
74
|
loggerStub = sandbox.stub(logger);
|
|
68
75
|
getConfirmationStub = sandbox.stub();
|
|
69
76
|
|
|
@@ -71,15 +78,20 @@ describe("delete-project", () => {
|
|
|
71
78
|
.stub(ClientConfiguration.prototype, "doesConfigExists")
|
|
72
79
|
.returns(false);
|
|
73
80
|
sandbox
|
|
74
|
-
.stub(
|
|
75
|
-
.callsFake(
|
|
81
|
+
.stub(EnvironmentsApi.prototype, "deleteEnvironment")
|
|
82
|
+
.callsFake(deleteEnvironmentStub);
|
|
76
83
|
sandbox
|
|
77
84
|
.stub(require("../../utils"), "getConfirmation")
|
|
78
85
|
.callsFake(getConfirmationStub);
|
|
79
86
|
|
|
80
|
-
await
|
|
87
|
+
await deleteEnvironment(
|
|
88
|
+
"http://test-server",
|
|
89
|
+
"test-environment",
|
|
90
|
+
false,
|
|
91
|
+
true,
|
|
92
|
+
);
|
|
81
93
|
|
|
82
|
-
expect(
|
|
94
|
+
expect(deleteEnvironmentStub.called).to.be.false;
|
|
83
95
|
expect(
|
|
84
96
|
loggerStub.error.calledWith(
|
|
85
97
|
sinon.match("Please, make sure that you are logged in"),
|
|
@@ -88,36 +100,53 @@ describe("delete-project", () => {
|
|
|
88
100
|
});
|
|
89
101
|
|
|
90
102
|
it("should request confirmation when autoConfirm is false", async () => {
|
|
91
|
-
|
|
103
|
+
deleteEnvironmentStub.resolves({ status: 200 });
|
|
92
104
|
getConfirmationStub.resolves(true);
|
|
93
105
|
|
|
94
|
-
await
|
|
106
|
+
await deleteEnvironment(
|
|
107
|
+
"http://test-server",
|
|
108
|
+
"test-environment",
|
|
109
|
+
false,
|
|
110
|
+
false,
|
|
111
|
+
);
|
|
95
112
|
|
|
96
113
|
expect(getConfirmationStub.calledOnce).to.be.true;
|
|
97
|
-
expect(
|
|
114
|
+
expect(deleteEnvironmentStub.calledOnce).to.be.true;
|
|
98
115
|
});
|
|
99
116
|
|
|
100
117
|
it("should cancel when confirmation is denied", async () => {
|
|
101
118
|
getConfirmationStub.resolves(false);
|
|
102
119
|
|
|
103
|
-
await
|
|
120
|
+
await deleteEnvironment(
|
|
121
|
+
"http://test-server",
|
|
122
|
+
"test-environment",
|
|
123
|
+
false,
|
|
124
|
+
false,
|
|
125
|
+
);
|
|
104
126
|
|
|
105
127
|
expect(getConfirmationStub.calledOnce).to.be.true;
|
|
106
|
-
expect(
|
|
128
|
+
expect(deleteEnvironmentStub.called).to.be.false;
|
|
107
129
|
expect(loggerStub.info.calledWith(sinon.match("Operation cancelled."))).to
|
|
108
130
|
.be.true;
|
|
109
131
|
});
|
|
110
132
|
|
|
111
133
|
it("should handle API errors", async () => {
|
|
112
134
|
const mockError = new Error("API Error");
|
|
113
|
-
|
|
135
|
+
deleteEnvironmentStub.rejects(mockError);
|
|
114
136
|
getConfirmationStub.resolves(true);
|
|
115
137
|
|
|
116
|
-
await
|
|
138
|
+
await deleteEnvironment(
|
|
139
|
+
"http://test-server",
|
|
140
|
+
"test-environment",
|
|
141
|
+
true,
|
|
142
|
+
true,
|
|
143
|
+
);
|
|
117
144
|
|
|
118
|
-
expect(
|
|
145
|
+
expect(deleteEnvironmentStub.calledOnce).to.be.true;
|
|
119
146
|
expect(
|
|
120
|
-
loggerStub.error.calledWith(
|
|
147
|
+
loggerStub.error.calledWith(
|
|
148
|
+
sinon.match("Failed to delete environment"),
|
|
149
|
+
),
|
|
121
150
|
).to.be.true;
|
|
122
151
|
});
|
|
123
152
|
});
|
|
@@ -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
|
}
|