mirror of
https://github.com/Azure/k8s-set-context.git
synced 2026-04-17 22:42:16 +08:00
remove bundle intg test
This commit is contained in:
parent
6ad4fe0a14
commit
277e07e88f
@ -1,74 +0,0 @@
|
|||||||
import {afterEach, beforeAll, describe, expect, test} from 'vitest'
|
|
||||||
import {execFile} from 'child_process'
|
|
||||||
import {promisify} from 'util'
|
|
||||||
import {mkdtempSync, readFileSync, rmSync} from 'fs'
|
|
||||||
import path from 'path'
|
|
||||||
import os from 'os'
|
|
||||||
|
|
||||||
const execFileAsync = promisify(execFile)
|
|
||||||
|
|
||||||
const sampleKubeconfig = `apiVersion: v1
|
|
||||||
clusters:
|
|
||||||
- cluster:
|
|
||||||
server: https://example.com
|
|
||||||
name: primary
|
|
||||||
contexts:
|
|
||||||
- context:
|
|
||||||
cluster: primary
|
|
||||||
namespace: default
|
|
||||||
user: developer
|
|
||||||
name: exp-scratch
|
|
||||||
current-context: exp-scratch
|
|
||||||
kind: Config
|
|
||||||
preferences: {}
|
|
||||||
users:
|
|
||||||
- name: developer
|
|
||||||
user:
|
|
||||||
username: exp
|
|
||||||
password: pass
|
|
||||||
`
|
|
||||||
|
|
||||||
describe('Action bundle integration', () => {
|
|
||||||
beforeAll(async () => {
|
|
||||||
await execFileAsync('node', ['./scripts/build.mjs'])
|
|
||||||
}, 20000)
|
|
||||||
|
|
||||||
const createdDirs: string[] = []
|
|
||||||
|
|
||||||
afterEach(() => {
|
|
||||||
while (createdDirs.length) {
|
|
||||||
const dir = createdDirs.pop()
|
|
||||||
if (dir) {
|
|
||||||
rmSync(dir, {recursive: true, force: true})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
test('bundle sets kubeconfig as workflow would', async () => {
|
|
||||||
const runnerTemp = mkdtempSync(path.join(os.tmpdir(), 'bundle-test-'))
|
|
||||||
createdDirs.push(runnerTemp)
|
|
||||||
|
|
||||||
const env = {
|
|
||||||
...process.env,
|
|
||||||
RUNNER_TEMP: runnerTemp,
|
|
||||||
GITHUB_ACTIONS: 'true',
|
|
||||||
'INPUT_CLUSTER-TYPE': 'generic',
|
|
||||||
INPUT_METHOD: 'kubeconfig',
|
|
||||||
INPUT_KUBECONFIG: sampleKubeconfig,
|
|
||||||
INPUT_CONTEXT: 'exp-scratch'
|
|
||||||
}
|
|
||||||
|
|
||||||
const {stdout} = await execFileAsync('node', ['lib/index.cjs'], {
|
|
||||||
env
|
|
||||||
})
|
|
||||||
|
|
||||||
const output = stdout?.toString() ?? ''
|
|
||||||
const match = output.match(/::set-env name=KUBECONFIG::(.+)/)
|
|
||||||
expect(match?.[1]).toBeTruthy()
|
|
||||||
const kubeconfigPath = match![1].trim()
|
|
||||||
const contents = JSON.parse(readFileSync(kubeconfigPath, 'utf-8'))
|
|
||||||
|
|
||||||
expect(contents['current-context']).toBe('exp-scratch')
|
|
||||||
expect(contents.clusters[0].cluster.server).toBe('https://example.com')
|
|
||||||
}, 20000)
|
|
||||||
})
|
|
||||||
Loading…
x
Reference in New Issue
Block a user