mirror of
https://github.com/Azure/k8s-deploy.git
synced 2026-06-28 07:49:27 +08:00
v4 new release (#232)
This commit is contained in:
committed by
GitHub
parent
4e60e959ea
commit
bba74ad3b5
@@ -0,0 +1,66 @@
|
||||
import {getManifestObjects} from './blueGreenHelper'
|
||||
import {Kubectl} from '../../types/kubectl'
|
||||
import {BlueGreenRejectResult} from '../../types/blueGreenTypes'
|
||||
|
||||
import * as TSutils from '../../utilities/trafficSplitUtils'
|
||||
import {
|
||||
rejectBlueGreenIngress,
|
||||
rejectBlueGreenService,
|
||||
rejectBlueGreenSMI
|
||||
} from './reject'
|
||||
|
||||
const ingressFilepath = ['test/unit/manifests/test-ingress-new.yml']
|
||||
const kubectl = new Kubectl('')
|
||||
|
||||
jest.mock('../../types/kubectl')
|
||||
|
||||
describe('reject tests', () => {
|
||||
let testObjects
|
||||
|
||||
beforeEach(() => {
|
||||
//@ts-ignore
|
||||
Kubectl.mockClear()
|
||||
testObjects = getManifestObjects(ingressFilepath)
|
||||
})
|
||||
|
||||
test('reject blue/green ingress', async () => {
|
||||
const value = await rejectBlueGreenIngress(kubectl, testObjects)
|
||||
|
||||
const bgDeployment = value.routeResult
|
||||
const deleteResult = value.deleteResult
|
||||
|
||||
expect(deleteResult).toHaveLength(2)
|
||||
for (const obj of deleteResult) {
|
||||
if (obj.kind == 'Service') {
|
||||
expect(obj.name).toBe('nginx-service-green')
|
||||
}
|
||||
if (obj.kind == 'Deployment') {
|
||||
expect(obj.name).toBe('nginx-deployment-green')
|
||||
}
|
||||
}
|
||||
|
||||
expect(bgDeployment.objects).toHaveLength(1)
|
||||
expect(bgDeployment.objects[0].metadata.name).toBe('nginx-ingress')
|
||||
})
|
||||
|
||||
test('reject blue/green service', async () => {
|
||||
const value = await rejectBlueGreenService(kubectl, testObjects)
|
||||
|
||||
const bgDeployment = value.routeResult
|
||||
const deleteResult = value.deleteResult
|
||||
|
||||
expect(deleteResult).toHaveLength(1)
|
||||
expect(deleteResult[0].name).toBe('nginx-deployment-green')
|
||||
|
||||
expect(bgDeployment.objects).toHaveLength(1)
|
||||
expect(bgDeployment.objects[0].metadata.name).toBe('nginx-service')
|
||||
})
|
||||
|
||||
test('reject blue/green SMI', async () => {
|
||||
jest
|
||||
.spyOn(TSutils, 'getTrafficSplitAPIVersion')
|
||||
.mockImplementation(() => Promise.resolve('v1alpha3'))
|
||||
const rejectResult = await rejectBlueGreenSMI(kubectl, testObjects)
|
||||
expect(rejectResult.deleteResult).toHaveLength(4)
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user