Exemplo n.º 1
0
    def setup(self):
        # for persistence tests
        self.tmpdir = tempfile.mkdtemp()

        # an empty VMPool
        self.pool0 = VMPool(self.tmpdir + '/pool0', None)
        # VMpool with 1 VM
        self.pool1 = VMPool(self.tmpdir + '/pool1', None)
        self.vm1 = _MockVM('a')
        self.pool1.add_vm(self.vm1)
        # VMpool with 2 VM
        self.pool2 = VMPool(self.tmpdir + '/pool2', None)
        self.vm2 = _MockVM('b')
        self.pool2.add_vm(self.vm1)
        self.pool2.add_vm(self.vm2)
Exemplo n.º 2
0
 def test_update(self):
     # clone pool2
     pool = VMPool(self.pool2.path, None)
     vm3 = _MockVM('c')
     pool.add_vm(vm3)
     self.pool2.update()
     assert 'c' in self.pool2
Exemplo n.º 3
0
 def test_update_remove(self):
     # clone pool2
     pool = VMPool(self.pool2.path, None)
     pool.remove_vm('b')
     self.pool2.update(remove=True)
     assert 'b' not in self.pool2
     assert 'a' in self.pool2
Exemplo n.º 4
0
    def test_save_then_load_empty_vmpool(self):
        self.pool0.save()

        pool = VMPool(self.pool0.path, None)
        assert_equal(pool.name, self.pool0.name)
        assert_equal(pool.conn, None)
        assert_equal(pool._vm_cache, {})
        assert_equal(pool._vm_ids, self.pool0._vm_ids)
Exemplo n.º 5
0
    def test_save_then_load_empty_vmpool(self):
        self.pool0.save()

        pool = VMPool(self.pool0.path, None)
        assert pool.name == self.pool0.name
        assert pool.conn == None
        assert pool._vm_cache == {}
        assert pool._vm_ids == self.pool0._vm_ids
Exemplo n.º 6
0
 def test_reload(self):
     # simulate stopping program by deleting object and cloning a
     # copy from disk
     for pool in self.pool0, self.pool1, self.pool2:
         ids = pool._vm_ids
         path = pool.path
         del pool
         pool = VMPool(path, None)
         assert_equal(pool._vm_ids, ids)
         assert pool._vm_ids is not ids
Exemplo n.º 7
0
    def test_save_then_load_nonempty_vmpool(self):
        self.pool2.save()

        pool = VMPool(self.pool2.path, None)
        assert_equal(pool.name, self.pool2.name)
        # the list of VM ids should have been persisted ...
        assert_equal(pool._vm_ids, self.pool2._vm_ids)
        # ... but the VM cache is now empty
        assert_equal(pool._vm_cache, {})
        # ...and so is the connection
        assert_equal(pool.conn, None)
Exemplo n.º 8
0
    def test_save_then_load_nonempty_vmpool(self):
        self.pool2.save()

        pool = VMPool(self.pool2.path, None)
        assert pool.name == self.pool2.name
        # the list of VM ids should have been persisted ...
        assert pool._vm_ids == self.pool2._vm_ids
        # ... but the VM cache is now empty
        assert pool._vm_cache == {}
        # ...and so is the connection
        assert pool.conn == None
Exemplo n.º 9
0
 def test_get_vm_not_in_cache_and_no_connection(self):
     # clone pool2 from disk copy
     pool = VMPool(self.pool2.path, None)
     assert_equal(self.vm1, pool['a'])
     assert_equal(self.vm2, pool['b'])
Exemplo n.º 10
0
 def test_get_vm_not_in_cache_and_no_connection(self):
     # clone pool2 from disk copy
     pool = VMPool(self.pool2.path, None)
     with pytest.raises(gc3libs.exceptions.UnrecoverableError):
         # pylint: disable=pointless-statement
         pool['a']