envs: Print the fleet's slug in 'org/fleetName' format

Change-type: major
This commit is contained in:
Paulo Castro 2021-12-20 01:12:13 +00:00
parent 06f6094401
commit 1164388d78
2 changed files with 21 additions and 22 deletions

View File

@ -33,21 +33,21 @@ interface FlagsDef {
} }
interface EnvironmentVariableInfo extends SDK.EnvironmentVariableBase { interface EnvironmentVariableInfo extends SDK.EnvironmentVariableBase {
appName?: string | null; // application name fleet?: string | null; // fleet slug
deviceUUID?: string; // device UUID deviceUUID?: string; // device UUID
serviceName?: string; // service name serviceName?: string; // service name
} }
interface DeviceServiceEnvironmentVariableInfo interface DeviceServiceEnvironmentVariableInfo
extends SDK.DeviceServiceEnvironmentVariable { extends SDK.DeviceServiceEnvironmentVariable {
appName?: string; // application name fleet?: string; // fleet slug
deviceUUID?: string; // device UUID deviceUUID?: string; // device UUID
serviceName?: string; // service name serviceName?: string; // service name
} }
interface ServiceEnvironmentVariableInfo interface ServiceEnvironmentVariableInfo
extends SDK.ServiceEnvironmentVariable { extends SDK.ServiceEnvironmentVariable {
appName?: string; // application name fleet?: string; // fleet slug
deviceUUID?: string; // device UUID deviceUUID?: string; // device UUID
serviceName?: string; // service name serviceName?: string; // service name
} }
@ -173,15 +173,14 @@ export default class EnvsCmd extends Command {
varArray: EnvironmentVariableInfo[], varArray: EnvironmentVariableInfo[],
options: FlagsDef, options: FlagsDef,
) { ) {
const fields = ['id', 'name', 'value']; const fields = ['id', 'name', 'value', 'fleet'];
// Replace undefined app names with 'N/A' or null // Replace undefined app names with 'N/A' or null
varArray = varArray.map((i: EnvironmentVariableInfo) => { varArray = varArray.map((i: EnvironmentVariableInfo) => {
i.appName ||= options.json ? null : 'N/A'; i.fleet ||= options.json ? null : 'N/A';
return i; return i;
}); });
fields.push(options.json ? `appName => fleetName` : `appName => FLEET`);
if (options.device) { if (options.device) {
fields.push(options.json ? 'deviceUUID' : 'deviceUUID => DEVICE'); fields.push(options.json ? 'deviceUUID' : 'deviceUUID => DEVICE');
} }
@ -336,7 +335,7 @@ function fillInInfoFields(
?.installs__service as SDK.Service[] ?.installs__service as SDK.Service[]
)[0]?.service_name; )[0]?.service_name;
} }
envVar.appName = fleetSlug; envVar.fleet = fleetSlug;
envVar.serviceName = envVar.serviceName || '*'; envVar.serviceName = envVar.serviceName || '*';
envVar.deviceUUID = deviceUUID || '*'; envVar.deviceUUID = deviceUUID || '*';
} }

View File

