def test_validate_invalid_dsversion(self): self.rsrc_defn['Properties']['datastore_version'] = '2.6.2' tc = cluster.TroveCluster('cluster', self.rsrc_defn, self.stack) ex = self.assertRaises(exception.StackValidationFailed, tc.validate) error_msg = ('Datastore version 2.6.2 for datastore type mongodb is ' 'not valid. Allowed versions are 2.6.1.') self.assertEqual(error_msg, six.text_type(ex))
def test_validate_invalid_dsversion(self): props = self.tmpl['resources']['cluster']['properties'].copy() props['datastore_version'] = '2.6.2' self.rsrc_defn = self.rsrc_defn.freeze(properties=props) tc = cluster.TroveCluster('cluster', self.rsrc_defn, self.stack) ex = self.assertRaises(exception.StackValidationFailed, tc.validate) error_msg = ('Datastore version 2.6.2 for datastore type mongodb is ' 'not valid. Allowed versions are 2.6.1.') self.assertEqual(error_msg, str(ex))
def test_validate_invalid_flavor(self): self.rsrc_defn['Properties']['instances'][0]['flavor'] = 'm1.small' tc = cluster.TroveCluster('cluster', self.rsrc_defn, self.stack) ex = self.assertRaises(exception.StackValidationFailed, tc.validate) error_msg = ("Property error: " "resources.cluster.properties.instances[0].flavor: " "Error validating value 'm1.small': " "The Flavor (m1.small) could not be found.") self.assertEqual(error_msg, six.text_type(ex))
def test_validate_invalid_flavor(self): self.troveclient.flavors.get.side_effect = troveexc.NotFound() self.troveclient.flavors.find.side_effect = troveexc.NotFound() self.rsrc_defn['Properties']['instances'][0]['flavor'] = 'm1.small' tc = cluster.TroveCluster('cluster', self.rsrc_defn, self.stack) ex = self.assertRaises(exception.StackValidationFailed, tc.validate) error_msg = ("Property error: " "resources.cluster.properties.instances[0].flavor: " "Error validating value 'm1.small': Not Found (HTTP 404)") self.assertEqual(error_msg, six.text_type(ex))
def test_validate_invalid_flavor(self): self.troveclient.flavors.get.side_effect = troveexc.NotFound() self.troveclient.flavors.find.side_effect = troveexc.NotFound() props = copy.deepcopy(self.tmpl['resources']['cluster']['properties']) props['instances'][0]['flavor'] = 'm1.small' self.rsrc_defn = self.rsrc_defn.freeze(properties=props) tc = cluster.TroveCluster('cluster', self.rsrc_defn, self.stack) ex = self.assertRaises(exception.StackValidationFailed, tc.validate) error_msg = ("Property error: " "resources.cluster.properties.instances[0].flavor: " "Error validating value 'm1.small': Not Found (HTTP 404)") self.assertEqual(error_msg, str(ex))
def test_validate_ok(self): tc = cluster.TroveCluster('cluster', self.rsrc_defn, self.stack) self.assertIsNone(tc.validate())
def _create_resource(self, name, snippet, stack): tc = cluster.TroveCluster(name, snippet, stack) self.client.clusters.create.return_value = FakeTroveCluster() self.client.clusters.get.return_value = FakeTroveCluster() scheduler.TaskRunner(tc.create)() return tc