Merge "Document for Fraser test case results"
[yardstick.git] / yardstick / tests / unit / common / test_openstack_utils.py
index 67ca826..9361a97 100644 (file)
@@ -536,3 +536,186 @@ class GetFlavorTestCase(unittest.TestCase):
                                             'flavor_name_or_id')
         mock_logger.error.assert_called_once()
         self.assertIsNone(output)
+
+# *********************************************
+#   CINDER
+# *********************************************
+
+
+class GetVolumeIDTestCase(unittest.TestCase):
+
+    def test_get_volume_id(self):
+        self.mock_shade_client = mock.Mock()
+        _uuid = uuidutils.generate_uuid()
+        self.mock_shade_client.get_volume_id.return_value = _uuid
+        output = openstack_utils.get_volume_id(self.mock_shade_client,
+                                               'volume_name')
+        self.assertEqual(_uuid, output)
+
+    def test_get_volume_id_None(self):
+        self.mock_shade_client = mock.Mock()
+        self.mock_shade_client.get_volume_id.return_value = None
+        output = openstack_utils.get_volume_id(self.mock_shade_client,
+                                               'volume_name')
+        self.assertIsNone(output)
+
+
+class GetVolumeTestCase(unittest.TestCase):
+
+    def setUp(self):
+        self.mock_shade_client = mock.Mock()
+        self.mock_shade_client.get_volume = mock.Mock()
+
+    def test_get_volume(self):
+        self.mock_shade_client.get_volume.return_value = {'volume'}
+        output = openstack_utils.get_volume(self.mock_shade_client,
+                                            'volume_name_or_id')
+        self.assertEqual({'volume'}, output)
+
+    def test_get_volume_None(self):
+        self.mock_shade_client.get_volume.return_value = None
+        output = openstack_utils.get_volume(self.mock_shade_client,
+                                            'volume_name_or_id')
+        self.assertIsNone(output)
+
+
+class CreateVolumeTestCase(unittest.TestCase):
+
+    def setUp(self):
+        self.mock_shade_client = mock.Mock()
+        self.size = 1
+
+    def test_create_volume(self):
+        self.mock_shade_client.create_volume.return_value = (
+            {'name': 'volume-name', 'size': self.size})
+        output = openstack_utils.create_volume(
+            self.mock_shade_client, self.size)
+        self.assertEqual(
+            {'name': 'volume-name', 'size': self.size},
+            output)
+
+    @mock.patch.object(openstack_utils, 'log')
+    def test_create_volume_fail(self, mock_logger):
+        self.mock_shade_client.create_volume.side_effect = (
+            exc.OpenStackCloudException('error message'))
+        output = openstack_utils.create_volume(self.mock_shade_client,
+                                               self.size)
+        mock_logger.error.assert_called_once()
+        self.assertIsNone(output)
+
+
+class DeleteVolumeTestCase(unittest.TestCase):
+
+    def setUp(self):
+        self.mock_shade_client = mock.Mock()
+
+    def test_delete_volume(self):
+        self.mock_shade_client.delete_volume.return_value = True
+        output = openstack_utils.delete_volume(self.mock_shade_client,
+                                               'volume_name_or_id')
+        self.assertTrue(output)
+
+    def test_delete_volume_fail(self):
+        self.mock_shade_client.delete_volume.return_value = False
+        output = openstack_utils.delete_volume(self.mock_shade_client,
+                                               'volume_name_or_id')
+        self.assertFalse(output)
+
+    @mock.patch.object(openstack_utils, 'log')
+    def test_delete_volume_exception(self, mock_logger):
+        self.mock_shade_client.delete_volume.side_effect = (
+            exc.OpenStackCloudException('error message'))
+        output = openstack_utils.delete_volume(self.mock_shade_client,
+                                               'volume_name_or_id')
+        mock_logger.error.assert_called_once()
+        self.assertFalse(output)
+
+
+class DetachVolumeTestCase(unittest.TestCase):
+
+    @mock.patch.object(openstack_utils, 'get_server')
+    def test_detach_volume(self, mock_get_server):
+        self.mock_shade_client = mock.Mock()
+        mock_get_server.return_value = {'server_dict'}
+        self.mock_shade_client.get_volume.return_value = {'volume_dict'}
+        output = openstack_utils.detach_volume(self.mock_shade_client,
+                                               'server_name_or_id',
+                                               'volume_name_or_id')
+        self.assertTrue(output)
+
+    @mock.patch.object(openstack_utils, 'get_server')
+    @mock.patch.object(openstack_utils, 'log')
+    def test_detach_volume_exception(self, mock_logger, mock_get_server):
+        self.mock_shade_client = mock.Mock()
+        mock_get_server.return_value = {'server_dict'}
+        self.mock_shade_client.get_volume.return_value = {'volume_dict'}
+        self.mock_shade_client.detach_volume.side_effect = (
+            exc.OpenStackCloudException('error message'))
+        output = openstack_utils.detach_volume(self.mock_shade_client,
+                                               'server_name_or_id',
+                                               'volume_name_or_id')
+        mock_logger.error.assert_called_once()
+        self.assertFalse(output)
+
+
+# *********************************************
+#   GLANCE
+# *********************************************
+
+class CreateImageTestCase(unittest.TestCase):
+
+    def setUp(self):
+        self.mock_shade_client = mock.Mock()
+        self._uuid = uuidutils.generate_uuid()
+        self.name = 'image_name'
+
+    @mock.patch.object(openstack_utils, 'log')
+    def test_create_image_already_exit(self, mock_logger):
+        self.mock_shade_client.get_image_id.return_value = self._uuid
+        output = openstack_utils.create_image(self.mock_shade_client, self.name)
+        mock_logger.info.assert_called_once()
+        self.assertEqual(self._uuid, output)
+
+    def test_create_image(self):
+        self.mock_shade_client.get_image_id.return_value = None
+        self.mock_shade_client.create_image.return_value = {'id': self._uuid}
+        output = openstack_utils.create_image(self.mock_shade_client, self.name)
+        self.assertEqual(self._uuid, output)
+
+    @mock.patch.object(openstack_utils, 'log')
+    def test_create_image_exception(self, mock_logger):
+        self.mock_shade_client.get_image_id.return_value = None
+        self.mock_shade_client.create_image.side_effect = (
+            exc.OpenStackCloudException('error message'))
+
+        output = openstack_utils.create_image(self.mock_shade_client,
+                                              self.name)
+        mock_logger.error.assert_called_once()
+        self.assertIsNone(output)
+
+
+class DeleteImageTestCase(unittest.TestCase):
+
+    def test_delete_image(self):
+        self.mock_shade_client = mock.Mock()
+        self.mock_shade_client.delete_image.return_value = True
+        output = openstack_utils.delete_image(self.mock_shade_client,
+                                              'image_name_or_id')
+        self.assertTrue(output)
+
+    def test_delete_image_fail(self):
+        self.mock_shade_client = mock.Mock()
+        self.mock_shade_client.delete_image.return_value = False
+        output = openstack_utils.delete_image(self.mock_shade_client,
+                                              'image_name_or_id')
+        self.assertFalse(output)
+
+    @mock.patch.object(openstack_utils, 'log')
+    def test_delete_image_exception(self, mock_logger):
+        self.mock_shade_client = mock.Mock()
+        self.mock_shade_client.delete_image.side_effect = (
+            exc.OpenStackCloudException('error message'))
+        output = openstack_utils.delete_image(self.mock_shade_client,
+                                              'image_name_or_id')
+        mock_logger.error.assert_called_once()
+        self.assertFalse(output)