Adding tests and docs Closes #734
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/526bb563 Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/526bb563 Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/526bb563 Branch: refs/heads/trunk Commit: 526bb563e4110dc351f39a62a98ea30879cd8647 Parents: 2359148 Author: Jeffrey Dunham <jeffrey.a.dun...@gmail.com> Authored: Thu Mar 31 18:24:26 2016 -0400 Committer: anthony-shaw <anthony.p.s...@gmail.com> Committed: Fri Apr 1 09:35:44 2016 +1100 ---------------------------------------------------------------------- libcloud/common/dimensiondata.py | 16 ++++++++-------- libcloud/compute/drivers/dimensiondata.py | 3 ++- libcloud/test/compute/test_dimensiondata.py | 24 +++++++++++++----------- 3 files changed, 23 insertions(+), 20 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/libcloud/blob/526bb563/libcloud/common/dimensiondata.py ---------------------------------------------------------------------- diff --git a/libcloud/common/dimensiondata.py b/libcloud/common/dimensiondata.py index 63df42a..84c7c9d 100644 --- a/libcloud/common/dimensiondata.py +++ b/libcloud/common/dimensiondata.py @@ -721,17 +721,17 @@ class DimensionDataServerVMWareTools(object): """ def __init__(self, status, version_status, api_version): """ - Instantiate a new :class:`DimensionDataServerCpuSpecification` + Instantiate a new :class:`DimensionDataServerVMWareTools` object - :param cpu_count: The number of CPUs - :type cpu_count: ``int`` + :param status: The status of VMWare Tools + :type status: ``str`` - :param cores_per_socket: The number of cores per socket, the - recommendation is 1 - :type cores_per_socket: ``int`` + :param version_status: The status for the version of VMWare Tools + (i.e NEEDS_UPGRADE) + :type version_status: ``str`` - :param performance: The performance type, e.g. HIGHPERFORMANCE - :type performance: ``str`` + :param api_version: The API version of VMWare Tools + :type api_version: ``str`` """ self.status = status self.version_status = version_status http://git-wip-us.apache.org/repos/asf/libcloud/blob/526bb563/libcloud/compute/drivers/dimensiondata.py ---------------------------------------------------------------------- diff --git a/libcloud/compute/drivers/dimensiondata.py b/libcloud/compute/drivers/dimensiondata.py index 3c208c0..a49c9ae 100644 --- a/libcloud/compute/drivers/dimensiondata.py +++ b/libcloud/compute/drivers/dimensiondata.py @@ -2164,7 +2164,8 @@ class DimensionDataNodeDriver(NodeDriver): = element.find(fixxpath('networkInfo', TYPES_URN)) is not None cpu_spec = self._to_cpu_spec(element.find(fixxpath('cpu', TYPES_URN))) disks = self._to_disks(element) - vmware_tools = self._to_vmware_tools(element.find(fixxpath('vmwareTools', TYPES_URN))) + vmware_tools = self._to_vmware_tools( + element.find(fixxpath('vmwareTools', TYPES_URN))) extra = { 'description': findtext(element, 'description', TYPES_URN), 'sourceImageId': findtext(element, 'sourceImageId', TYPES_URN), http://git-wip-us.apache.org/repos/asf/libcloud/blob/526bb563/libcloud/test/compute/test_dimensiondata.py ---------------------------------------------------------------------- diff --git a/libcloud/test/compute/test_dimensiondata.py b/libcloud/test/compute/test_dimensiondata.py index cc8a0f8..915ed53 100644 --- a/libcloud/test/compute/test_dimensiondata.py +++ b/libcloud/test/compute/test_dimensiondata.py @@ -24,7 +24,7 @@ from libcloud.utils.py3 import httplib from libcloud.common.types import InvalidCredsError from libcloud.common.dimensiondata import DimensionDataAPIException, NetworkDomainServicePlan -from libcloud.common.dimensiondata import DimensionDataServerCpuSpecification, DimensionDataServerDisk +from libcloud.common.dimensiondata import DimensionDataServerCpuSpecification, DimensionDataServerDisk, DimensionDataServerVMWareTools from libcloud.common.dimensiondata import TYPES_URN from libcloud.compute.drivers.dimensiondata import DimensionDataNodeDriver as DimensionData from libcloud.compute.base import Node, NodeAuthPassword, NodeLocation @@ -65,6 +65,18 @@ class DimensionDataTests(unittest.TestCase, TestCaseMixin): ret = self.driver.list_nodes() self.assertEqual(len(ret), 7) + def test_node_extras(self): + DimensionDataMockHttp.type = None + ret = self.driver.list_nodes() + self.assertTrue(isinstance(ret[0].extra['vmWareTools'], DimensionDataServerVMWareTools)) + self.assertTrue(isinstance(ret[0].extra['cpu'], DimensionDataServerCpuSpecification)) + self.assertTrue(isinstance(ret[0].extra['disks'], list)) + self.assertTrue(isinstance(ret[0].extra['disks'][0], DimensionDataServerDisk)) + self.assertEqual(ret[0].extra['disks'][0].size_gb, 10) + self.assertTrue(isinstance(ret[1].extra['disks'], list)) + self.assertTrue(isinstance(ret[1].extra['disks'][0], DimensionDataServerDisk)) + self.assertEqual(ret[1].extra['disks'][0].size_gb, 10) + def test_server_states(self): DimensionDataMockHttp.type = None ret = self.driver.list_nodes() @@ -76,16 +88,6 @@ class DimensionDataTests(unittest.TestCase, TestCaseMixin): self.assertTrue(ret[5].state == 'terminated') self.assertTrue(ret[6].state == 'stopped') self.assertEqual(len(ret), 7) - node = ret[0] - self.assertTrue(isinstance(node.extra['disks'], list)) - self.assertTrue(isinstance(node.extra['disks'][0], DimensionDataServerDisk)) - - self.assertTrue(isinstance(ret[0].extra['disks'], list)) - self.assertTrue(isinstance(ret[0].extra['disks'][0], DimensionDataServerDisk)) - self.assertEqual(ret[0].extra['disks'][0].size_gb, 10) - self.assertTrue(isinstance(ret[1].extra['disks'], list)) - self.assertTrue(isinstance(ret[1].extra['disks'][0], DimensionDataServerDisk)) - self.assertEqual(ret[1].extra['disks'][0].size_gb, 10) def test_list_nodes_response_PAGINATED(self): DimensionDataMockHttp.type = 'PAGINATED'