Merge "Fix clustering profile type miss list operation"
This commit is contained in:
@@ -1155,3 +1155,17 @@ class Proxy(proxy.Proxy):
|
|||||||
:class:`~openstack.clustering.v1.service.Service`
|
:class:`~openstack.clustering.v1.service.Service`
|
||||||
"""
|
"""
|
||||||
return self._list(_service.Service, paginated=False, **query)
|
return self._list(_service.Service, paginated=False, **query)
|
||||||
|
|
||||||
|
def list_profile_type_operations(self, profile_type):
|
||||||
|
"""Get the operation about a profile type.
|
||||||
|
|
||||||
|
:param profile_type: The name of the profile_type to retrieve or an
|
||||||
|
object of :class:`~openstack.clustering.v1.profile_type.ProfileType`.
|
||||||
|
|
||||||
|
:returns: A :class:`~openstack.clustering.v1.profile_type.ProfileType`
|
||||||
|
object.
|
||||||
|
:raises: :class:`~openstack.exceptions.ResourceNotFound` when no
|
||||||
|
profile_type matching the name could be found.
|
||||||
|
"""
|
||||||
|
obj = self._get_resource(_profile_type.ProfileType, profile_type)
|
||||||
|
return obj.type_ops(self)
|
||||||
|
@@ -12,6 +12,7 @@
|
|||||||
|
|
||||||
from openstack.clustering import clustering_service
|
from openstack.clustering import clustering_service
|
||||||
from openstack import resource
|
from openstack import resource
|
||||||
|
from openstack import utils
|
||||||
|
|
||||||
|
|
||||||
class ProfileType(resource.Resource):
|
class ProfileType(resource.Resource):
|
||||||
@@ -31,3 +32,8 @@ class ProfileType(resource.Resource):
|
|||||||
schema = resource.Body('schema')
|
schema = resource.Body('schema')
|
||||||
#: The support status of the profile type
|
#: The support status of the profile type
|
||||||
support_status = resource.Body('support_status')
|
support_status = resource.Body('support_status')
|
||||||
|
|
||||||
|
def type_ops(self, session):
|
||||||
|
url = utils.urljoin(self.base_path, self.id, 'ops')
|
||||||
|
resp = session.get(url)
|
||||||
|
return resp.json()
|
||||||
|
@@ -10,6 +10,7 @@
|
|||||||
# 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 mock
|
||||||
from openstack.tests.unit import base
|
from openstack.tests.unit import base
|
||||||
|
|
||||||
from openstack.clustering.v1 import profile_type
|
from openstack.clustering.v1 import profile_type
|
||||||
@@ -46,3 +47,14 @@ class TestProfileType(base.TestCase):
|
|||||||
self.assertEqual(FAKE['name'], sot.name)
|
self.assertEqual(FAKE['name'], sot.name)
|
||||||
self.assertEqual(FAKE['schema'], sot.schema)
|
self.assertEqual(FAKE['schema'], sot.schema)
|
||||||
self.assertEqual(FAKE['support_status'], sot.support_status)
|
self.assertEqual(FAKE['support_status'], sot.support_status)
|
||||||
|
|
||||||
|
def test_ops(self):
|
||||||
|
sot = profile_type.ProfileType(**FAKE)
|
||||||
|
|
||||||
|
resp = mock.Mock()
|
||||||
|
resp.json = mock.Mock(return_value='')
|
||||||
|
sess = mock.Mock()
|
||||||
|
sess.get = mock.Mock(return_value=resp)
|
||||||
|
self.assertEqual('', sot.type_ops(sess))
|
||||||
|
url = 'profile-types/%s/ops' % sot.id
|
||||||
|
sess.get.assert_called_once_with(url)
|
||||||
|
@@ -576,3 +576,15 @@ class TestClusterProxy(test_proxy_base.TestProxyBase):
|
|||||||
self.proxy.wait_for_delete(mock_resource, 1, 2)
|
self.proxy.wait_for_delete(mock_resource, 1, 2)
|
||||||
|
|
||||||
mock_wait.assert_called_once_with(self.proxy, mock_resource, 1, 2)
|
mock_wait.assert_called_once_with(self.proxy, mock_resource, 1, 2)
|
||||||
|
|
||||||
|
@deprecation.fail_if_not_removed
|
||||||
|
@mock.patch.object(proxy_base.Proxy, '_get_resource')
|
||||||
|
def test_profile_type_ops(self, mock_get):
|
||||||
|
mock_profile = profile_type.ProfileType.new(id='FAKE_PROFILE')
|
||||||
|
mock_get.return_value = mock_profile
|
||||||
|
self._verify(
|
||||||
|
"openstack.clustering.v1.profile_type.ProfileType.type_ops",
|
||||||
|
self.proxy.list_profile_type_operations,
|
||||||
|
method_args=["FAKE_PROFILE"])
|
||||||
|
mock_get.assert_called_once_with(profile_type.ProfileType,
|
||||||
|
"FAKE_PROFILE")
|
||||||
|
Reference in New Issue
Block a user