chore(xo-server-test/createTempVm): returns a record instead of an id (#4508)

This commit is contained in:
badrAZ
2019-09-11 16:19:51 +02:00
committed by Julien Fontanet
parent 3eff8102e1
commit 352230446c
2 changed files with 15 additions and 18 deletions

View File

@@ -87,7 +87,7 @@ class XoConnection extends Xo {
while (true) {
try {
await predicate(obj)
return
return obj
} catch (_) {}
// If failed, wait for next object state/update and retry.
obj = await this.waitObject(id)
@@ -119,10 +119,9 @@ class XoConnection extends Xo {
async createTempVm(params) {
const id = await this.call('vm.create', params)
this._tempResourceDisposers.push('vm.delete', { id })
await this.waitObjectState(id, vm => {
return this.waitObjectState(id, vm => {
if (vm.type !== 'VM') throw new Error('retry')
})
return id
}
async createTempRemote(params) {

View File

@@ -226,7 +226,7 @@ describe('backupNg', () => {
it('fails trying to run a backup job with a VM without disks', async () => {
jest.setTimeout(8e3)
await xo.createTempServer(config.servers.default)
const vmIdWithoutDisks = await xo.createTempVm({
const { id: vmIdWithoutDisks } = await xo.createTempVm({
name_label: 'XO Test Without Disks',
name_description: 'Creating a vm without disks',
template: config.templates.templateWithoutDisks,
@@ -347,7 +347,7 @@ describe('backupNg', () => {
test('execute three times a rolling snapshot with 2 as retention & revert to an old state', async () => {
jest.setTimeout(6e4)
await xo.createTempServer(config.servers.default)
const vmId = await xo.createTempVm({
let vm = await xo.createTempVm({
name_label: 'XO Test Temp',
name_description: 'Creating a temporary vm',
template: config.templates.default,
@@ -364,7 +364,7 @@ describe('backupNg', () => {
const { id: jobId } = await xo.createTempBackupNgJob({
...defaultBackupNg,
vms: {
id: vmId,
id: vm.id,
},
schedules: {
[scheduleTempId]: DEFAULT_SCHEDULE,
@@ -377,32 +377,30 @@ describe('backupNg', () => {
const schedule = await xo.getSchedule({ jobId })
expect(typeof schedule).toBe('object')
for (let i = 0; i < 3; i++) {
const oldSnapshots = xo.objects.all[vmId].snapshots
await xo.call('backupNg.runJob', { id: jobId, schedule: schedule.id })
await xo.waitObjectState(vmId, ({ snapshots }) => {
vm = await xo.waitObjectState(vm.id, ({ snapshots }) => {
// Test on updating snapshots.
expect(snapshots).not.toEqual(oldSnapshots)
expect(snapshots).not.toEqual(vm.snapshots)
})
}
const { snapshots, videoram: oldVideoram } = xo.objects.all[vmId]
// Test on the retention, how many snapshots should be saved.
expect(snapshots.length).toBe(2)
expect(vm.snapshots.length).toBe(2)
const newVideoram = 16
await xo.call('vm.set', { id: vmId, videoram: newVideoram })
await xo.waitObjectState(vmId, ({ videoram }) => {
await xo.call('vm.set', { id: vm.id, videoram: newVideoram })
await xo.waitObjectState(vm.id, ({ videoram }) => {
expect(videoram).toBe(newVideoram.toString())
})
await xo.call('vm.revert', {
snapshot: snapshots[0],
snapshot: vm.snapshots[0],
})
await xo.waitObjectState(vmId, ({ videoram }) => {
expect(videoram).toBe(oldVideoram)
await xo.waitObjectState(vm.id, ({ videoram }) => {
expect(videoram).toBe(vm.videoram)
})
const [
@@ -442,7 +440,7 @@ describe('backupNg', () => {
message: expect.any(String),
start: expect.any(Number),
})
expect(vmTask.data.id).toBe(vmId)
expect(vmTask.data.id).toBe(vm.id)
})
test('execute three times a delta backup with 2 remotes, 2 as retention and 2 as fullInterval', async () => {