adding tests for libvirt

Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/fff60870
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/fff60870
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/fff60870

Branch: refs/heads/trunk
Commit: fff608705e0bb7ad3ecd419e79f7a69f0cb2c559
Parents: fa63096
Author: Rene Kjellerup <rkjelle...@touchcommerce.com>
Authored: Wed Jun 15 17:15:21 2016 -0700
Committer: Anthony Shaw <anthonys...@apache.org>
Committed: Fri Jun 24 14:27:46 2016 +1000

----------------------------------------------------------------------
 libcloud/test/compute/test_libvirt_driver.py | 59 +++++++++++++++++++++++
 1 file changed, 59 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/fff60870/libcloud/test/compute/test_libvirt_driver.py
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/test_libvirt_driver.py 
b/libcloud/test/compute/test_libvirt_driver.py
new file mode 100644
index 0000000..b6175fd
--- /dev/null
+++ b/libcloud/test/compute/test_libvirt_driver.py
@@ -0,0 +1,59 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import sys
+
+from libcloud.compute.drivers.libvirt_driver import LibvirtNodeDriver
+
+
+from libcloud.test import unittest
+
+
+class LibvirtNodeDriverTestCase( unittest.TestCase):
+    
+
+    def setUp(self):
+        self.driver = LibvirtNodeDriver('')
+
+    def _assert_arp_table(self, arp_table):
+        self.assertIn('52:54:00:bc:f9:6c', arp_table)
+        self.assertIn('52:54:00:04:89:51', arp_table)
+        self.assertIn('52:54:00:c6:40:ec', arp_table)
+        self.assertIn('52:54:00:77:1c:83', arp_table)
+        self.assertEqual(arp_table['52:54:00:bc:f9:6c'], '1.2.10.80')
+        self.assertEqual(arp_table['52:54:00:04:89:51'], '1.2.10.33')
+        self.assertEqual(arp_table['52:54:00:c6:40:ec'], '1.2.10.97')
+        self.assertEqual(arp_table['52:54:00:77:1c:83'], '1.2.10.40')
+
+    def test_arp_map(self):
+        arp_output_str = """? (1.2.10.80) at 52:54:00:bc:f9:6c [ether] on br0
+? (1.2.10.33) at 52:54:00:04:89:51 [ether] on br0
+? (1.2.10.97) at 52:54:00:c6:40:ec [ether] on br0
+? (1.2.10.40) at 52:54:00:77:1c:83 [ether] on br0
+"""
+        arp_table = self.driver._parse_ip_table_arp(arp_output_str)
+        self._assert_arp_table(arp_table)
+
+    def test_ip_map(self):
+        arp_output_str = """1.2.10.80 dev br0 lladdr 52:54:00:bc:f9:6c STALE
+1.2.10.33 dev br0 lladdr 52:54:00:04:89:51 REACHABLE
+1.2.10.97 dev br0 lladdr 52:54:00:c6:40:ec DELAY
+1.2.10.40 dev br0 lladdr 52:54:00:77:1c:83 STALE
+"""
+        arp_table = self.driver._parse_ip_table_neigh(arp_output_str)
+        self._assert_arp_table(arp_table)
+
+if __name__ == '__main__':
+    sys.exit(unittest.main())

Reply via email to