]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
update error msg for invalid state to update vpn resources
authorYong Sheng Gong <gongysh@unitedstack.com>
Mon, 2 Dec 2013 07:17:39 +0000 (15:17 +0800)
committerYong Sheng Gong <gongysh@unitedstack.com>
Mon, 2 Dec 2013 22:06:02 +0000 (06:06 +0800)
Change-Id: I6719fa359d0c14accfa8b9b440c2b7fbabbdcfdb
Closes-Bug: #1256766

neutron/db/vpn/vpn_db.py
neutron/extensions/vpnaas.py
neutron/tests/unit/db/vpn/test_db_vpnaas.py

index 8052c18de271c9b65ddd7b51efed6bdbd4364419..729816afc7752f57f40cec10943891214a9e9c0f 100644 (file)
@@ -194,8 +194,9 @@ class VPNPluginDb(VPNPluginBase, base_db.CommonDbMixin):
 
     def assert_update_allowed(self, obj):
         status = getattr(obj, 'status', None)
+        _id = getattr(obj, 'id', None)
         if utils.in_pending_status(status):
-            raise vpnaas.VPNStateInvalid(id=id, state=status)
+            raise vpnaas.VPNStateInvalidToUpdate(id=_id, state=status)
 
     def _make_ipsec_site_connection_dict(self, ipsec_site_conn, fields=None):
 
index 8e42b62f99102556373f96de7175eca02ed4d34f..1eaf5ae4f0195e2b6d782f98d717d6109cb3cef9 100644 (file)
@@ -70,8 +70,9 @@ class RouterInUseByVPNService(qexception.InUse):
     message = _("Router %(router_id)s is used by VPNService %(vpnservice_id)s")
 
 
-class VPNStateInvalid(qexception.BadRequest):
-    message = _("Invalid state %(state)s of vpnaas resource %(id)s")
+class VPNStateInvalidToUpdate(qexception.BadRequest):
+    message = _("Invalid state %(state)s of vpnaas resource %(id)s"
+                " for updating")
 
 
 class IPsecPolicyInUse(qexception.InUse):
index 70f72ee2914e8e41339833cb28a90eecf7b4060c..214423477eae9ff88faeb80f2a20add9df21c2d1 100644 (file)
@@ -909,6 +909,9 @@ class TestVpnaas(VPNPluginDbTestCase):
                     vpnservice['vpnservice']['id'])
                 res = req.get_response(self.ext_api)
                 self.assertEqual(400, res.status_int)
+                res = self.deserialize(self.fmt, res)
+                self.assertIn(vpnservice['vpnservice']['id'],
+                              res['NeutronError']['message'])
 
     def test_delete_vpnservice(self):
         """Test case to delete a vpnservice."""