Change in vdsm[master]: tests: delNetwork with invalid bond/vlan and mtu.

gvallare at redhat.com gvallare at redhat.com
Sun Jul 28 20:52:40 UTC 2013


Giuseppe Vallarelli has uploaded a new change for review.

Change subject: tests: delNetwork with invalid bond/vlan and mtu.
......................................................................

tests: delNetwork with invalid bond/vlan and mtu.

Added three functional tests:

* testDelNetworkBadBondingName
* testDelNetworkBadVlanName
* testDelNetworkWithMTU

covering the behaviour related to delNetwork when
providing invalid bond or vlan names and when
setting an mtu.

Change-Id: Idfbe14ca3597551c4582d07aa8215825e25daeea
Signed-off-by: Giuseppe Vallarelli <gvallare at redhat.com>
---
M tests/functional/networkTests.py
M tests/functional/utils.py
2 files changed, 61 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/00/17400/1

diff --git a/tests/functional/networkTests.py b/tests/functional/networkTests.py
index fc2b440..e3479fe 100644
--- a/tests/functional/networkTests.py
+++ b/tests/functional/networkTests.py
@@ -242,3 +242,48 @@
             networkQos = self.vdsm_net.networkQos(NETWORK_NAME)
             self.assertEqual(qos['qosInbound'], networkQos.inbound)
             self.assertEqual(qos['qosOutbound'], networkQos.outbound)
+
+    @permutations([[True], [False]])
+    @RequireDummyMod
+    @ValidateRunningAsRoot
+    def testDelNetworkBadBondingName(self, brdgd):
+        with dummyIf(1) as nics:
+            for badName in ('bond', 'bonda', 'bond0a', 'jamesbond007'):
+                status, msg = self.vdsm_net.delNetwork(NETWORK_NAME,
+                                                       bond=badName,
+                                                       nics=nics,
+                                                       opts={'bridged': brdgd})
+                self.assertEqual(status, neterrors.ERR_BAD_BONDING, msg)
+
+    @RequireDummyMod
+    @ValidateRunningAsRoot
+    def testDelNetworkBadVlanName(self):
+        with dummyIf(1) as nics:
+            for badName in ('a', '4096'):
+                status, msg = self.vdsm_net.delNetwork(NETWORK_NAME,
+                                                       vlan=badName,
+                                                       nics=nics)
+                self.assertEqual(status, neterrors.ERR_BAD_VLAN, msg)
+
+    @permutations([[True], [False]])
+    @RequireDummyMod
+    @ValidateRunningAsRoot
+    def testDelNetworkWithMTU(self, bridged):
+        MTU = '1234'
+        with dummyIf(1) as nics:
+            status, msg = self.vdsm_net.addNetwork(NETWORK_NAME, vlan=VLAN_ID,
+                                                   bond=BONDING_NAME,
+                                                   nics=nics,
+                                                   opts={'MTU': MTU,
+                                                         'bridged': bridged})
+            vlan_name = '%s.%s' % (BONDING_NAME, VLAN_ID)
+
+            self.assertEqual(status, SUCCESS, msg)
+            self.assertEquals(MTU, self.vdsm_net.getMtu(NETWORK_NAME,
+                                                        'network'))
+            self.assertEquals(MTU, self.vdsm_net.getMtu(vlan_name, 'vlan'))
+            self.assertEquals(MTU, self.vdsm_net.getMtu(BONDING_NAME, 'bond'))
+            self.assertEquals(MTU, self.vdsm_net.getMtu(nics[0], 'nic'))
+
+            status, msg = self.vdsm_net.delNetwork(NETWORK_NAME)
+            self.assertEqual(status, SUCCESS, msg)
diff --git a/tests/functional/utils.py b/tests/functional/utils.py
index d6dceb9..3c83626 100644
--- a/tests/functional/utils.py
+++ b/tests/functional/utils.py
@@ -190,6 +190,22 @@
     def vlanExists(self, vlan_name):
         return vlan_name in self.netinfo.vlans
 
+    def getMtu(self, name, obj_type):
+        mtu = None
+        try:
+            if obj_type == 'network':
+                return self.netinfo.networks[name]['mtu']
+            elif obj_type == 'vlan':
+                return self.netinfo.vlans[name]['mtu']
+            elif obj_type == 'bond':
+                return self.netinfo.bondings[name]['mtu']
+            elif obj_type == 'nic':
+                return self.netinfo.nics[name]['mtu']
+            else:
+                return mtu
+        except KeyError:
+            return mtu
+
     @contextmanager
     def pinger(self):
         """Keeps pinging vdsm for operations that need it"""


-- 
To view, visit http://gerrit.ovirt.org/17400
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Idfbe14ca3597551c4582d07aa8215825e25daeea
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Giuseppe Vallarelli <gvallare at redhat.com>


More information about the vdsm-patches mailing list