From f01dea6918048d92984be69c6d96377dbd759d46 Mon Sep 17 00:00:00 2001
From: JingLu5 <lvjing5@huawei.com>
Date: Fri, 11 Aug 2017 06:16:19 +0000
Subject: Add common openstack opertation scenarios: network

JIRA: YARDSTICK-781

This patch adds some common openstack opertation scenarios

Change-Id: I854fc435a5c951245a5997cd4e3e63c5162030af
Signed-off-by: JingLu5 <lvjing5@huawei.com>
---
 .../benchmark/scenarios/lib/test_attach_volume.py  | 33 ++++++++++++++++++++
 .../scenarios/lib/test_create_floating_ip.py       | 34 +++++++++++++++++++++
 .../benchmark/scenarios/lib/test_create_keypair.py | 35 ++++++++++++++++++++++
 3 files changed, 102 insertions(+)
 create mode 100644 tests/unit/benchmark/scenarios/lib/test_attach_volume.py
 create mode 100644 tests/unit/benchmark/scenarios/lib/test_create_floating_ip.py
 create mode 100644 tests/unit/benchmark/scenarios/lib/test_create_keypair.py

(limited to 'tests/unit')

diff --git a/tests/unit/benchmark/scenarios/lib/test_attach_volume.py b/tests/unit/benchmark/scenarios/lib/test_attach_volume.py
new file mode 100644
index 000000000..e69924072
--- /dev/null
+++ b/tests/unit/benchmark/scenarios/lib/test_attach_volume.py
@@ -0,0 +1,33 @@
+##############################################################################
+# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+import unittest
+import mock
+
+from yardstick.benchmark.scenarios.lib.attach_volume import AttachVolume
+
+
+class AttachVolumeTestCase(unittest.TestCase):
+
+    @mock.patch('yardstick.common.openstack_utils.attach_server_volume')
+    def test_attach_volume(self, mock_attach_server_volume):
+        options = {
+                'volume_id': '123-456-000',
+                'server_id': '000-123-456'
+        }
+        args = {"options": options}
+        obj = AttachVolume(args, {})
+        obj.run({})
+        self.assertTrue(mock_attach_server_volume.called)
+
+def main():
+    unittest.main()
+
+
+if __name__ == '__main__':
+    main()
diff --git a/tests/unit/benchmark/scenarios/lib/test_create_floating_ip.py b/tests/unit/benchmark/scenarios/lib/test_create_floating_ip.py
new file mode 100644
index 000000000..72dbcd7cd
--- /dev/null
+++ b/tests/unit/benchmark/scenarios/lib/test_create_floating_ip.py
@@ -0,0 +1,34 @@
+##############################################################################
+# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+import unittest
+import mock
+
+from yardstick.benchmark.scenarios.lib.create_floating_ip import CreateFloatingIp
+
+
+class CreateFloatingIpTestCase(unittest.TestCase):
+
+    @mock.patch('yardstick.common.openstack_utils.create_floating_ip')
+    @mock.patch('yardstick.common.openstack_utils.get_network_id')
+    @mock.patch('yardstick.common.openstack_utils.get_neutron_client')
+    def test_create_floating_ip(self, mock_create_floating_ip, mock_get_network_id, mock_get_neutron_client):
+        options = {}
+        args = {"options": options}
+        obj = CreateFloatingIp(args, {})
+        obj.run({})
+        self.assertTrue(mock_create_floating_ip.called)
+        self.assertTrue(mock_get_network_id.called)
+        self.assertTrue(mock_get_neutron_client.called)
+
+def main():
+    unittest.main()
+
+
+if __name__ == '__main__':
+    main()
diff --git a/tests/unit/benchmark/scenarios/lib/test_create_keypair.py b/tests/unit/benchmark/scenarios/lib/test_create_keypair.py
new file mode 100644
index 000000000..99e6b9afa
--- /dev/null
+++ b/tests/unit/benchmark/scenarios/lib/test_create_keypair.py
@@ -0,0 +1,35 @@
+##############################################################################
+# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+import unittest
+import mock
+import paramiko
+
+from yardstick.benchmark.scenarios.lib.create_keypair import CreateKeypair
+
+
+class CreateKeypairTestCase(unittest.TestCase):
+
+    @mock.patch('yardstick.common.openstack_utils.create_keypair')
+    def test_create_keypair(self, mock_create_keypair):
+        options = {
+            'key_name': 'yardstick_key',
+            'key_path': '/tmp/yardstick_key'
+        }
+        args = {"options": options}
+        obj = CreateKeypair(args, {})
+        obj.run({})
+        self.assertTrue(mock_create_keypair.called)
+
+
+def main():
+    unittest.main()
+
+
+if __name__ == '__main__':
+    main()
-- 
cgit