def testBogusObjectPath(self): """ Success should occur on a bogus object path. """ (_, rc, _) = checked_call(Manager.DestroyPool(self._proxy, pool="/"), ManagerSpec.OUTPUT_SIGS[_MN.DestroyPool]) self.assertEqual(rc, self._errors.OK)
def testExecution(self): """ This should fail since it has a filesystem on it. """ (rc, _) = checked_call( Manager.DestroyPool(self._proxy, name=self._POOLNAME), ManagerSpec.OUTPUT_SIGS[_MN.DestroyPool]) self.assertEqual(rc, self._errors.BUSY)
def testExecution(self): """ Destroy should succeed. """ (rc, _) = checked_call( Manager.DestroyPool(self._proxy, name=self._POOLNAME), ManagerSpec.OUTPUT_SIGS[_MN.DestroyPool]) self.assertEqual(rc, self._errors.OK) (_, rc1, _) = checked_call( Manager.GetPoolObjectPath(self._proxy, name=self._POOLNAME), ManagerSpec.OUTPUT_SIGS[_MN.GetPoolObjectPath]) self.assertEqual(rc1, self._errors.POOL_NOTFOUND)
def testExecution(self): """ This should fail since the pool has a filesystem on it. """ managed_objects = get_managed_objects(self._proxy) (pool, _) = next(managed_objects.pools({'Name': self._POOLNAME})) (result, rc, _) = checked_call(Manager.DestroyPool(self._proxy, pool=pool), ManagerSpec.OUTPUT_SIGS[_MN.DestroyPool]) self.assertEqual(rc, self._errors.BUSY) self.assertEqual(result, False) managed_objects = get_managed_objects(self._proxy) (pool1, _) = next(managed_objects.pools({'Name': self._POOLNAME})) self.assertEqual(pool, pool1)
def testExecution(self): """ The pool was just created, so it must always be possible to destroy it. """ managed_objects = get_managed_objects(self._proxy) (pool1, _) = next(managed_objects.pools({'Name': self._POOLNAME})) (result, rc, _) = checked_call(Manager.DestroyPool(self._proxy, pool=pool1), ManagerSpec.OUTPUT_SIGS[_MN.DestroyPool]) managed_objects = get_managed_objects(self._proxy) pool2 = next(managed_objects.pools({'Name': self._POOLNAME}), None) self.assertEqual(rc, self._errors.OK) self.assertIsNone(pool2) self.assertTrue(result)
def testExecution(self): """ The pool was just created and has no devices. It should always be possible to destroy it. """ managed_objects = get_managed_objects(self._proxy) (pool, _) = next(managed_objects.pools({'Name': self._POOLNAME})) (result, rc, _) = checked_call(Manager.DestroyPool(self._proxy, pool=pool), ManagerSpec.OUTPUT_SIGS[_MN.DestroyPool]) self.assertEqual(rc, self._errors.OK) self.assertEqual(result, True) managed_objects = get_managed_objects(self._proxy) self.assertIsNone( next(managed_objects.pools({'Name': self._POOLNAME}), None))
def destroy_pool(namespace): """ Destroy a stratis pool. If no pool exists, the method succeeds. :raises StratisCliRuntimeError: """ proxy = get_object(TOP_OBJECT) (rc, message) = Manager.DestroyPool(proxy, name=namespace.name) stratisd_errors = StratisdErrorsGen.get_object() if rc != stratisd_errors.OK: raise StratisCliRuntimeError(rc, message) return
def testExecution(self): """ The pool was just created, so must be destroyable. """ (rc, _) = checked_call( Manager.DestroyPool(self._proxy, name=self._POOLNAME), ManagerSpec.OUTPUT_SIGS[_MN.DestroyPool]) (_, rc1, _) = checked_call( Manager.GetPoolObjectPath(self._proxy, name=self._POOLNAME), ManagerSpec.OUTPUT_SIGS[_MN.GetPoolObjectPath], ) if rc is self._errors.OK: expected_rc = self._errors.POOL_NOTFOUND else: expected_rc = self._errors.OK self.assertEqual(rc1, expected_rc)