From 84f1afebcbb630d5b42c794fd4d8e795affc3fb5 Mon Sep 17 00:00:00 2001 From: Randall Burt Date: Wed, 4 Dec 2013 17:28:10 -0600 Subject: [PATCH] Account for truncated resource names in test PhysName The utility class PhysName was blindly comparing resource name without considering that the resource name may have also been truncated. Closes-Bug: #1251379 Change-Id: I189f79ee5238b7c82eff1595ef612efb1f8633d4 --- .../heat/engine/plugins/cloud_server.py | 7 ------- .../heat/tests/test_rackspace_cloud_server.py | 5 +++-- heat/tests/utils.py | 17 ++++++++--------- 3 files changed, 11 insertions(+), 18 deletions(-) diff --git a/contrib/rackspace/heat/engine/plugins/cloud_server.py b/contrib/rackspace/heat/engine/plugins/cloud_server.py index ecd6eb9796..82d81f2a00 100644 --- a/contrib/rackspace/heat/engine/plugins/cloud_server.py +++ b/contrib/rackspace/heat/engine/plugins/cloud_server.py @@ -180,13 +180,6 @@ zypper --non-interactive in cloud-init python-boto python-pip gcc python-devel self._flavor = None self._image = None - def physical_resource_name(self): - name = self.properties.get('name') - if name: - return name - - return super(CloudServer, self).physical_resource_name() - @property def server(self): """Get the Cloud Server object.""" diff --git a/contrib/rackspace/heat/tests/test_rackspace_cloud_server.py b/contrib/rackspace/heat/tests/test_rackspace_cloud_server.py index a1352e40fe..6fdbdecf7d 100644 --- a/contrib/rackspace/heat/tests/test_rackspace_cloud_server.py +++ b/contrib/rackspace/heat/tests/test_rackspace_cloud_server.py @@ -146,8 +146,9 @@ class RackspaceCloudServerTest(HeatTestCase): cs.t = cs.stack.resolve_runtime_data(cs.t) self.m.StubOutWithMock(self.fc.servers, 'create') - self.fc.servers.create(utils.PhysName(stack_name, cs.name), - 1, 1, + name_limit = cloud_server.CloudServer.physical_resource_name_limit + server_name = utils.PhysName(stack_name, cs.name, limit=name_limit) + self.fc.servers.create(server_name, 1, 1, files=mox.IgnoreArg()).AndReturn(return_server) return_server.adminPass = "foobar" diff --git a/heat/tests/utils.py b/heat/tests/utils.py index f8761a91f0..b219c5b7b3 100644 --- a/heat/tests/utils.py +++ b/heat/tests/utils.py @@ -164,9 +164,12 @@ class PhysName(object): mock_short_id = 'x' * 12 def __init__(self, stack_name, resource_name, limit=255): - self.stack_name = stack_name - self.resource_name = resource_name - self.limit = limit + name = '%s-%s-%s' % (stack_name, + resource_name, + self.mock_short_id) + self._physname = resource.Resource.reduce_physical_resource_name( + name, limit) + self.stack, self.res, self.sid = self._physname.rsplit('-', 2) def __eq__(self, physical_name): try: @@ -178,14 +181,10 @@ class PhysName(object): return False # ignore the stack portion of the name, as it may have been truncated - return self.resource_name == res + return res == self.res def __ne__(self, physical_name): return not self.__eq__(physical_name) def __repr__(self): - name = '%s-%s-%s' % (self.stack_name, - self.resource_name, - self.mock_short_id) - return resource.Resource.reduce_physical_resource_name( - name, self.limit) + return self._physname