Skip to content

Commit

Permalink
tests: add clone_vm tests
Browse files Browse the repository at this point in the history
Also put non-VMCollection related tests into separate class.
  • Loading branch information
marmarek committed Apr 28, 2017
1 parent cb87cfa commit 786bb7d
Showing 1 changed file with 44 additions and 0 deletions.
44 changes: 44 additions & 0 deletions qubesmgmt/tests/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,8 @@ def test_004_delitem(self):
del self.app.domains['test-vm']
self.assertAllCalled()


class TC_10_QubesBase(qubesmgmt.tests.QubesTestCase):
def test_010_new_simple(self):
self.app.expected_calls[('dom0', 'mgmt.vm.Create.AppVM', None,
b'name=new-vm label=red')] = b'0\x00'
Expand Down Expand Up @@ -137,3 +139,45 @@ def test_020_get_label(self):
label = self.app.get_label('red')
self.assertEqual(label.name, 'red')
self.assertAllCalled()

def test_030_clone(self):
self.app.expected_calls[('test-vm', 'mgmt.vm.Clone', None,
b'name=new-name')] = b'0\x00'
self.app.expected_calls[('dom0', 'mgmt.vm.List', None, None)] = \
b'0\x00new-name class=AppVM state=Halted\n' \
b'test-vm class=AppVM state=Halted\n'
new_vm = self.app.clone_vm('test-vm', 'new-name')
self.assertEqual(new_vm.name, 'new-name')
self.assertAllCalled()

def test_031_clone_object(self):
self.app.expected_calls[('test-vm', 'mgmt.vm.Clone', None,
b'name=new-name')] = b'0\x00'
self.app.expected_calls[('dom0', 'mgmt.vm.List', None, None)] = \
b'0\x00new-name class=AppVM state=Halted\n' \
b'test-vm class=AppVM state=Halted\n'
new_vm = self.app.clone_vm(self.app.domains['test-vm'], 'new-name')
self.assertEqual(new_vm.name, 'new-name')
self.assertAllCalled()

def test_032_clone_pool(self):
self.app.expected_calls[('test-vm', 'mgmt.vm.CloneInPool', None,
b'name=new-name pool=some-pool')] = b'0\x00'
self.app.expected_calls[('dom0', 'mgmt.vm.List', None, None)] = \
b'0\x00new-name class=AppVM state=Halted\n' \
b'test-vm class=AppVM state=Halted\n'
new_vm = self.app.clone_vm('test-vm', 'new-name', pool='some-pool')
self.assertEqual(new_vm.name, 'new-name')
self.assertAllCalled()

def test_033_clone_pools(self):
self.app.expected_calls[('test-vm', 'mgmt.vm.CloneInPool', None,
b'name=new-name pool:private=some-pool '
b'pool:volatile=other-pool')] = b'0\x00'
self.app.expected_calls[('dom0', 'mgmt.vm.List', None, None)] = \
b'0\x00new-name class=AppVM state=Halted\n' \
b'test-vm class=AppVM state=Halted\n'
new_vm = self.app.clone_vm('test-vm', 'new-name',
pools={'private': 'some-pool', 'volatile': 'other-pool'})
self.assertEqual(new_vm.name, 'new-name')
self.assertAllCalled()

0 comments on commit 786bb7d

Please sign in to comment.