class TestListSnapshots(TestCase): @trace def setUp(self): self.db = Database() self.db.project.insert(PROJECT, NETWORK) self.good_bmi = BMI(CORRECT_HAAS_USERNAME, CORRECT_HAAS_PASSWORD, PROJECT) self.good_bmi.import_ceph_image(EXIST_IMG_NAME) self.good_bmi.provision(NODE_NAME, EXIST_IMG_NAME, NETWORK, NIC) time.sleep(constants.HAAS_CALL_TIMEOUT) self.good_bmi.create_snapshot(NODE_NAME, NEW_SNAP_NAME) def test_run(self): response = self.good_bmi.list_snapshots() self.assertEqual(response[constants.STATUS_CODE_KEY], 200) self.assertEqual(response[constants.RETURN_VALUE_KEY][0][0], NEW_SNAP_NAME) def tearDown(self): self.good_bmi.deprovision(NODE_NAME, NETWORK, NIC) self.good_bmi.remove_image(NEW_SNAP_NAME) self.good_bmi.remove_image(EXIST_IMG_NAME) self.db.project.delete_with_name(PROJECT) self.db.close() self.good_bmi.shutdown() time.sleep(constants.HAAS_CALL_TIMEOUT)
class TestListSnapshots(TestCase): """ Does the same steps as previous test and calls list snapshots rest call """ @trace def setUp(self): self.db = Database() self.db.project.insert(PROJECT) self.good_bmi = BMI(CORRECT_HIL_USERNAME, CORRECT_HIL_PASSWORD, PROJECT) self.good_bmi.import_ceph_image(EXIST_IMG_NAME) self.good_bmi.create_disk(NEW_DISK, EXIST_IMG_NAME) self.good_bmi.create_snapshot(NEW_DISK, NEW_SNAP_NAME) def runTest(self): data = {constants.PROJECT_PARAMETER: PROJECT} res = requests.post(PICASSO_URL + "list_snapshots/", data=data, auth=(CORRECT_HIL_USERNAME, CORRECT_HIL_PASSWORD)) self.assertEqual(res.status_code, 200) js = res.json() self.assertEqual(res.status_code, 200) self.assertEqual(js[0][0], NEW_SNAP_NAME) def tearDown(self): self.good_bmi.delete_disk(NEW_DISK) self.good_bmi.remove_image(NEW_SNAP_NAME) self.good_bmi.remove_image(EXIST_IMG_NAME) self.db.project.delete_with_name(PROJECT) self.db.close() self.good_bmi.shutdown() time.sleep(constants.HIL_CALL_TIMEOUT)
class TestListSnapshots(TestCase): """ Creates snapshot like previous and calls list snapshots """ @trace def setUp(self): self.db = Database() self.db.project.insert(PROJECT) self.good_bmi = BMI(CORRECT_HIL_USERNAME, CORRECT_HIL_PASSWORD, PROJECT) self.good_bmi.import_ceph_image(EXIST_IMG_NAME) self.good_bmi.create_disk(NEW_DISK, EXIST_IMG_NAME) time.sleep(constants.HIL_CALL_TIMEOUT) self.good_bmi.create_snapshot(NEW_DISK, NEW_SNAP_NAME) def runTest(self): response = self.good_bmi.list_snapshots() self.assertEqual(response[constants.STATUS_CODE_KEY], 200) self.assertEqual(response[constants.RETURN_VALUE_KEY][0][0], NEW_SNAP_NAME) def tearDown(self): self.good_bmi.delete_disk(NEW_DISK) self.good_bmi.remove_image(NEW_SNAP_NAME) self.good_bmi.remove_image(EXIST_IMG_NAME) self.db.project.delete_with_name(PROJECT) self.db.close() self.good_bmi.shutdown() time.sleep(constants.HIL_CALL_TIMEOUT)
class TestListSnapshots(TestCase): @trace def setUp(self): self.db = Database() self.db.project.insert(PROJECT, NETWORK) self.good_bmi = BMI(CORRECT_HAAS_USERNAME, CORRECT_HAAS_PASSWORD, PROJECT) self.good_bmi.import_ceph_image(EXIST_IMG_NAME) self.good_bmi.provision(NODE_NAME, EXIST_IMG_NAME, NETWORK,NIC) time.sleep(constants.HAAS_CALL_TIMEOUT) self.good_bmi.create_snapshot(NODE_NAME, NEW_SNAP_NAME) def test_run(self): data = {constants.PROJECT_PARAMETER: PROJECT} res = requests.post(url + "list_snapshots/", data=data, auth=(CORRECT_HAAS_USERNAME, CORRECT_HAAS_PASSWORD)) self.assertEqual(res.status_code, 200) js = res.json() self.assertEqual(res.status_code, 200) self.assertEqual(js[0][0], NEW_SNAP_NAME) def tearDown(self): self.good_bmi.deprovision(NODE_NAME, NETWORK, NIC) self.good_bmi.remove_image(NEW_SNAP_NAME) self.good_bmi.remove_image(EXIST_IMG_NAME) self.db.project.delete_with_name(PROJECT) self.db.close() self.good_bmi.shutdown() time.sleep(constants.HAAS_CALL_TIMEOUT)
class TestCreateSnapshot(TestCase): """ Provisions an imported image and creates snapshot """ @trace def setUp(self): self.db = Database() self.db.project.insert(PROJECT, NETWORK) self.good_bmi = BMI(CORRECT_HIL_USERNAME, CORRECT_HIL_PASSWORD, PROJECT) self.good_bmi.import_ceph_image(EXIST_IMG_NAME) self.good_bmi.provision(NODE_NAME, EXIST_IMG_NAME, NETWORK, NIC) time.sleep(constants.HIL_CALL_TIMEOUT) def runTest(self): response = self.good_bmi.create_snapshot(NODE_NAME, NEW_SNAP_NAME) self.assertEqual(response[constants.STATUS_CODE_KEY], 200) snaps = self.db.image.fetch_snapshots_from_project(PROJECT) has_image = False for snapshot in snaps: if NEW_SNAP_NAME == snapshot[0]: has_image = True self.assertTrue(has_image) with ceph.RBD(_cfg.fs, _cfg.iscsi.password) as fs: img_id = self.good_bmi.get_ceph_image_name_from_project( NEW_SNAP_NAME, PROJECT) fs.get_image(img_id) def tearDown(self): self.good_bmi.deprovision(NODE_NAME, NETWORK, NIC) self.good_bmi.remove_image(NEW_SNAP_NAME) self.good_bmi.remove_image(EXIST_IMG_NAME) self.db.project.delete_with_name(PROJECT) self.db.close() self.good_bmi.shutdown() time.sleep(constants.HIL_CALL_TIMEOUT)