From 4c8cfe4b18bb17704d4e49af95a80d5ed04d5958 Mon Sep 17 00:00:00 2001 From: David Shrewsbury Date: Tue, 8 Dec 2015 14:32:54 -0500 Subject: [PATCH] Improve test coverage: network delete API Add missing unit tests for delete_network() API method. Change-Id: I75ab31ddeb731d192a0266712bfb95c5f21c8acb --- shade/tests/unit/test_network.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/shade/tests/unit/test_network.py b/shade/tests/unit/test_network.py index 02b41f7f7..11b39609e 100644 --- a/shade/tests/unit/test_network.py +++ b/shade/tests/unit/test_network.py @@ -11,6 +11,7 @@ # limitations under the License. import mock +import testtools import shade from shade.tests.unit import base @@ -48,3 +49,30 @@ class TestNetwork(base.TestCase): } ) ) + + @mock.patch.object(shade.OpenStackCloud, 'get_network') + @mock.patch.object(shade.OpenStackCloud, 'neutron_client') + def test_delete_network(self, mock_neutron, mock_get): + mock_get.return_value = dict(id='net-id', name='test-net') + self.assertTrue(self.cloud.delete_network('test-net')) + mock_get.assert_called_once_with('test-net') + mock_neutron.delete_network.assert_called_once_with(network='net-id') + + @mock.patch.object(shade.OpenStackCloud, 'get_network') + def test_delete_network_not_found(self, mock_get): + mock_get.return_value = None + self.assertFalse(self.cloud.delete_network('test-net')) + mock_get.assert_called_once_with('test-net') + + @mock.patch.object(shade.OpenStackCloud, 'get_network') + @mock.patch.object(shade.OpenStackCloud, 'neutron_client') + def test_delete_network_exception(self, mock_neutron, mock_get): + mock_get.return_value = dict(id='net-id', name='test-net') + mock_neutron.delete_network.side_effect = Exception() + with testtools.ExpectedException( + shade.OpenStackCloudException, + "Error deleting network test-net" + ): + self.cloud.delete_network('test-net') + mock_get.assert_called_once_with('test-net') + mock_neutron.delete_network.assert_called_once_with(network='net-id')