diff --git a/heat/db/sqlalchemy/api.py b/heat/db/sqlalchemy/api.py index 5a1a14c4ae..059787f5bd 100644 --- a/heat/db/sqlalchemy/api.py +++ b/heat/db/sqlalchemy/api.py @@ -616,18 +616,16 @@ def software_config_get(context, config_id): result = model_query(context, models.SoftwareConfig).get(config_id) if (result is not None and context is not None and result.tenant != context.tenant_id): - return None + result = None + if not result: + raise exception.NotFound(_('Software config with id %s not found') % + config_id) return result def software_config_delete(context, config_id): config = software_config_get(context, config_id) - if not config: - raise exception.NotFound( - _('Attempt to delete software config with ' - '%(id)s %(msg)s') % {'id': config_id, - 'msg': 'that does not exist'}) session = Session.object_session(config) session.delete(config) session.flush() @@ -644,8 +642,11 @@ def software_deployment_get(context, deployment_id): result = model_query(context, models.SoftwareDeployment).get(deployment_id) if (result is not None and context is not None and result.tenant != context.tenant_id): - return None + result = None + if not result: + raise exception.NotFound(_('Deployment with id %s not found') % + deployment_id) return result @@ -660,13 +661,6 @@ def software_deployment_get_all(context, server_id=None): def software_deployment_update(context, deployment_id, values): deployment = software_deployment_get(context, deployment_id) - - if not deployment: - raise exception.NotFound( - _('Attempt to update software deployment with ' - 'id: %(id)s %(msg)s') % {'id': deployment_id, - 'msg': 'that does not exist'}) - deployment.update(values) deployment.save(_session(context)) return deployment @@ -674,11 +668,6 @@ def software_deployment_update(context, deployment_id, values): def software_deployment_delete(context, deployment_id): deployment = software_deployment_get(context, deployment_id) - if not deployment: - raise exception.NotFound( - _('Attempt to delete software deployment ' - 'with %(id)s %(msg)s') % {'id': deployment_id, - 'msg': 'that does not exist'}) session = Session.object_session(deployment) session.delete(deployment) session.flush() diff --git a/heat/tests/test_engine_service.py b/heat/tests/test_engine_service.py index 2d879933d9..dd93da785f 100644 --- a/heat/tests/test_engine_service.py +++ b/heat/tests/test_engine_service.py @@ -2566,8 +2566,12 @@ class SoftwareConfigServiceTest(HeatTestCase): def test_show_software_config(self): config_id = str(uuid.uuid4()) - self.assertIsNone( - self.engine.show_software_config(self.ctx, config_id)) + + e = self.assertRaises(rpc_common.ClientException, + self.engine.show_software_config, + self.ctx, config_id) + self.assertIs(e._exc_info[0], exception.NotFound) + config = self._create_software_config() config_id = config['id'] self.assertEqual( @@ -2602,8 +2606,11 @@ class SoftwareConfigServiceTest(HeatTestCase): self.assertIsNotNone(config) config_id = config['id'] self.engine.delete_software_config(self.ctx, config_id) - config = self.engine.show_software_config(self.ctx, config_id) - self.assertIsNone(config) + + e = self.assertRaises(rpc_common.ClientException, + self.engine.show_software_config, + self.ctx, config_id) + self.assertIs(e._exc_info[0], exception.NotFound) def _create_software_deployment(self, config_id=None, input_values={}, signal_id=None, action='INIT', @@ -2631,8 +2638,11 @@ class SoftwareConfigServiceTest(HeatTestCase): def test_show_software_deployment(self): deployment_id = str(uuid.uuid4()) - self.assertIsNone( - self.engine.show_software_deployment(self.ctx, deployment_id)) + e = self.assertRaises(rpc_common.ClientException, + self.engine.show_software_deployment, + self.ctx, deployment_id) + self.assertIs(e._exc_info[0], exception.NotFound) + deployment = self._create_software_deployment() self.assertIsNotNone(deployment) deployment_id = deployment['id'] diff --git a/heat/tests/test_sqlalchemy_api.py b/heat/tests/test_sqlalchemy_api.py index 64a17c51fb..55099e12cf 100644 --- a/heat/tests/test_sqlalchemy_api.py +++ b/heat/tests/test_sqlalchemy_api.py @@ -617,8 +617,11 @@ class SqlAlchemyTest(HeatTestCase): self.assertEqual(tenant_id, config.tenant) def test_software_config_get(self): - self.assertIsNone( - db_api.software_config_get(self.ctx, str(uuid.uuid4()))) + self.assertRaises( + exception.NotFound, + db_api.software_config_get, + self.ctx, + str(uuid.uuid4())) io = {'inputs': [{'name': 'foo'}, {'name': 'bar'}], 'outputs': [{'name': 'result'}]} tenant_id = self.ctx.tenant_id @@ -640,8 +643,11 @@ class SqlAlchemyTest(HeatTestCase): self.assertEqual(conf, config.config) self.assertEqual(io, config.io) self.ctx.tenant_id = None - config = db_api.software_config_get(self.ctx, config_id) - self.assertIsNone(config) + self.assertRaises( + exception.NotFound, + db_api.software_config_get, + self.ctx, + config_id) def test_software_config_delete(self): tenant_id = self.ctx.tenant_id @@ -650,8 +656,13 @@ class SqlAlchemyTest(HeatTestCase): 'tenant': tenant_id}) config_id = config.id db_api.software_config_delete(self.ctx, config_id) - config = db_api.software_config_get(self.ctx, config_id) - self.assertIsNone(config) + err = self.assertRaises( + exception.NotFound, + db_api.software_config_get, + self.ctx, + config_id) + self.assertIn(config_id, str(err)) + err = self.assertRaises( exception.NotFound, db_api.software_config_delete, self.ctx, config_id) @@ -678,8 +689,11 @@ class SqlAlchemyTest(HeatTestCase): self.assertEqual(values['tenant'], deployment.tenant) def test_software_deployment_get(self): - self.assertIsNone( - db_api.software_deployment_get(self.ctx, str(uuid.uuid4()))) + self.assertRaises( + exception.NotFound, + db_api.software_deployment_get, + self.ctx, + str(uuid.uuid4())) values = self._deployment_values() deployment = db_api.software_deployment_create(self.ctx, values) self.assertIsNotNone(deployment) @@ -691,8 +705,11 @@ class SqlAlchemyTest(HeatTestCase): self.assertEqual(values['server_id'], deployment.server_id) self.assertEqual(values['input_values'], deployment.input_values) self.ctx.tenant_id = None - deployment = db_api.software_deployment_get(self.ctx, deployment_id) - self.assertIsNone(deployment) + self.assertRaises( + exception.NotFound, + db_api.software_deployment_get, + self.ctx, + deployment_id) def test_software_deployment_get_all(self): self.assertEqual([], db_api.software_deployment_get_all(self.ctx)) @@ -737,8 +754,14 @@ class SqlAlchemyTest(HeatTestCase): deployment = db_api.software_deployment_get(self.ctx, deployment_id) self.assertIsNotNone(deployment) db_api.software_deployment_delete(self.ctx, deployment_id) - deployment = db_api.software_deployment_get(self.ctx, deployment_id) - self.assertIsNone(deployment) + + err = self.assertRaises( + exception.NotFound, + db_api.software_deployment_get, + self.ctx, + deployment_id) + + self.assertIn(deployment_id, str(err)) def create_raw_template(context, **kwargs):