]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Fix access to lifetime dict in update_ipsecpolicy method
authorEugene Nikanorov <enikanorov@mirantis.com>
Thu, 10 Oct 2013 09:10:58 +0000 (13:10 +0400)
committerEugene Nikanorov <enikanorov@mirantis.com>
Thu, 10 Oct 2013 17:57:26 +0000 (21:57 +0400)
Also add corresponding unit test.

Change-Id: Ie1141b5034415ccf3039a71dfedc47cfb2ca7a88
Closes-Bug: #1237912

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

index 175dd0bc6e0382b2d01ec508711ad70012522a0c..8052c18de271c9b65ddd7b51efed6bdbd4364419 100644 (file)
@@ -504,7 +504,7 @@ class VPNPluginDb(VPNPluginBase, base_db.CommonDbMixin):
                 if lifetime_info:
                     if lifetime_info.get('units'):
                         ipsecp['lifetime_units'] = lifetime_info['units']
-                    if lifetime_info('value'):
+                    if lifetime_info.get('value'):
                         ipsecp['lifetime_value'] = lifetime_info['value']
                 ipsecp_db.update(ipsecp)
         return self._make_ipsecpolicy_dict(ipsecp_db)
index 9296e9b9418b15d1b6ecd2c09eca5c35ef282611..23c4fcd1930c8d09f6662f41eddf11b4478bcc11 100644 (file)
@@ -515,9 +515,13 @@ class TestVpnaas(VPNPluginDbTestCase):
                 ('phase1_negotiation_mode', 'main'),
                 ('ike_version', 'v1'),
                 ('pfs', 'group5'),
-                ('tenant_id', self._tenant_id)]
+                ('tenant_id', self._tenant_id),
+                ('lifetime', {'units': 'seconds',
+                              'value': 60})]
         with self.ikepolicy(name=name) as ikepolicy:
-            data = {'ikepolicy': {'name': name}}
+            data = {'ikepolicy': {'name': name,
+                                  'lifetime': {'units': 'seconds',
+                                               'value': 60}}}
             req = self.new_update_request("ikepolicies",
                                           data,
                                           ikepolicy['ikepolicy']['id'])
@@ -699,9 +703,13 @@ class TestVpnaas(VPNPluginDbTestCase):
                 ('encapsulation_mode', 'tunnel'),
                 ('transform_protocol', 'esp'),
                 ('pfs', 'group5'),
-                ('tenant_id', self._tenant_id)]
+                ('tenant_id', self._tenant_id),
+                ('lifetime', {'units': 'seconds',
+                              'value': 60})]
         with self.ipsecpolicy(name=name) as ipsecpolicy:
-            data = {'ipsecpolicy': {'name': name}}
+            data = {'ipsecpolicy': {'name': name,
+                                    'lifetime': {'units': 'seconds',
+                                                 'value': 60}}}
             req = self.new_update_request("ipsecpolicies",
                                           data,
                                           ipsecpolicy['ipsecpolicy']['id'])
@@ -709,6 +717,23 @@ class TestVpnaas(VPNPluginDbTestCase):
             for k, v in keys:
                 self.assertEqual(res['ipsecpolicy'][k], v)
 
+    def test_update_ipsecpolicy_lifetime(self):
+        with self.ipsecpolicy() as ipsecpolicy:
+            data = {'ipsecpolicy': {'lifetime': {'units': 'seconds'}}}
+            req = self.new_update_request("ipsecpolicies",
+                                          data,
+                                          ipsecpolicy['ipsecpolicy']['id'])
+            res = self.deserialize(self.fmt, req.get_response(self.ext_api))
+            self.assertEqual(res['ipsecpolicy']['lifetime']['units'],
+                             'seconds')
+
+            data = {'ipsecpolicy': {'lifetime': {'value': 60}}}
+            req = self.new_update_request("ipsecpolicies",
+                                          data,
+                                          ipsecpolicy['ipsecpolicy']['id'])
+            res = self.deserialize(self.fmt, req.get_response(self.ext_api))
+            self.assertEqual(res['ipsecpolicy']['lifetime']['value'], 60)
+
     def test_create_ipsecpolicy_with_invalid_values(self):
         """Test case to test invalid values."""
         name = 'ipsecpolicy1'