@ -84,7 +84,7 @@ describe('balena envs', function () {
expect(JSON.parse(out.join(''))).to.deep.equal([ expect(JSON.parse(out.join(''))).to.deep.equal([
{ {
fleetName: 'gh_user/testApp', fleet: 'gh_user/testApp',
id: 120300, id: 120300,
name: 'RESIN_SUPERVISOR_NATIVE_LOGGER', name: 'RESIN_SUPERVISOR_NATIVE_LOGGER',
value: 'false', value: 'false',
@ -177,14 +177,14 @@ describe('balena envs', function () {
const { out, err } = await runCommand(`envs -jd ${shortUUID}`); const { out, err } = await runCommand(`envs -jd ${shortUUID}`);
const expected = `[ const expected = `[
{ "id": 120101, "fleetName": "org/test", "deviceUUID": "*", "name": "var1", "value": "var1-val", "serviceName": "*" }, { "id": 120101, "fleet": "org/test", "deviceUUID": "*", "name": "var1", "value": "var1-val", "serviceName": "*" },
{ "id": 120102, "fleetName": "org/test", "deviceUUID": "*", "name": "var2", "value": "22", "serviceName": "*" }, { "id": 120102, "fleet": "org/test", "deviceUUID": "*", "name": "var2", "value": "22", "serviceName": "*" },
{ "id": 120110, "fleetName": "org/test", "deviceUUID": "*", "name": "svar1", "value": "svar1-value", "serviceName": "service1" }, { "id": 120110, "fleet": "org/test", "deviceUUID": "*", "name": "svar1", "value": "svar1-value", "serviceName": "service1" },
{ "id": 120111, "fleetName": "org/test", "deviceUUID": "*", "name": "svar2", "value": "svar2-value", "serviceName": "service2" }, { "id": 120111, "fleet": "org/test", "deviceUUID": "*", "name": "svar2", "value": "svar2-value", "serviceName": "service2" },
{ "id": 120120, "fleetName": "org/test", "deviceUUID": "${fullUUID}", "name": "svar3", "value": "svar3-value", "serviceName": "service1" }, { "id": 120120, "fleet": "org/test", "deviceUUID": "${fullUUID}", "name": "svar3", "value": "svar3-value", "serviceName": "service1" },
{ "id": 120121, "fleetName": "org/test", "deviceUUID": "${fullUUID}", "name": "svar4", "value": "svar4-value", "serviceName": "service2" }, { "id": 120121, "fleet": "org/test", "deviceUUID": "${fullUUID}", "name": "svar4", "value": "svar4-value", "serviceName": "service2" },
{ "id": 120203, "fleetName": "org/test", "deviceUUID": "${fullUUID}", "name": "var3", "value": "var3-val", "serviceName": "*" }, { "id": 120203, "fleet": "org/test", "deviceUUID": "${fullUUID}", "name": "var3", "value": "var3-val", "serviceName": "*" },
{ "id": 120204, "fleetName": "org/test", "deviceUUID": "${fullUUID}", "name": "var4", "value": "44", "serviceName": "*" } { "id": 120204, "fleet": "org/test", "deviceUUID": "${fullUUID}", "name": "var4", "value": "44", "serviceName": "*" }
]`; ]`;
expect(JSON.parse(out.join(''))).to.deep.equal(JSON.parse(expected)); expect(JSON.parse(out.join(''))).to.deep.equal(JSON.parse(expected));
@ -309,12 +309,12 @@ describe('balena envs', function () {
`envs -d ${shortUUID} -js ${serviceName}`, `envs -d ${shortUUID} -js ${serviceName}`,
); );
const expected = `[ const expected = `[
{ "id": 120101, "fleetName": "org/test", "deviceUUID": "*", "name": "var1", "value": "var1-val", "serviceName": "*" }, { "id": 120101, "fleet": "org/test", "deviceUUID": "*", "name": "var1", "value": "var1-val", "serviceName": "*" },
{ "id": 120102, "fleetName": "org/test", "deviceUUID": "*", "name": "var2", "value": "22", "serviceName": "*" }, { "id": 120102, "fleet": "org/test", "deviceUUID": "*", "name": "var2", "value": "22", "serviceName": "*" },
{ "id": 120110, "fleetName": "org/test", "deviceUUID": "*", "name": "svar1", "value": "svar1-value", "serviceName": "${serviceName}" }, { "id": 120110, "fleet": "org/test", "deviceUUID": "*", "name": "svar1", "value": "svar1-value", "serviceName": "${serviceName}" },
{ "id": 120120, "fleetName": "org/test", "deviceUUID": "${fullUUID}", "name": "svar3", "value": "svar3-value", "serviceName": "${serviceName}" }, { "id": 120120, "fleet": "org/test", "deviceUUID": "${fullUUID}", "name": "svar3", "value": "svar3-value", "serviceName": "${serviceName}" },
{ "id": 120203, "fleetName": "org/test", "deviceUUID": "${fullUUID}", "name": "var3", "value": "var3-val", "serviceName": "*" }, { "id": 120203, "fleet": "org/test", "deviceUUID": "${fullUUID}", "name": "var3", "value": "var3-val", "serviceName": "*" },
{ "id": 120204, "fleetName": "org/test", "deviceUUID": "${fullUUID}", "name": "var4", "value": "44", "serviceName": "*" } { "id": 120204, "fleet": "org/test", "deviceUUID": "${fullUUID}", "name": "var4", "value": "44", "serviceName": "*" }
]`; ]`;
expect(JSON.parse(out.join(''))).to.deep.equal(JSON.parse(expected)); expect(JSON.parse(out.join(''))).to.deep.equal(JSON.parse(expected));