mirror of
https://github.com/Azure/k8s-set-context.git
synced 2026-06-26 08:49:27 +08:00
Vidya reddy pretty code (#53)
* updated action file with node16 * Code consistency using prettier and its workflow * Enforce Prettier * code fix * code fix * code fix Co-authored-by: Vidya Reddy <vidyareddy@microsoft.com>
This commit is contained in:
+129
-130
@@ -1,150 +1,149 @@
|
||||
import * as fs from "fs";
|
||||
import { getRequiredInputError } from "../../tests/util";
|
||||
import { createKubeconfig, getDefaultKubeconfig } from "./default";
|
||||
import * as fs from 'fs'
|
||||
import {getRequiredInputError} from '../../tests/util'
|
||||
import {createKubeconfig, getDefaultKubeconfig} from './default'
|
||||
|
||||
describe("Default kubeconfig", () => {
|
||||
test("it creates a kubeconfig with proper format", () => {
|
||||
const certAuth = "certAuth";
|
||||
const token = "token";
|
||||
const clusterUrl = "clusterUrl";
|
||||
describe('Default kubeconfig', () => {
|
||||
test('it creates a kubeconfig with proper format', () => {
|
||||
const certAuth = 'certAuth'
|
||||
const token = 'token'
|
||||
const clusterUrl = 'clusterUrl'
|
||||
|
||||
const kc = createKubeconfig(certAuth, token, clusterUrl);
|
||||
const expected = JSON.stringify({
|
||||
apiVersion: "v1",
|
||||
kind: "Config",
|
||||
clusters: [
|
||||
{
|
||||
name: "default",
|
||||
cluster: {
|
||||
server: clusterUrl,
|
||||
"certificate-authority-data": certAuth,
|
||||
"insecure-skip-tls-verify": false,
|
||||
},
|
||||
},
|
||||
],
|
||||
users: [{ name: "default-user", user: { token } }],
|
||||
contexts: [
|
||||
{
|
||||
name: "loaded-context",
|
||||
context: {
|
||||
cluster: "default",
|
||||
user: "default-user",
|
||||
name: "loaded-context",
|
||||
},
|
||||
},
|
||||
],
|
||||
preferences: {},
|
||||
"current-context": "loaded-context",
|
||||
});
|
||||
const kc = createKubeconfig(certAuth, token, clusterUrl)
|
||||
const expected = JSON.stringify({
|
||||
apiVersion: 'v1',
|
||||
kind: 'Config',
|
||||
clusters: [
|
||||
{
|
||||
name: 'default',
|
||||
cluster: {
|
||||
server: clusterUrl,
|
||||
'certificate-authority-data': certAuth,
|
||||
'insecure-skip-tls-verify': false
|
||||
}
|
||||
}
|
||||
],
|
||||
users: [{name: 'default-user', user: {token}}],
|
||||
contexts: [
|
||||
{
|
||||
name: 'loaded-context',
|
||||
context: {
|
||||
cluster: 'default',
|
||||
user: 'default-user',
|
||||
name: 'loaded-context'
|
||||
}
|
||||
}
|
||||
],
|
||||
preferences: {},
|
||||
'current-context': 'loaded-context'
|
||||
})
|
||||
expect(kc).toBe(expected)
|
||||
})
|
||||
|
||||
expect(kc).toBe(expected);
|
||||
});
|
||||
|
||||
test("it throws error without method", () => {
|
||||
expect(() => getDefaultKubeconfig()).toThrow(
|
||||
getRequiredInputError("method")
|
||||
);
|
||||
});
|
||||
|
||||
describe("default method", () => {
|
||||
beforeEach(() => {
|
||||
process.env["INPUT_METHOD"] = "default";
|
||||
});
|
||||
|
||||
test("it throws error without kubeconfig", () => {
|
||||
test('it throws error without method', () => {
|
||||
expect(() => getDefaultKubeconfig()).toThrow(
|
||||
getRequiredInputError("kubeconfig")
|
||||
);
|
||||
});
|
||||
getRequiredInputError('method')
|
||||
)
|
||||
})
|
||||
|
||||
test("it gets default config through kubeconfig input", () => {
|
||||
const kc = "example kc";
|
||||
process.env["INPUT_KUBECONFIG"] = kc;
|
||||
describe('default method', () => {
|
||||
beforeEach(() => {
|
||||
process.env['INPUT_METHOD'] = 'default'
|
||||
})
|
||||
|
||||
expect(getDefaultKubeconfig()).toBe(kc);
|
||||
});
|
||||
});
|
||||
test('it throws error without kubeconfig', () => {
|
||||
expect(() => getDefaultKubeconfig()).toThrow(
|
||||
getRequiredInputError('kubeconfig')
|
||||
)
|
||||
})
|
||||
|
||||
test("it defaults to default method", () => {
|
||||
process.env["INPUT_METHOD"] = "unknown";
|
||||
test('it gets default config through kubeconfig input', () => {
|
||||
const kc = 'example kc'
|
||||
process.env['INPUT_KUBECONFIG'] = kc
|
||||
|
||||
const kc = "example kc";
|
||||
process.env["INPUT_KUBECONFIG"] = kc;
|
||||
expect(getDefaultKubeconfig()).toBe(kc)
|
||||
})
|
||||
})
|
||||
|
||||
expect(getDefaultKubeconfig()).toBe(kc);
|
||||
});
|
||||
test('it defaults to default method', () => {
|
||||
process.env['INPUT_METHOD'] = 'unknown'
|
||||
|
||||
test("it defaults to default method from service-principal", () => {
|
||||
process.env["INPUT_METHOD"] = "service-principal";
|
||||
const kc = 'example kc'
|
||||
process.env['INPUT_KUBECONFIG'] = kc
|
||||
|
||||
const kc = "example kc";
|
||||
process.env["INPUT_KUBECONFIG"] = kc;
|
||||
expect(getDefaultKubeconfig()).toBe(kc)
|
||||
})
|
||||
|
||||
expect(getDefaultKubeconfig()).toBe(kc);
|
||||
});
|
||||
test('it defaults to default method from service-principal', () => {
|
||||
process.env['INPUT_METHOD'] = 'service-principal'
|
||||
|
||||
describe("service-account method", () => {
|
||||
beforeEach(() => {
|
||||
process.env["INPUT_METHOD"] = "service-account";
|
||||
});
|
||||
const kc = 'example kc'
|
||||
process.env['INPUT_KUBECONFIG'] = kc
|
||||
|
||||
test("it throws error without cluster url", () => {
|
||||
expect(() => getDefaultKubeconfig()).toThrow(
|
||||
getRequiredInputError("k8s-url")
|
||||
);
|
||||
});
|
||||
expect(getDefaultKubeconfig()).toBe(kc)
|
||||
})
|
||||
|
||||
test("it throws error without k8s secret", () => {
|
||||
process.env["INPUT_K8S-URL"] = "url";
|
||||
describe('service-account method', () => {
|
||||
beforeEach(() => {
|
||||
process.env['INPUT_METHOD'] = 'service-account'
|
||||
})
|
||||
|
||||
expect(() => getDefaultKubeconfig()).toThrow(
|
||||
getRequiredInputError("k8s-secret")
|
||||
);
|
||||
});
|
||||
test('it throws error without cluster url', () => {
|
||||
expect(() => getDefaultKubeconfig()).toThrow(
|
||||
getRequiredInputError('k8s-url')
|
||||
)
|
||||
})
|
||||
|
||||
test("it gets kubeconfig through service-account", () => {
|
||||
const k8sUrl = "https://testing-dns-4za.hfp.earth.azmk8s.io:443";
|
||||
const token = "ZXlKaGJHY2lPcUpTVXpJMU5pSX=";
|
||||
const cert = "LS0tLS1CRUdJTiBDRWyUSUZJQ";
|
||||
const k8sSecret = fs.readFileSync("tests/sample-secret.yml").toString();
|
||||
test('it throws error without k8s secret', () => {
|
||||
process.env['INPUT_K8S-URL'] = 'url'
|
||||
|
||||
process.env["INPUT_K8S-URL"] = k8sUrl;
|
||||
process.env["INPUT_K8S-SECRET"] = k8sSecret;
|
||||
expect(() => getDefaultKubeconfig()).toThrow(
|
||||
getRequiredInputError('k8s-secret')
|
||||
)
|
||||
})
|
||||
|
||||
const expectedConfig = JSON.stringify({
|
||||
apiVersion: "v1",
|
||||
kind: "Config",
|
||||
clusters: [
|
||||
{
|
||||
name: "default",
|
||||
cluster: {
|
||||
server: k8sUrl,
|
||||
"certificate-authority-data": cert,
|
||||
"insecure-skip-tls-verify": false,
|
||||
},
|
||||
},
|
||||
],
|
||||
users: [
|
||||
{
|
||||
name: "default-user",
|
||||
user: { token: Buffer.from(token, "base64").toString() },
|
||||
},
|
||||
],
|
||||
contexts: [
|
||||
{
|
||||
name: "loaded-context",
|
||||
context: {
|
||||
cluster: "default",
|
||||
user: "default-user",
|
||||
name: "loaded-context",
|
||||
},
|
||||
},
|
||||
],
|
||||
preferences: {},
|
||||
"current-context": "loaded-context",
|
||||
});
|
||||
test('it gets kubeconfig through service-account', () => {
|
||||
const k8sUrl = 'https://testing-dns-4za.hfp.earth.azmk8s.io:443'
|
||||
const token = 'ZXlKaGJHY2lPcUpTVXpJMU5pSX='
|
||||
const cert = 'LS0tLS1CRUdJTiBDRWyUSUZJQ'
|
||||
const k8sSecret = fs.readFileSync('tests/sample-secret.yml').toString()
|
||||
|
||||
expect(getDefaultKubeconfig()).toBe(expectedConfig);
|
||||
});
|
||||
});
|
||||
});
|
||||
process.env['INPUT_K8S-URL'] = k8sUrl
|
||||
process.env['INPUT_K8S-SECRET'] = k8sSecret
|
||||
|
||||
const expectedConfig = JSON.stringify({
|
||||
apiVersion: 'v1',
|
||||
kind: 'Config',
|
||||
clusters: [
|
||||
{
|
||||
name: 'default',
|
||||
cluster: {
|
||||
server: k8sUrl,
|
||||
'certificate-authority-data': cert,
|
||||
'insecure-skip-tls-verify': false
|
||||
}
|
||||
}
|
||||
],
|
||||
users: [
|
||||
{
|
||||
name: 'default-user',
|
||||
user: {token: Buffer.from(token, 'base64').toString()}
|
||||
}
|
||||
],
|
||||
contexts: [
|
||||
{
|
||||
name: 'loaded-context',
|
||||
context: {
|
||||
cluster: 'default',
|
||||
user: 'default-user',
|
||||
name: 'loaded-context'
|
||||
}
|
||||
}
|
||||
],
|
||||
preferences: {},
|
||||
'current-context': 'loaded-context'
|
||||
})
|
||||
|
||||
expect(getDefaultKubeconfig()).toBe(expectedConfig)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user