def test_workload_ip_already_in_use(self): duplicate_ip = "192.168.168.168" Workload(ip=duplicate_ip, credentials=self.valid_credentials, storage=self.valid_mount_point_list) with self.assertRaises(ValueError): Workload(ip=duplicate_ip, credentials=self.valid_credentials, storage=self.valid_mount_point_list)
def test_workload_credential_empty_password(self): credentials = self.valid_credentials credentials.password = None with self.assertRaises(ValueError): Workload(ip=self.valid_ip, credentials=credentials, storage=self.valid_mount_point_list)
def test_migration_target_valid_cloud_type(self): workload = Workload(ip=self.valid_ip, credentials=self.valid_credentials, storage=self.valid_mount_point_list) credentials = self.valid_credentials valid_cloud_type = CloudType.azure MigrationTarget(cloud_type=valid_cloud_type, cloud_credentials=credentials, target_vm=workload)
def test_migration_change_state(self): workload_source = Workload(ip=self.valid_ip_1, credentials=self.valid_credentials, storage=[self.valid_mount_point_list[0]]) workload_target = Workload(ip=self.valid_ip_2, credentials=self.valid_credentials, storage=[self.valid_mount_point_list[0]]) migration_target = MigrationTarget( cloud_type=CloudType.aws, cloud_credentials=self.valid_credentials, target_vm=workload_target) migration = Migration( selected_mount_points=self.valid_mount_point_list, source=workload_source, target=migration_target) with self.assertRaises(AttributeError): migration.state = MigrationState.success
def test_migration_basic(self): workload_source = Workload(ip=self.valid_ip_1, credentials=self.valid_credentials, storage=self.valid_mount_point_list) workload_target = Workload(ip=self.valid_ip_2, credentials=self.valid_credentials, storage=[]) migration_target = MigrationTarget( cloud_type=CloudType.aws, cloud_credentials=self.valid_credentials, target_vm=workload_target) migration = Migration( selected_mount_points=self.valid_mount_point_list, source=workload_source, target=migration_target) migration.__mock_wait_minutes__ = 0 migration.run() self.assertEqual(migration.state, MigrationState.success)
def test_migration_target_c_not_allowed(self): workload_source = Workload(ip=self.valid_ip_1, credentials=self.valid_credentials, storage=[self.valid_mount_point_list[1]]) workload_target = Workload(ip=self.valid_ip_2, credentials=self.valid_credentials, storage=[self.valid_mount_point_list[1]]) migration_target = MigrationTarget( cloud_type=CloudType.aws, cloud_credentials=self.valid_credentials, target_vm=workload_target) migration = Migration( selected_mount_points=[self.valid_mount_point_list[1]], source=workload_source, target=migration_target) with self.assertRaises(MigrationError): migration.run() self.assertEqual(migration.state, MigrationState.error)
def test_migration_target_invalid_cloud_type(self): workload = Workload(ip=self.valid_ip, credentials=self.valid_credentials, storage=self.valid_mount_point_list) credentials = self.valid_credentials invalid_cloud_type = "invalid" with self.assertRaises(ValueError): MigrationTarget(cloud_type=invalid_cloud_type, cloud_credentials=credentials, target_vm=workload)
def test_persistence(self): workload = Workload(ip=self.valid_ip, credentials=self.valid_credentials, storage=self.valid_mount_point_list) workload.save() loaded_workload = Workload.load() self.assertEqual(workload.ip, loaded_workload.ip) for i in range(len(workload.storage)): self.assertEqual(workload.storage[i].name, loaded_workload.storage[i].name) self.assertEqual(workload.storage[i].size, loaded_workload.storage[i].size) credentials = workload.credentials loaded_credentials = loaded_workload.credentials self.assertEqual(credentials.username, loaded_credentials.username) self.assertEqual(credentials.password, loaded_credentials.password) self.assertEqual(credentials.domain, loaded_credentials.domain) Workload.clear()
def test_workload_ip_is_none(self): none_ip = None with self.assertRaises(ValueError): Workload(ip=none_ip, credentials=self.valid_credentials, storage=self.valid_mount_point_list)
def test_workload_ip_change(self): workload = Workload(ip=self.valid_ip, credentials=self.valid_credentials, storage=self.valid_mount_point_list) with self.assertRaises(TypeError): workload.ip = "192.168.1.2"