Repository: libcloud Updated Branches: refs/heads/trunk 2a2b20080 -> e3bb83801
Multiple improvements to the Dimension Data tests - Use libcloud.test.unittest instead of the system unittest to ensure that newer unittest features are available in older version of Python - Update all other Dimension Data test cases to use self.assertRaises instead of try...except blocks so that, should a regression happen, the tests will provide a more helpful message than 'False is not True' Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/7b5bf4f2 Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/7b5bf4f2 Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/7b5bf4f2 Branch: refs/heads/trunk Commit: 7b5bf4f27436294f3db8534feff393d0a6f51200 Parents: 2a2b200 Author: Mark S. Maglana <mmagl...@gmail.com> Authored: Thu Jan 7 09:36:53 2016 -0800 Committer: anthony-shaw <anthony.p.s...@gmail.com> Committed: Sat Jan 9 16:46:27 2016 +1100 ---------------------------------------------------------------------- libcloud/test/backup/test_dimensiondata.py | 13 ++--- libcloud/test/compute/test_dimensiondata.py | 50 +++++++++----------- .../test/loadbalancer/test_dimensiondata.py | 13 ++--- 3 files changed, 28 insertions(+), 48 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/libcloud/blob/7b5bf4f2/libcloud/test/backup/test_dimensiondata.py ---------------------------------------------------------------------- diff --git a/libcloud/test/backup/test_dimensiondata.py b/libcloud/test/backup/test_dimensiondata.py index 0c81a7f..5121d8b 100644 --- a/libcloud/test/backup/test_dimensiondata.py +++ b/libcloud/test/backup/test_dimensiondata.py @@ -14,13 +14,12 @@ # limitations under the License. import sys -import unittest from libcloud.utils.py3 import httplib from libcloud.common.types import InvalidCredsError from libcloud.backup.drivers.dimensiondata import DimensionDataBackupDriver as DimensionData -from libcloud.test import MockHttp +from libcloud.test import MockHttp, unittest from libcloud.test.backup import TestCaseMixin from libcloud.test.file_fixtures import BackupFileFixtures @@ -35,19 +34,13 @@ class DimensionDataTests(unittest.TestCase, TestCaseMixin): self.driver = DimensionData(*DIMENSIONDATA_PARAMS) def test_invalid_region(self): - try: + with self.assertRaises(ValueError): self.driver = DimensionData(*DIMENSIONDATA_PARAMS, region='blah') - except ValueError: - pass def test_invalid_creds(self): DimensionDataMockHttp.type = 'UNAUTHORIZED' - try: + with self.assertRaises(InvalidCredsError): self.driver.list_targets() - self.assertTrue( - False) # Above command should have thrown an InvalidCredsException - except InvalidCredsError: - pass def test_list_targets(self): targets = self.driver.list_targets() http://git-wip-us.apache.org/repos/asf/libcloud/blob/7b5bf4f2/libcloud/test/compute/test_dimensiondata.py ---------------------------------------------------------------------- diff --git a/libcloud/test/compute/test_dimensiondata.py b/libcloud/test/compute/test_dimensiondata.py index d819334..efe8a25 100644 --- a/libcloud/test/compute/test_dimensiondata.py +++ b/libcloud/test/compute/test_dimensiondata.py @@ -19,7 +19,6 @@ except ImportError: from xml.etree import ElementTree as ET import sys -import unittest from libcloud.utils.py3 import httplib from libcloud.common.types import InvalidCredsError @@ -28,10 +27,9 @@ from libcloud.common.dimensiondata import DimensionDataServerCpuSpecification from libcloud.compute.drivers.dimensiondata import DimensionDataNodeDriver as DimensionData from libcloud.compute.base import Node, NodeAuthPassword, NodeLocation -from libcloud.test import MockHttp +from libcloud.test import MockHttp, unittest from libcloud.test.compute import TestCaseMixin from libcloud.test.file_fixtures import ComputeFileFixtures - from libcloud.test.secrets import DIMENSIONDATA_PARAMS @@ -43,14 +41,13 @@ class DimensionDataTests(unittest.TestCase, TestCaseMixin): self.driver = DimensionData(*DIMENSIONDATA_PARAMS) def test_invalid_region(self): - self.assertRaises(ValueError, - DimensionData, - *DIMENSIONDATA_PARAMS, - region='blah') + with self.assertRaises(ValueError): + DimensionData(*DIMENSIONDATA_PARAMS, region='blah') def test_invalid_creds(self): DimensionDataMockHttp.type = 'UNAUTHORIZED' - self.assertRaises(InvalidCredsError, self.driver.list_nodes) + with self.assertRaises(InvalidCredsError): + self.driver.list_nodes() def test_list_locations_response(self): DimensionDataMockHttp.type = None @@ -83,7 +80,8 @@ class DimensionDataTests(unittest.TestCase, TestCaseMixin): DimensionDataMockHttp.type = 'INPROGRESS' node = Node(id='11', name=None, state=None, public_ips=None, private_ips=None, driver=self.driver) - self.assertRaises(DimensionDataAPIException, node.reboot) + with self.assertRaises(DimensionDataAPIException): + node.reboot() def test_destroy_node_response(self): node = Node(id='11', name=None, state=None, @@ -95,7 +93,8 @@ class DimensionDataTests(unittest.TestCase, TestCaseMixin): DimensionDataMockHttp.type = 'INPROGRESS' node = Node(id='11', name=None, state=None, public_ips=None, private_ips=None, driver=self.driver) - self.assertRaises(DimensionDataAPIException, node.destroy) + with self.assertRaises(DimensionDataAPIException): + node.destroy() def test_list_images(self): images = self.driver.list_images() @@ -148,15 +147,13 @@ class DimensionDataTests(unittest.TestCase, TestCaseMixin): def test_create_node_no_network(self): rootPw = NodeAuthPassword('pass123') image = self.driver.list_images()[0] - self.assertRaises( - ValueError, - self.driver.create_node, - name='test2', - image=image, - auth=rootPw, - ex_description='test2 node', - ex_network=None, - ex_isStarted=False) + with self.assertRaises(ValueError): + self.driver.create_node(name='test2', + image=image, + auth=rootPw, + ex_description='test2 node', + ex_network=None, + ex_isStarted=False) def test_ex_shutdown_graceful(self): node = Node(id='11', name=None, state=None, @@ -168,9 +165,8 @@ class DimensionDataTests(unittest.TestCase, TestCaseMixin): DimensionDataMockHttp.type = 'INPROGRESS' node = Node(id='11', name=None, state=None, public_ips=None, private_ips=None, driver=self.driver) - self.assertRaises(DimensionDataAPIException, - self.driver.ex_shutdown_graceful, - node) + with self.assertRaises(DimensionDataAPIException): + self.driver.ex_shutdown_graceful(node) def test_ex_start_node(self): node = Node(id='11', name=None, state=None, @@ -182,9 +178,8 @@ class DimensionDataTests(unittest.TestCase, TestCaseMixin): DimensionDataMockHttp.type = 'INPROGRESS' node = Node(id='11', name=None, state=None, public_ips=None, private_ips=None, driver=self.driver) - self.assertRaises(DimensionDataAPIException, - self.driver.ex_start_node, - node) + with self.assertRaises(DimensionDataAPIException): + self.driver.ex_start_node(node) def test_ex_power_off(self): node = Node(id='11', name=None, state=None, @@ -202,9 +197,8 @@ class DimensionDataTests(unittest.TestCase, TestCaseMixin): DimensionDataMockHttp.type = 'INPROGRESS' node = Node(id='11', name=None, state=None, public_ips=None, private_ips=None, driver=self.driver) - self.assertRaises(DimensionDataAPIException, - self.driver.ex_power_off, - node) + with self.assertRaises(DimensionDataAPIException): + self.driver.ex_power_off(node) def test_ex_reset(self): node = Node(id='11', name=None, state=None, http://git-wip-us.apache.org/repos/asf/libcloud/blob/7b5bf4f2/libcloud/test/loadbalancer/test_dimensiondata.py ---------------------------------------------------------------------- diff --git a/libcloud/test/loadbalancer/test_dimensiondata.py b/libcloud/test/loadbalancer/test_dimensiondata.py index 86b3a8b..2b6a1f9 100644 --- a/libcloud/test/loadbalancer/test_dimensiondata.py +++ b/libcloud/test/loadbalancer/test_dimensiondata.py @@ -13,7 +13,6 @@ # See the License for the specific language governing permissions and # limitations under the License. import sys -import unittest from libcloud.utils.py3 import httplib from libcloud.common.types import InvalidCredsError @@ -24,7 +23,7 @@ from libcloud.loadbalancer.drivers.dimensiondata \ import DimensionDataLBDriver as DimensionData from libcloud.loadbalancer.types import State -from libcloud.test import MockHttp +from libcloud.test import MockHttp, unittest from libcloud.test.file_fixtures import LoadBalancerFileFixtures from libcloud.test.secrets import DIMENSIONDATA_PARAMS @@ -38,19 +37,13 @@ class DimensionDataTests(unittest.TestCase): self.driver = DimensionData(*DIMENSIONDATA_PARAMS) def test_invalid_region(self): - try: + with self.assertRaises(ValueError): self.driver = DimensionData(*DIMENSIONDATA_PARAMS, region='blah') - except ValueError: - pass def test_invalid_creds(self): DimensionDataMockHttp.type = 'UNAUTHORIZED' - try: + with self.assertRaises(InvalidCredsError): self.driver.list_balancers() - self.assertTrue(False) - # Above command should have thrown an InvalidCredsException - except InvalidCredsError: - pass def test_create_balancer(self): self.driver.ex_set_current_network_domain('1234')