Fix _show_resource in Designate::Record

get method in records requires domain_id as
first argument, but in _show_resource there is
only self.resource_id, so this patch adds domain_id.

Change-Id: I1cb2d88ce26c307c040f3064233e410eccfd3811
Closes-bug: #1524312
This commit is contained in:
Peter Razumovsky 2015-12-09 15:44:45 +03:00
parent ed22ac69f9
commit f5e083e072
4 changed files with 28 additions and 2 deletions

View File

@ -85,6 +85,11 @@ class DesignateClientPlugin(client_plugin.ClientPlugin):
return self.client().records.delete(domain_id, return self.client().records.delete(domain_id,
kwargs.pop('id')) kwargs.pop('id'))
def record_show(self, **kwargs):
domain_id = self.get_domain_id(kwargs.pop('domain'))
return self.client().records.get(domain_id,
kwargs.pop('id'))
class DesignateDomainConstraint(constraints.BaseCustomConstraint): class DesignateDomainConstraint(constraints.BaseCustomConstraint):

View File

@ -11,6 +11,8 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
import six
from heat.common.i18n import _ from heat.common.i18n import _
from heat.engine import constraints from heat.engine import constraints
from heat.engine import properties from heat.engine import properties
@ -156,7 +158,9 @@ class DesignateRecord(resource.Resource):
# FIXME(kanagaraj-manickam) Remove this method once designate defect # FIXME(kanagaraj-manickam) Remove this method once designate defect
# 1485552 is fixed. # 1485552 is fixed.
def _show_resource(self): def _show_resource(self):
return dict(self.client().records.get(self.resource_id).items()) kwargs = dict(domain=self.properties[self.DOMAIN],
id=self.resource_id)
return dict(six.iteritems(self.client_plugin().record_show(**kwargs)))
def resource_mapping(): def resource_mapping():

View File

@ -302,3 +302,20 @@ class DesignateClientPluginRecordTest(common.HeatTestCase):
self._client.records.delete.assert_called_once_with( self._client.records.delete.assert_called_once_with(
self.sample_domain_id, self.sample_domain_id,
self.sample_uuid) self.sample_uuid)
@mock.patch.object(client.DesignateClientPlugin, 'client')
@mock.patch('designateclient.v1.records.Record')
def test_record_show(self, mock_record, client_designate):
self._client.records.get.return_value = None
client_designate.return_value = self._client
record = dict(
id=self.sample_uuid,
domain=self.sample_domain_id
)
self.client_plugin.record_show(**record)
self._client.records.get.assert_called_once_with(
self.sample_domain_id,
self.sample_uuid)

View File

@ -242,7 +242,7 @@ class DesignateRecordTest(common.HeatTestCase):
data='1.1.1.1' data='1.1.1.1'
) )
rsc = records.Record(args) rsc = records.Record(args)
mock_notification_get = self.test_client.records.get mock_notification_get = self.test_client_plugin.record_show
mock_notification_get.return_value = rsc mock_notification_get.return_value = rsc
self.assertEqual(args, self.assertEqual(args,