def test_validator_incorrect_result(self, mock__get_validated_image, mock__get_validated_flavor): validator = validators.ImageValidOnFlavorValidator( "foo_flavor", "image", fail_on_404_image=False) image = self.config["args"]["image"] flavor = mock.Mock(ram=15, disk=15.0 * (1024**3)) success = validators.ValidationResult(True, "Success") fail = validators.ValidationResult(False, "Not success") user = self.credentials["openstack"]["users"][0]["credential"] user.clients().nova().flavors.get.return_value = "foo_flavor" # Flavor is incorrect mock__get_validated_flavor.return_value = (fail, flavor) result = validator.validate(self.config, self.credentials, None, None) self.assertIsNotNone(result) self.assertEqual("Not success", result.msg) # image is incorrect user.clients().nova().flavors.get.return_value = "foo_flavor" mock__get_validated_flavor.reset_mock() mock__get_validated_flavor.return_value = (success, flavor) mock__get_validated_image.return_value = (success, None) result = validator.validate(self.config, self.credentials, None, None) self.assertIsNone(result) mock__get_validated_image.reset_mock() mock__get_validated_image.return_value = (fail, image) result = validator.validate(self.config, self.credentials, None, None) self.assertIsNotNone(result) self.assertEqual("Not success", result.msg) # 'fail_on_404_image' == True result = self.validator.validate(self.config, self.credentials, None, None) self.assertIsNotNone(result) self.assertEqual("Not success", result.msg) # 'validate_disk' = False validator = validators.ImageValidOnFlavorValidator("foo_flavor", "image", validate_disk=False) mock__get_validated_image.reset_mock() mock__get_validated_image.return_value = (success, image) result = validator.validate(self.config, self.credentials, None, None) self.assertIsNone(result)
def test_validator(self, flavor_ram, flavor_disk, err_msg): image = config["args"]["image"] flavor = mock.Mock(ram=flavor_ram, disk=flavor_disk) success = validators.ValidationResult(True) user = self.credentials["openstack"]["users"][0]["credential"] user.clients().nova().flavors.get.return_value = "foo_flavor" self.validator._get_validated_image = mock.Mock() self.validator._get_validated_image.return_value = (success, image) self.validator._get_validated_flavor = mock.Mock() self.validator._get_validated_flavor.return_value = (success, flavor) result = self.validator.validate(config, self.credentials, None, None) if err_msg: self.assertEqual(err_msg % flavor.id, result.msg) else: self.assertIsNone(result, "Unexpected message")