@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,213 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const chai_1 = require("chai");
|
|
16
|
+
const sinon_1 = __importDefault(require("sinon"));
|
|
17
|
+
const api_1 = require("../../client/api");
|
|
18
|
+
const clientconfiguration_1 = require("../../clientconfiguration");
|
|
19
|
+
const logger_1 = require("../../logger");
|
|
20
|
+
const updateenvironment_1 = require("./updateenvironment");
|
|
21
|
+
describe("update-environment", () => {
|
|
22
|
+
let sandbox;
|
|
23
|
+
let updateEnvironmentStub;
|
|
24
|
+
let loggerStub;
|
|
25
|
+
beforeEach(() => {
|
|
26
|
+
sandbox = sinon_1.default.createSandbox();
|
|
27
|
+
updateEnvironmentStub = sandbox.stub();
|
|
28
|
+
loggerStub = sandbox.stub(logger_1.logger);
|
|
29
|
+
// Mock ClientConfiguration constructor
|
|
30
|
+
sandbox
|
|
31
|
+
.stub(clientconfiguration_1.ClientConfiguration.prototype, "getOrganization")
|
|
32
|
+
.returns("test-org");
|
|
33
|
+
sandbox
|
|
34
|
+
.stub(clientconfiguration_1.ClientConfiguration.prototype, "doesConfigExists")
|
|
35
|
+
.returns(true);
|
|
36
|
+
sandbox
|
|
37
|
+
.stub(clientconfiguration_1.ClientConfiguration.prototype, "getHeaders")
|
|
38
|
+
.returns({ Authorization: "Bearer test-token" });
|
|
39
|
+
// Mock EnvironmentsApi constructor and method
|
|
40
|
+
sandbox
|
|
41
|
+
.stub(api_1.EnvironmentsApi.prototype, "updateEnvironment")
|
|
42
|
+
.callsFake(updateEnvironmentStub);
|
|
43
|
+
});
|
|
44
|
+
afterEach(() => {
|
|
45
|
+
sandbox.restore();
|
|
46
|
+
});
|
|
47
|
+
describe("updateEnvironment", () => {
|
|
48
|
+
it("should update environment successfully", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
49
|
+
const mockResponse = { status: 200 };
|
|
50
|
+
updateEnvironmentStub.resolves(mockResponse);
|
|
51
|
+
yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", { replicationCount: 3 }, false, true);
|
|
52
|
+
(0, chai_1.expect)(updateEnvironmentStub.calledOnce).to.be.true;
|
|
53
|
+
(0, chai_1.expect)(updateEnvironmentStub.firstCall.args[0]).to.equal("test-org");
|
|
54
|
+
(0, chai_1.expect)(updateEnvironmentStub.firstCall.args[1]).to.equal("test-environment");
|
|
55
|
+
(0, chai_1.expect)(updateEnvironmentStub.firstCall.args[2]).to.include({
|
|
56
|
+
replicationCount: 3,
|
|
57
|
+
});
|
|
58
|
+
(0, chai_1.expect)(updateEnvironmentStub.firstCall.args[3]).to.deep.include({
|
|
59
|
+
baseURL: "http://test-server",
|
|
60
|
+
headers: { Authorization: "Bearer test-token" },
|
|
61
|
+
});
|
|
62
|
+
(0, chai_1.expect)(loggerStub.info.calledWith(sinon_1.default.match("Successfully updated environment test-environment"))).to.be.true;
|
|
63
|
+
}));
|
|
64
|
+
it("should handle missing environment name", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
65
|
+
yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "", { replicationCount: 3 }, false, true);
|
|
66
|
+
(0, chai_1.expect)(updateEnvironmentStub.called).to.be.false;
|
|
67
|
+
(0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("Please provide an environment name"))).to.be.true;
|
|
68
|
+
}));
|
|
69
|
+
it("should handle API errors", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
70
|
+
const mockError = new Error("API Error");
|
|
71
|
+
updateEnvironmentStub.rejects(mockError);
|
|
72
|
+
yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", { replicationCount: 3 }, true, true);
|
|
73
|
+
(0, chai_1.expect)(updateEnvironmentStub.calledOnce).to.be.true;
|
|
74
|
+
(0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("Failed to update environment test-environment"))).to.be.true;
|
|
75
|
+
}));
|
|
76
|
+
it("should handle non-200 response status", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
77
|
+
const mockResponse = { status: 400 };
|
|
78
|
+
updateEnvironmentStub.resolves(mockResponse);
|
|
79
|
+
yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", { replicationCount: 3 }, false, true);
|
|
80
|
+
(0, chai_1.expect)(updateEnvironmentStub.calledOnce).to.be.true;
|
|
81
|
+
(0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("Failed to update environment. Status: 400"))).to.be.true;
|
|
82
|
+
}));
|
|
83
|
+
});
|
|
84
|
+
describe("validators", () => {
|
|
85
|
+
describe("authentication validation", () => {
|
|
86
|
+
it("should fail when user is not logged in", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
87
|
+
sandbox.restore();
|
|
88
|
+
sandbox = sinon_1.default.createSandbox();
|
|
89
|
+
updateEnvironmentStub = sandbox.stub();
|
|
90
|
+
loggerStub = sandbox.stub(logger_1.logger);
|
|
91
|
+
sandbox
|
|
92
|
+
.stub(clientconfiguration_1.ClientConfiguration.prototype, "doesConfigExists")
|
|
93
|
+
.returns(false);
|
|
94
|
+
sandbox
|
|
95
|
+
.stub(api_1.EnvironmentsApi.prototype, "updateEnvironment")
|
|
96
|
+
.callsFake(updateEnvironmentStub);
|
|
97
|
+
yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", { replicationCount: 3 }, false, true);
|
|
98
|
+
(0, chai_1.expect)(updateEnvironmentStub.called).to.be.false;
|
|
99
|
+
(0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("Please, make sure that you are logged in"))).to.be.true;
|
|
100
|
+
}));
|
|
101
|
+
});
|
|
102
|
+
describe("git-backed modeling", () => {
|
|
103
|
+
it("sends the enrolment flag on its own", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
104
|
+
updateEnvironmentStub.resolves({ status: 200 });
|
|
105
|
+
yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", { gitModeling: "true" }, false, true);
|
|
106
|
+
(0, chai_1.expect)(updateEnvironmentStub.calledOnce).to.be.true;
|
|
107
|
+
(0, chai_1.expect)(updateEnvironmentStub.firstCall.args[2]).to.deep.equal({
|
|
108
|
+
gitModelingEnabled: true,
|
|
109
|
+
});
|
|
110
|
+
}));
|
|
111
|
+
it("rejects a --git-modeling value that is neither true nor false", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
112
|
+
yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", { gitModeling: "yes" }, false, true);
|
|
113
|
+
(0, chai_1.expect)(updateEnvironmentStub.called).to.be.false;
|
|
114
|
+
(0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("--git-modeling must be true or false"))).to.be.true;
|
|
115
|
+
}));
|
|
116
|
+
it("sends all three coordinates together", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
117
|
+
updateEnvironmentStub.resolves({ status: 200 });
|
|
118
|
+
yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", {
|
|
119
|
+
gitRepositoryOwner: "credible-data-repos",
|
|
120
|
+
gitRepositoryName: "models",
|
|
121
|
+
gitBaseBranch: "main",
|
|
122
|
+
}, false, true);
|
|
123
|
+
(0, chai_1.expect)(updateEnvironmentStub.firstCall.args[2]).to.deep.equal({
|
|
124
|
+
gitRepositoryOwner: "credible-data-repos",
|
|
125
|
+
gitRepositoryName: "models",
|
|
126
|
+
gitBaseBranch: "main",
|
|
127
|
+
});
|
|
128
|
+
}));
|
|
129
|
+
it("refuses a partial coordinate locally rather than sending a 400", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
130
|
+
// The API rejects this as GIT_REPOSITORY_INCOMPLETE. Refusing here means a
|
|
131
|
+
// script gets the rule from the tool it is driving.
|
|
132
|
+
yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", { gitRepositoryOwner: "credible-data-repos" }, false, true);
|
|
133
|
+
(0, chai_1.expect)(updateEnvironmentStub.called).to.be.false;
|
|
134
|
+
(0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("change together")))
|
|
135
|
+
.to.be.true;
|
|
136
|
+
}));
|
|
137
|
+
it("refuses a mix of set and cleared coordinates", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
138
|
+
yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", {
|
|
139
|
+
gitRepositoryOwner: "credible-data-repos",
|
|
140
|
+
gitRepositoryName: "",
|
|
141
|
+
gitBaseBranch: "main",
|
|
142
|
+
}, false, true);
|
|
143
|
+
(0, chai_1.expect)(updateEnvironmentStub.called).to.be.false;
|
|
144
|
+
(0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("unset the repository"))).to.be.true;
|
|
145
|
+
}));
|
|
146
|
+
it("sends nulls when all three are emptied, which is how a record is unset", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
147
|
+
updateEnvironmentStub.resolves({ status: 200 });
|
|
148
|
+
yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", {
|
|
149
|
+
gitRepositoryOwner: "",
|
|
150
|
+
gitRepositoryName: "",
|
|
151
|
+
gitBaseBranch: " ",
|
|
152
|
+
}, false, true);
|
|
153
|
+
(0, chai_1.expect)(updateEnvironmentStub.firstCall.args[2]).to.deep.equal({
|
|
154
|
+
gitRepositoryOwner: null,
|
|
155
|
+
gitRepositoryName: null,
|
|
156
|
+
gitBaseBranch: null,
|
|
157
|
+
});
|
|
158
|
+
}));
|
|
159
|
+
it("carries the enrolment and the coordinates in one request", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
160
|
+
updateEnvironmentStub.resolves({ status: 200 });
|
|
161
|
+
yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", {
|
|
162
|
+
gitModeling: "true",
|
|
163
|
+
gitRepositoryOwner: "credible-data-repos",
|
|
164
|
+
gitRepositoryName: "models",
|
|
165
|
+
gitBaseBranch: "main",
|
|
166
|
+
}, false, true);
|
|
167
|
+
(0, chai_1.expect)(updateEnvironmentStub.firstCall.args[2]).to.deep.equal({
|
|
168
|
+
gitModelingEnabled: true,
|
|
169
|
+
gitRepositoryOwner: "credible-data-repos",
|
|
170
|
+
gitRepositoryName: "models",
|
|
171
|
+
gitBaseBranch: "main",
|
|
172
|
+
});
|
|
173
|
+
}));
|
|
174
|
+
it("reports a refusal from the server rather than claiming success", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
175
|
+
updateEnvironmentStub.rejects(Object.assign(new Error("Request failed with status code 400"), {
|
|
176
|
+
response: {
|
|
177
|
+
status: 400,
|
|
178
|
+
data: { code: "GIT_REPOSITORY_NOT_REGISTERED" },
|
|
179
|
+
},
|
|
180
|
+
}));
|
|
181
|
+
yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", { gitModeling: "true" }, false, true);
|
|
182
|
+
(0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("Failed to update environment test-environment"))).to.be.true;
|
|
183
|
+
(0, chai_1.expect)(loggerStub.info.calledWith(sinon_1.default.match("Successfully updated"))).to.be.false;
|
|
184
|
+
}));
|
|
185
|
+
});
|
|
186
|
+
describe("replication count validation", () => {
|
|
187
|
+
it("should accept valid replication counts", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
188
|
+
const mockResponse = { status: 200 };
|
|
189
|
+
updateEnvironmentStub.resolves(mockResponse);
|
|
190
|
+
const validCounts = [1, 2, 5, 10, 100];
|
|
191
|
+
for (const count of validCounts) {
|
|
192
|
+
yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", { replicationCount: count }, false, true);
|
|
193
|
+
(0, chai_1.expect)(updateEnvironmentStub.called).to.be.true;
|
|
194
|
+
(0, chai_1.expect)(updateEnvironmentStub.firstCall.args[2]).to.include({
|
|
195
|
+
replicationCount: count,
|
|
196
|
+
});
|
|
197
|
+
updateEnvironmentStub.reset();
|
|
198
|
+
}
|
|
199
|
+
}));
|
|
200
|
+
it("should reject replication count less than 1", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
201
|
+
yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", { replicationCount: 0 }, false, true);
|
|
202
|
+
(0, chai_1.expect)(updateEnvironmentStub.called).to.be.false;
|
|
203
|
+
(0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("Replication count must be at least 1"))).to.be.true;
|
|
204
|
+
}));
|
|
205
|
+
it("should reject negative replication count", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
206
|
+
yield (0, updateenvironment_1.updateEnvironment)("http://test-server", "test-environment", { replicationCount: -1 }, false, true);
|
|
207
|
+
(0, chai_1.expect)(updateEnvironmentStub.called).to.be.false;
|
|
208
|
+
(0, chai_1.expect)(loggerStub.error.calledWith(sinon_1.default.match("Replication count must be at least 1"))).to.be.true;
|
|
209
|
+
}));
|
|
210
|
+
});
|
|
211
|
+
});
|
|
212
|
+
});
|
|
213
|
+
//# sourceMappingURL=updateenvironment.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateenvironment.spec.js","sourceRoot":"","sources":["../../../src/commands/environment/updateenvironment.spec.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/get.js
CHANGED
|
@@ -3,18 +3,33 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.registerGetCommands = void 0;
|
|
4
4
|
const constants_1 = require("../constants");
|
|
5
5
|
const getgroup_1 = require("./group/getgroup");
|
|
6
|
-
const
|
|
6
|
+
const getenvironment_1 = require("./environment/getenvironment");
|
|
7
|
+
const getmaterialization_1 = require("./materialization/getmaterialization");
|
|
8
|
+
const getindex_1 = require("./materialization/getindex");
|
|
9
|
+
const getpreaggregate_1 = require("./materialization/getpreaggregate");
|
|
10
|
+
const getrun_1 = require("./materialization/getrun");
|
|
11
|
+
const legacy_1 = require("./legacy");
|
|
12
|
+
const getpermission_1 = require("./permission/getpermission");
|
|
7
13
|
const registerGetCommands = (cli, environment) => {
|
|
8
14
|
const get = cli
|
|
9
15
|
.command("get")
|
|
10
16
|
.description("Get a resource")
|
|
11
|
-
.argument("<resource>", "The resource to get (
|
|
17
|
+
.argument("<resource>", "The resource to get (environment | group | permission | materialization | index | preaggregate | run)");
|
|
18
|
+
const getEnvironmentAction = (environmentName, options) => {
|
|
19
|
+
(0, getenvironment_1.getEnvironment)(constants_1.controlPlanesByEnv[environment], environmentName, options.debug);
|
|
20
|
+
};
|
|
21
|
+
get.command("environment")
|
|
22
|
+
.description("Get an environment by name.")
|
|
23
|
+
.argument("<environmentName>", "The name of the environment to get.")
|
|
24
|
+
.option("--debug")
|
|
25
|
+
.action(getEnvironmentAction);
|
|
12
26
|
get.command("project")
|
|
13
|
-
.description("
|
|
14
|
-
.argument("<projectName>", "The name of the
|
|
27
|
+
.description("[deprecated] Alias for 'get environment'.")
|
|
28
|
+
.argument("<projectName>", "The name of the environment to get.")
|
|
15
29
|
.option("--debug")
|
|
16
30
|
.action((projectName, options) => {
|
|
17
|
-
(0,
|
|
31
|
+
(0, legacy_1.warnProjectDeprecated)("get environment");
|
|
32
|
+
getEnvironmentAction(projectName, options);
|
|
18
33
|
});
|
|
19
34
|
get.command("group")
|
|
20
35
|
.description("Get a group by name.")
|
|
@@ -23,6 +38,52 @@ const registerGetCommands = (cli, environment) => {
|
|
|
23
38
|
.action((groupName, options) => {
|
|
24
39
|
(0, getgroup_1.getGroup)(constants_1.controlPlanesByEnv[environment], groupName, options.debug);
|
|
25
40
|
});
|
|
41
|
+
get.command("permission")
|
|
42
|
+
.description("Get a user or group's permission on the organization, an environment, or a package.")
|
|
43
|
+
.argument("<userGroupId>", "Whose permission to get [user:{email}|group:{groupName}|user:*]")
|
|
44
|
+
.option("--environment <environmentName>", "Get the permission on this environment instead of the organization.")
|
|
45
|
+
.option("--package <packageName>", "Get the permission on this package. Uses --environment, or the current environment.")
|
|
46
|
+
.option("--debug")
|
|
47
|
+
.action((userGroupId, options) => {
|
|
48
|
+
(0, getpermission_1.getPermission)(constants_1.controlPlanesByEnv[environment], userGroupId, options.debug || false, { environment: options.environment, package: options.package });
|
|
49
|
+
});
|
|
50
|
+
get.command("materialization")
|
|
51
|
+
.alias("mat")
|
|
52
|
+
.description("Get a materialization anchor by id (status, physical table + connection, serving build, freshness, staleness).")
|
|
53
|
+
.argument("<packageName>", "The package that owns the materialization.")
|
|
54
|
+
.argument("<versionId>", "The version that binds it (e.g. 0.1.21).")
|
|
55
|
+
.argument("<materializationId>", "The materialization id.")
|
|
56
|
+
.option("--debug")
|
|
57
|
+
.action((packageName, versionId, materializationId, options) => {
|
|
58
|
+
(0, getmaterialization_1.getMaterialization)(constants_1.controlPlanesByEnv[environment], packageName, versionId, materializationId, options.debug);
|
|
59
|
+
});
|
|
60
|
+
get.command("index")
|
|
61
|
+
.description("Get a dimensional index anchor by id (status, row count, lastIndexedAt, freshness, staleness).")
|
|
62
|
+
.argument("<packageName>", "The package that owns the index.")
|
|
63
|
+
.argument("<versionId>", "The version that binds it (e.g. 0.1.21).")
|
|
64
|
+
.argument("<indexId>", "The index (binding) id.")
|
|
65
|
+
.option("--debug")
|
|
66
|
+
.action((packageName, versionId, indexId, options) => {
|
|
67
|
+
(0, getindex_1.getIndex)(constants_1.controlPlanesByEnv[environment], packageName, versionId, indexId, options.debug);
|
|
68
|
+
});
|
|
69
|
+
get.command("preaggregate")
|
|
70
|
+
.alias("preagg")
|
|
71
|
+
.description("Get a pre-aggregated measure by id (status, grain, row count, lastBuiltAt, freshness, staleness).")
|
|
72
|
+
.argument("<packageName>", "The package that owns the pre-aggregation.")
|
|
73
|
+
.argument("<versionId>", "The version that binds it (e.g. 0.1.21).")
|
|
74
|
+
.argument("<preaggregateId>", "The pre-aggregation id, as printed by `cred ls preaggregate`. It addresses a measure within a rollup — do not construct one by hand.")
|
|
75
|
+
.option("--debug")
|
|
76
|
+
.action((packageName, versionId, preaggregateId, options) => {
|
|
77
|
+
(0, getpreaggregate_1.getPreaggregate)(constants_1.controlPlanesByEnv[environment], packageName, versionId, preaggregateId, options.debug);
|
|
78
|
+
});
|
|
79
|
+
get.command("run")
|
|
80
|
+
.description("Get a run by id, including its build-plan graph (per-unit state, physical table names, row counts).")
|
|
81
|
+
.argument("<packageName>", "The package that owns the run.")
|
|
82
|
+
.argument("<runId>", "The run id.")
|
|
83
|
+
.option("--debug")
|
|
84
|
+
.action((packageName, runId, options) => {
|
|
85
|
+
(0, getrun_1.getRun)(constants_1.controlPlanesByEnv[environment], packageName, runId, options.debug);
|
|
86
|
+
});
|
|
26
87
|
};
|
|
27
88
|
exports.registerGetCommands = registerGetCommands;
|
|
28
89
|
//# sourceMappingURL=get.js.map
|
package/dist/commands/get.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/commands/get.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/commands/get.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.warnProjectDeprecated = void 0;
|
|
4
|
+
const logger_1 = require("../logger");
|
|
5
|
+
const warnProjectDeprecated = (newCommand) => {
|
|
6
|
+
logger_1.logger.warn(`'project' is deprecated; use '${newCommand}' instead.`);
|
|
7
|
+
};
|
|
8
|
+
exports.warnProjectDeprecated = warnProjectDeprecated;
|
|
9
|
+
//# sourceMappingURL=legacy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacy.js","sourceRoot":"","sources":["../../src/commands/legacy.ts"],"names":[],"mappings":";;;AAAA,sCAAmC;AAE5B,MAAM,qBAAqB,GAAG,CAAC,UAAkB,EAAE,EAAE;IACzD,eAAM,CAAC,IAAI,CAAC,iCAAiC,UAAU,YAAY,CAAC,CAAC;AACxE,CAAC,CAAC;AAFW,QAAA,qBAAqB,yBAEhC"}
|
package/dist/commands/list.js
CHANGED
|
@@ -7,22 +7,40 @@ const listconnections_1 = require("./connection/listconnections");
|
|
|
7
7
|
const listgroups_1 = require("./group/listgroups");
|
|
8
8
|
const listTokens_1 = require("./groupaccesstoken/listTokens");
|
|
9
9
|
const listpackages_1 = require("./package/listpackages");
|
|
10
|
-
const
|
|
10
|
+
const listenvironments_1 = require("./environment/listenvironments");
|
|
11
11
|
const listversions_1 = require("./version/listversions");
|
|
12
|
+
const listmaterializations_1 = require("./materialization/listmaterializations");
|
|
13
|
+
const listindexes_1 = require("./materialization/listindexes");
|
|
14
|
+
const listpreaggregates_1 = require("./materialization/listpreaggregates");
|
|
15
|
+
const listruns_1 = require("./materialization/listruns");
|
|
16
|
+
const legacy_1 = require("./legacy");
|
|
17
|
+
const listpermissions_1 = require("./permission/listpermissions");
|
|
12
18
|
const registerListCommands = (cli, environment) => {
|
|
13
19
|
const list = cli
|
|
14
20
|
.command("ls")
|
|
15
21
|
.description("List resources of a given type")
|
|
16
22
|
.argument("<resource>", "The resource to list");
|
|
23
|
+
const listEnvironmentsAction = (options) => {
|
|
24
|
+
(0, listenvironments_1.printOutEnvironments)(constants_1.controlPlanesByEnv[environment], options.debug, options.page, options.pageSize);
|
|
25
|
+
};
|
|
26
|
+
list
|
|
27
|
+
.command("environment")
|
|
28
|
+
.alias("environments")
|
|
29
|
+
.description("List all environments.")
|
|
30
|
+
.option("--debug")
|
|
31
|
+
.option("--page <number>", `Page number (starts at ${utils_1.DEFAULT_PAGE})`, String(utils_1.DEFAULT_PAGE))
|
|
32
|
+
.option("--page-size <number>", `Items per page (default: all records, max: 500)`, String(utils_1.DEFAULT_PAGE_SIZE))
|
|
33
|
+
.action(listEnvironmentsAction);
|
|
17
34
|
list
|
|
18
35
|
.command("project")
|
|
19
36
|
.alias("projects")
|
|
20
|
-
.description("
|
|
37
|
+
.description("[deprecated] Alias for 'ls environment'.")
|
|
21
38
|
.option("--debug")
|
|
22
39
|
.option("--page <number>", `Page number (starts at ${utils_1.DEFAULT_PAGE})`, String(utils_1.DEFAULT_PAGE))
|
|
23
40
|
.option("--page-size <number>", `Items per page (default: all records, max: 500)`, String(utils_1.DEFAULT_PAGE_SIZE))
|
|
24
41
|
.action((options) => {
|
|
25
|
-
(0,
|
|
42
|
+
(0, legacy_1.warnProjectDeprecated)("ls environment");
|
|
43
|
+
listEnvironmentsAction(options);
|
|
26
44
|
});
|
|
27
45
|
list
|
|
28
46
|
.command("connection")
|
|
@@ -37,7 +55,7 @@ const registerListCommands = (cli, environment) => {
|
|
|
37
55
|
list
|
|
38
56
|
.command("package")
|
|
39
57
|
.alias("packages")
|
|
40
|
-
.description("List the packages in the active
|
|
58
|
+
.description("List the packages in the active environment.")
|
|
41
59
|
.option("--debug")
|
|
42
60
|
.option("--page <number>", `Page number (starts at ${utils_1.DEFAULT_PAGE})`, String(utils_1.DEFAULT_PAGE))
|
|
43
61
|
.option("--page-size <number>", `Items per page (default: all records, max: 500)`, String(utils_1.DEFAULT_PAGE_SIZE))
|
|
@@ -53,6 +71,79 @@ const registerListCommands = (cli, environment) => {
|
|
|
53
71
|
.action((packageName, options) => {
|
|
54
72
|
(0, listversions_1.listVersions)(constants_1.controlPlanesByEnv[environment], packageName, options.debug);
|
|
55
73
|
});
|
|
74
|
+
list
|
|
75
|
+
.command("materialization")
|
|
76
|
+
.alias("materializations")
|
|
77
|
+
.description("List the materializations of a package version (status + failure reason).")
|
|
78
|
+
.argument("<packageName>", "The name of the package whose materializations to list.")
|
|
79
|
+
.argument("<versionId>", "The version that binds the materializations (e.g. 0.1.21).")
|
|
80
|
+
.option("--debug")
|
|
81
|
+
.action((packageName, versionId, options) => {
|
|
82
|
+
(0, listmaterializations_1.listMaterializations)(constants_1.controlPlanesByEnv[environment], packageName, versionId, options.debug);
|
|
83
|
+
});
|
|
84
|
+
list
|
|
85
|
+
.command("index")
|
|
86
|
+
.alias("indexes")
|
|
87
|
+
.description("List the dimensional search indexes of a package version (status + failure reason + freshness).")
|
|
88
|
+
.argument("<packageName>", "The name of the package whose indexes to list.")
|
|
89
|
+
.argument("<versionId>", "The version that binds the indexes (e.g. 0.1.21).")
|
|
90
|
+
.option("--debug")
|
|
91
|
+
// No static defaults: a Commander default of "-1" for --page-size would make it
|
|
92
|
+
// always-set, so parsePaginationParams takes its "return all records" branch and
|
|
93
|
+
// silently ignores a lone --page N. Leaving both unset (undefined) preserves the
|
|
94
|
+
// all-records default (neither flag → branch 1) while letting --page N default the
|
|
95
|
+
// page size to a finite page (utils.parsePaginationParams).
|
|
96
|
+
.option("--page <number>", `Page number (starts at ${utils_1.DEFAULT_PAGE})`)
|
|
97
|
+
.option("--page-size <number>", `Items per page (default: all records, max: 500)`)
|
|
98
|
+
.action((packageName, versionId, options) => {
|
|
99
|
+
(0, listindexes_1.listIndexes)(constants_1.controlPlanesByEnv[environment], packageName, versionId, options.debug, options.page, options.pageSize);
|
|
100
|
+
});
|
|
101
|
+
list
|
|
102
|
+
.command("preaggregate")
|
|
103
|
+
.alias("preaggregates")
|
|
104
|
+
.alias("preaggs")
|
|
105
|
+
.description("List the pre-aggregated measures of a package version (status + failure reason + grain + freshness). One entry per measure, so several may share a rollup table.")
|
|
106
|
+
.argument("<packageName>", "The name of the package whose pre-aggregations to list.")
|
|
107
|
+
.argument("<versionId>", "The version that binds the pre-aggregations (e.g. 0.1.21).")
|
|
108
|
+
.option("--debug")
|
|
109
|
+
.option("--source <sourceName>", "Only list the pre-aggregated measures of this authored source.")
|
|
110
|
+
// No static defaults — see the note on `ls index` above.
|
|
111
|
+
.option("--page <number>", `Page number (starts at ${utils_1.DEFAULT_PAGE})`)
|
|
112
|
+
.option("--page-size <number>", `Items per page (default: all records, max: 500)`)
|
|
113
|
+
.action((packageName, versionId, options) => {
|
|
114
|
+
(0, listpreaggregates_1.listPreaggregates)(constants_1.controlPlanesByEnv[environment], packageName, versionId, options.source, options.debug, options.page, options.pageSize);
|
|
115
|
+
});
|
|
116
|
+
list
|
|
117
|
+
.command("run")
|
|
118
|
+
.alias("runs")
|
|
119
|
+
.description("List the build/refresh runs of a package (most recent first). Runs are package-scoped and span all three families (materialized sources, dimensional indexes and pre-aggregations); pass a version to filter to the runs it initiated, or --source/--dimension/--measure to filter to a targeted unit.")
|
|
120
|
+
.argument("<packageName>", "The name of the package whose runs to list.")
|
|
121
|
+
.argument("[versionId]", "Optional version to filter runs to (e.g. 0.1.21). Omit to list every run in the package.")
|
|
122
|
+
.option("--debug")
|
|
123
|
+
.option("--source <sourceName>", "Only list runs targeting this persist source.")
|
|
124
|
+
.option("--dimension <dimension>", "Only list runs targeting this indexed dimension.")
|
|
125
|
+
.option("--measure <measure>", "Only list runs targeting this pre-aggregated measure.")
|
|
126
|
+
// No static defaults — see the note on `ls index` above: a "-1" --page-size default
|
|
127
|
+
// makes parsePaginationParams ignore a lone --page N. Undefined keeps the all-records
|
|
128
|
+
// default while honoring --page N.
|
|
129
|
+
.option("--page <number>", `Page number (starts at ${utils_1.DEFAULT_PAGE})`)
|
|
130
|
+
.option("--page-size <number>", `Items per page (default: all records, max: 500)`)
|
|
131
|
+
.action((packageName, versionId, options) => {
|
|
132
|
+
(0, listruns_1.listRuns)(constants_1.controlPlanesByEnv[environment], packageName, versionId, options.debug, options.source, options.dimension, options.measure, options.page, options.pageSize);
|
|
133
|
+
});
|
|
134
|
+
list
|
|
135
|
+
.command("permission")
|
|
136
|
+
.alias("permissions")
|
|
137
|
+
.description("List the permissions on the organization, an environment, or a package.")
|
|
138
|
+
.option("--environment <environmentName>", "List this environment's permissions instead of the organization's.")
|
|
139
|
+
.option("--package <packageName>", "List this package's permissions. Uses --environment, or the current environment.")
|
|
140
|
+
.option("--debug")
|
|
141
|
+
.action((options) => {
|
|
142
|
+
(0, listpermissions_1.listPermissions)(constants_1.controlPlanesByEnv[environment], options.debug, {
|
|
143
|
+
environment: options.environment,
|
|
144
|
+
package: options.package,
|
|
145
|
+
});
|
|
146
|
+
});
|
|
56
147
|
list
|
|
57
148
|
.command("group")
|
|
58
149
|
.alias("groups")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.cancelRun = cancelRun;
|
|
13
|
+
const api_1 = require("../../client/api");
|
|
14
|
+
const configuration_1 = require("../../client/configuration");
|
|
15
|
+
const clientconfiguration_1 = require("../../clientconfiguration");
|
|
16
|
+
const logger_1 = require("../../logger");
|
|
17
|
+
const utils_1 = require("../../utils");
|
|
18
|
+
const runsApi = new api_1.RunsApi(new configuration_1.Configuration());
|
|
19
|
+
/**
|
|
20
|
+
* Cancel an in-flight (non-terminal) build/refresh run. No-op-safe: the control
|
|
21
|
+
* plane returns 409 if the run is already terminal. Prints the run's updated
|
|
22
|
+
* state.
|
|
23
|
+
*/
|
|
24
|
+
function cancelRun(controlPlane, packagePath, runId, debug, autoConfirm) {
|
|
25
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
+
const clientConfig = new clientconfiguration_1.ClientConfiguration();
|
|
27
|
+
const organizationName = clientConfig.getOrganization();
|
|
28
|
+
const environmentName = clientConfig.getProject();
|
|
29
|
+
if (!clientConfig.doesConfigExists()) {
|
|
30
|
+
logger_1.logger.error("Please, make sure that you are logged in");
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
if (!environmentName) {
|
|
34
|
+
logger_1.logger.error("Please, make sure to set an environment");
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if (!runId) {
|
|
38
|
+
logger_1.logger.error("Please provide a run ID");
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const packageName = packagePath.replace("/", "");
|
|
42
|
+
if (!autoConfirm) {
|
|
43
|
+
const confirmation = yield (0, utils_1.getConfirmation)(`Cancel run ${runId} in ${packageName}?`);
|
|
44
|
+
if (!confirmation) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
logger_1.logger.info(`Cancelling run ${runId} in ${packageName}`);
|
|
49
|
+
try {
|
|
50
|
+
const response = yield runsApi.runAction(organizationName, environmentName, packageName, runId, api_1.RunActionActionEnum.Cancel, {
|
|
51
|
+
baseURL: controlPlane,
|
|
52
|
+
headers: clientConfig.getHeaders(),
|
|
53
|
+
});
|
|
54
|
+
console.log((0, utils_1.prettifyJson)(response.data));
|
|
55
|
+
}
|
|
56
|
+
catch (e) {
|
|
57
|
+
logger_1.logger.error("Failed to cancel run");
|
|
58
|
+
(0, utils_1.printOutError)(e, debug);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=cancelrun.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cancelrun.js","sourceRoot":"","sources":["../../../src/commands/materialization/cancelrun.ts"],"names":[],"mappings":";;;;;;;;;;;AAaA,8BAwDC;AArED,0CAAgE;AAChE,8DAA2D;AAC3D,mEAAgE;AAChE,yCAAsC;AACtC,uCAA2E;AAE3E,MAAM,OAAO,GAAG,IAAI,aAAO,CAAC,IAAI,6BAAa,EAAE,CAAC,CAAC;AAEjD;;;;GAIG;AACH,SAAsB,SAAS,CAC5B,YAAoB,EACpB,WAAmB,EACnB,KAAa,EACb,KAAc,EACd,WAAoB;;QAEpB,MAAM,YAAY,GAAG,IAAI,yCAAmB,EAAE,CAAC;QAC/C,MAAM,gBAAgB,GAAG,YAAY,CAAC,eAAe,EAAE,CAAC;QACxD,MAAM,eAAe,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC;QAElD,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,EAAE,CAAC;YACpC,eAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YACzD,OAAO;QACV,CAAC;QAED,IAAI,CAAC,eAAe,EAAE,CAAC;YACpB,eAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACxD,OAAO;QACV,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACV,eAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACxC,OAAO;QACV,CAAC;QAED,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAEjD,IAAI,CAAC,WAAW,EAAE,CAAC;YAChB,MAAM,YAAY,GAAG,MAAM,IAAA,uBAAe,EACvC,cAAc,KAAK,OAAO,WAAW,GAAG,CAC1C,CAAC;YACF,IAAI,CAAC,YAAY,EAAE,CAAC;gBACjB,OAAO;YACV,CAAC;QACJ,CAAC;QAED,eAAM,CAAC,IAAI,CAAC,kBAAkB,KAAK,OAAO,WAAW,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,SAAS,CACrC,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,KAAK,EACL,yBAAmB,CAAC,MAAM,EAC1B;gBACG,OAAO,EAAE,YAAY;gBACrB,OAAO,EAAE,YAAY,CAAC,UAAU,EAAE;aACpC,CACH,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,IAAA,oBAAY,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACV,eAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACrC,IAAA,qBAAa,EAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3B,CAAC;IACJ,CAAC;CAAA"}
|