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_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 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_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_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 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 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_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