def test_createVM(self): _toStdMACSyntax = lambda s: \ ':'.join([ s[i:i+2] for i in range(0,len(s),2) ]) for machineName in ('image1', 'image2'): m = VirtualBox._findMachineByNameOrId(machineName) nic0 = m.getNetworkAdapter(0) nic0attachmentType = nic0.attachmentType self.assertEquals( VirtualBox._ctx['ifaces'].NetworkAttachmentType_NAT, nic0attachmentType) nic1 = m.getNetworkAdapter(1) self.assertEquals(VirtualBox.getNamesToIdsMapping().get(machineName), \ _toStdMACSyntax(nic1.MACAddress)) nic1attachmentType = nic1.attachmentType self.assertEquals( VirtualBox._ctx['ifaces'].NetworkAttachmentType_HostOnly, nic1attachmentType) hd = m.getMediumAttachment('SCSI', 0, 0).medium if machineName == 'image1': self.assertSubstring(self.IMAGE1_LOCATION, hd.location) elif machineName == 'image2': self.assertSubstring(self.IMAGE2_LOCATION, hd.location)
def _checkOneRunning(isRunning): self.assertTrue( isRunning ) running = yield VirtualBox.listRunningVMs() self.assertEquals(1, len(running) ) self.assertEquals('image1', running[0] ) powerOffRes = yield VirtualBox.powerOff('image1') self.assertTrue(powerOffRes) _checkNoneRunning()
def _checkOneRunning(isRunning): self.assertTrue(isRunning) running = yield VirtualBox.listRunningVMs() self.assertEquals(1, len(running)) self.assertEquals('image1', running[0]) powerOffRes = yield VirtualBox.powerOff('image1') self.assertTrue(powerOffRes) _checkNoneRunning()
def impl(startRes): self.assertTrue(startRes) state1 = yield VirtualBox.getState('image1') state2 = yield VirtualBox.getState('image2') self.assertEquals('Running', state1 ) self.assertEquals('PoweredOff', state2 ) time.sleep(3) powerOffRes1 = yield VirtualBox.powerOff('image1') self.assertTrue(powerOffRes1)
def impl(startRes): self.assertTrue(startRes) state1 = yield VirtualBox.getState('image1') state2 = yield VirtualBox.getState('image2') self.assertEquals('Running', state1) self.assertEquals('PoweredOff', state2) time.sleep(3) powerOffRes1 = yield VirtualBox.powerOff('image1') self.assertTrue(powerOffRes1)
def impl(namesAndStates): self.assertEquals('PoweredOff', namesAndStates.get('image1')) self.assertEquals('PoweredOff', namesAndStates.get('image2')) startRes = yield VirtualBox.start('image1') self.assertTrue(startRes) namesAndStates = yield VirtualBox.listVMsWithState() self.assertEquals('Running', namesAndStates.get('image1')) self.assertEquals('PoweredOff', namesAndStates.get('image2')) time.sleep(3) powerOffRes1 = yield VirtualBox.powerOff('image1') self.assertTrue(powerOffRes1)
def test_pause(self): @defer.inlineCallbacks def impl(startRes): self.assertTrue(startRes) image1State = yield VirtualBox.getState('image1') self.assertEquals('Running', image1State) pauseRes = yield VirtualBox.pause('image1') self.assertTrue(pauseRes) image1State = yield VirtualBox.getState('image1') self.assertEquals('Paused', image1State) unpauseRes = yield VirtualBox.unpause('image1') self.assertTrue(unpauseRes) image1State = yield VirtualBox.getState('image1') self.assertEquals('Running', image1State) time.sleep(3) powerOffRes1 = yield VirtualBox.powerOff('image1') self.assertTrue(powerOffRes1) d = VirtualBox.start('image1') d.addCallback(impl) return d
def test_listRunningVMs_2(self): @defer.inlineCallbacks def _checkNoneRunning(): running = yield VirtualBox.listRunningVMs() self.assertEquals(0, len(running) ) @defer.inlineCallbacks def _checkBothRunning(areRunning): self.assertTrue( areRunning[0] ) self.assertTrue( areRunning[1] ) running = yield VirtualBox.listRunningVMs() self.assertEquals(2, len(running) ) self.assertIn('image1', running ) self.assertIn('image2', running ) time.sleep(3) powerOffRes1 = yield VirtualBox.powerOff('image1') powerOffRes2 = yield VirtualBox.powerOff('image2') self.assertTrue(powerOffRes1) self.assertTrue(powerOffRes2) _checkNoneRunning() _checkNoneRunning() dBoth = defer.DeferredList( [VirtualBox.start(m) for m in ('image1', 'image2')] ) dBoth.addCallback( _checkBothRunning ) return dBoth
def _checkBothRunning(areRunning): self.assertTrue(areRunning[0]) self.assertTrue(areRunning[1]) running = yield VirtualBox.listRunningVMs() self.assertEquals(2, len(running)) self.assertIn('image1', running) self.assertIn('image2', running) time.sleep(3) powerOffRes1 = yield VirtualBox.powerOff('image1') powerOffRes2 = yield VirtualBox.powerOff('image2') self.assertTrue(powerOffRes1) self.assertTrue(powerOffRes2) _checkNoneRunning()
def _checkBothRunning(areRunning): self.assertTrue( areRunning[0] ) self.assertTrue( areRunning[1] ) running = yield VirtualBox.listRunningVMs() self.assertEquals(2, len(running) ) self.assertIn('image1', running ) self.assertIn('image2', running ) time.sleep(3) powerOffRes1 = yield VirtualBox.powerOff('image1') powerOffRes2 = yield VirtualBox.powerOff('image2') self.assertTrue(powerOffRes1) self.assertTrue(powerOffRes2) _checkNoneRunning()
def _createVMs(self): # create VMs self.IMAGE1_LOCATION = 'testVMImages/image1/cernvm-1.6.0-x86.vmdk' self.IMAGE2_LOCATION = 'testVMImages/image2/cernvm-1.6.0-x86.vmdk' imagePath1 = os.path.join(sys.path[0], self.IMAGE1_LOCATION) imagePath2 = os.path.join(sys.path[0], self.IMAGE2_LOCATION) self.assertTrue(os.path.isfile(imagePath1)) self.assertTrue(os.path.isfile(imagePath2)) d1 = VirtualBox.createVM("image1", imagePath1) d2 = VirtualBox.createVM("image2", imagePath2) dl = defer.DeferredList([d1, d2]) return dl
def test_listRunningVMs_2(self): @defer.inlineCallbacks def _checkNoneRunning(): running = yield VirtualBox.listRunningVMs() self.assertEquals(0, len(running)) @defer.inlineCallbacks def _checkBothRunning(areRunning): self.assertTrue(areRunning[0]) self.assertTrue(areRunning[1]) running = yield VirtualBox.listRunningVMs() self.assertEquals(2, len(running)) self.assertIn('image1', running) self.assertIn('image2', running) time.sleep(3) powerOffRes1 = yield VirtualBox.powerOff('image1') powerOffRes2 = yield VirtualBox.powerOff('image2') self.assertTrue(powerOffRes1) self.assertTrue(powerOffRes2) _checkNoneRunning() _checkNoneRunning() dBoth = defer.DeferredList( [VirtualBox.start(m) for m in ('image1', 'image2')]) dBoth.addCallback(_checkBothRunning) return dBoth
def test_listAvailableVMs(self): def _checkResults(results): self.assertIn('image1', results) self.assertIn('image2', results) d = VirtualBox.listAvailableVMs() d.addCallback(_checkResults) return d
def test_listAvailableVMs(self): def _checkResults(results): self.assertIn( 'image1', results) self.assertIn( 'image2', results) d = VirtualBox.listAvailableVMs() d.addCallback( _checkResults ) return d
def _createVMs(self): # create VMs self.IMAGE1_LOCATION = 'testVMImages/image1/cernvm-1.6.0-x86.vmdk' self.IMAGE2_LOCATION = 'testVMImages/image2/cernvm-1.6.0-x86.vmdk' imagePath1 = os.path.join(sys.path[0], self.IMAGE1_LOCATION) imagePath2 = os.path.join(sys.path[0], self.IMAGE2_LOCATION) self.assertTrue(os.path.isfile(imagePath1)) self.assertTrue(os.path.isfile(imagePath2)) d1 = VirtualBox.createVM("image1", imagePath1) d2 = VirtualBox.createVM("image2", imagePath2) dl = defer.DeferredList([d1,d2]) return dl
def test_start(self): @defer.inlineCallbacks def impl(res): self.assertTrue(res) time.sleep(3) powerOffRes = yield VirtualBox.powerOff('image1') self.assertTrue(powerOffRes) d = VirtualBox.start('image1') d.addCallback(impl) return d
def test_createVM(self): _toStdMACSyntax = lambda s: \ ':'.join([ s[i:i+2] for i in range(0,len(s),2) ]) for machineName in ('image1', 'image2'): m = VirtualBox._findMachineByNameOrId(machineName) nic0 = m.getNetworkAdapter(0) nic0attachmentType = nic0.attachmentType self.assertEquals(VirtualBox._ctx['ifaces'].NetworkAttachmentType_NAT, nic0attachmentType) nic1 = m.getNetworkAdapter(1) self.assertEquals(VirtualBox.getNamesToIdsMapping().get(machineName), \ _toStdMACSyntax(nic1.MACAddress)) nic1attachmentType = nic1.attachmentType self.assertEquals(VirtualBox._ctx['ifaces'].NetworkAttachmentType_HostOnly, nic1attachmentType) hd = m.getMediumAttachment('SCSI', 0,0).medium if machineName == 'image1': self.assertSubstring(self.IMAGE1_LOCATION, hd.location) elif machineName == 'image2': self.assertSubstring(self.IMAGE2_LOCATION, hd.location)
def test_getState(self): @defer.inlineCallbacks def impl(startRes): self.assertTrue(startRes) state1 = yield VirtualBox.getState('image1') state2 = yield VirtualBox.getState('image2') self.assertEquals('Running', state1 ) self.assertEquals('PoweredOff', state2 ) time.sleep(3) powerOffRes1 = yield VirtualBox.powerOff('image1') self.assertTrue(powerOffRes1) d = VirtualBox.start('image1') d.addCallback(impl) return d
def test_getState(self): @defer.inlineCallbacks def impl(startRes): self.assertTrue(startRes) state1 = yield VirtualBox.getState('image1') state2 = yield VirtualBox.getState('image2') self.assertEquals('Running', state1) self.assertEquals('PoweredOff', state2) time.sleep(3) powerOffRes1 = yield VirtualBox.powerOff('image1') self.assertTrue(powerOffRes1) d = VirtualBox.start('image1') d.addCallback(impl) return d
def test_listRunningVMs_1(self): @defer.inlineCallbacks def _checkNoneRunning(): running = yield VirtualBox.listRunningVMs() self.assertEquals(0, len(running)) @defer.inlineCallbacks def _checkOneRunning(isRunning): self.assertTrue(isRunning) running = yield VirtualBox.listRunningVMs() self.assertEquals(1, len(running)) self.assertEquals('image1', running[0]) powerOffRes = yield VirtualBox.powerOff('image1') self.assertTrue(powerOffRes) _checkNoneRunning() dStart = VirtualBox.start('image1') dStart.addCallback(_checkOneRunning) return dStart
def test_listRunningVMs_1(self): @defer.inlineCallbacks def _checkNoneRunning(): running = yield VirtualBox.listRunningVMs() self.assertEquals(0, len(running) ) @defer.inlineCallbacks def _checkOneRunning(isRunning): self.assertTrue( isRunning ) running = yield VirtualBox.listRunningVMs() self.assertEquals(1, len(running) ) self.assertEquals('image1', running[0] ) powerOffRes = yield VirtualBox.powerOff('image1') self.assertTrue(powerOffRes) _checkNoneRunning() dStart = VirtualBox.start('image1') dStart.addCallback( _checkOneRunning ) return dStart
def test_listVMsWithState(self): @defer.inlineCallbacks def impl(namesAndStates): self.assertEquals('PoweredOff', namesAndStates.get('image1')) self.assertEquals('PoweredOff', namesAndStates.get('image2')) startRes = yield VirtualBox.start('image1') self.assertTrue(startRes) namesAndStates = yield VirtualBox.listVMsWithState() self.assertEquals('Running', namesAndStates.get('image1')) self.assertEquals('PoweredOff', namesAndStates.get('image2')) time.sleep(3) powerOffRes1 = yield VirtualBox.powerOff('image1') self.assertTrue(powerOffRes1) d = VirtualBox.listVMsWithState() d.addCallback(impl) return d
def impl(startRes): self.assertTrue(startRes) image1State = yield VirtualBox.getState('image1') self.assertEquals('Running', image1State) pauseRes = yield VirtualBox.pause('image1') self.assertTrue(pauseRes) image1State = yield VirtualBox.getState('image1') self.assertEquals('Paused', image1State) unpauseRes = yield VirtualBox.unpause('image1') self.assertTrue(unpauseRes) image1State = yield VirtualBox.getState('image1') self.assertEquals('Running', image1State) time.sleep(3) powerOffRes1 = yield VirtualBox.powerOff('image1') self.assertTrue(powerOffRes1)
def _powerEverythingOff(self): try: yield VirtualBox.powerOff('image1') yield VirtualBox.powerOff('image2') except: pass
def _destroyVMs(self): d1 = VirtualBox.destroyVM('image1') d2 = VirtualBox.destroyVM('image2') dl = defer.DeferredList([d1, d2]) return dl
def impl(res): self.assertTrue(res) time.sleep(3) powerOffRes = yield VirtualBox.powerOff('image1') self.assertTrue(powerOffRes)
def _checkNoneRunning(): running = yield VirtualBox.listRunningVMs() self.assertEquals(0, len(running))
def _checkNoneRunning(): running = yield VirtualBox.listRunningVMs() self.assertEquals(0, len(running) )