本文整理汇总了Python中trove.cluster.service.ClusterController.action方法的典型用法代码示例。如果您正苦于以下问题:Python ClusterController.action方法的具体用法?Python ClusterController.action怎么用?Python ClusterController.action使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类trove.cluster.service.ClusterController
的用法示例。
在下文中一共展示了ClusterController.action方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TestClusterControllerWithStrategy
# 需要导入模块: from trove.cluster.service import ClusterController [as 别名]
# 或者: from trove.cluster.service.ClusterController import action [as 别名]
class TestClusterControllerWithStrategy(TestCase):
def setUp(self):
super(TestClusterControllerWithStrategy, self).setUp()
self.controller = ClusterController()
self.cluster = {
"cluster": {
"name": "products",
"datastore": {"type": "mongodb", "version": "2.4.10"},
"instances": [
{"flavorRef": "7", "volume": {"size": 1}},
{"flavorRef": "7", "volume": {"size": 1}},
{"flavorRef": "7", "volume": {"size": 1}},
{"flavorRef": "7", "volume": {"size": 1}},
{"flavorRef": "7", "volume": {"size": 1}},
],
}
}
def tearDown(self):
super(TestClusterControllerWithStrategy, self).tearDown()
cfg.CONF.clear_override("cluster_support", group="mongodb")
cfg.CONF.clear_override("api_strategy", group="mongodb")
@patch.object(datastore_models, "get_datastore_version")
@patch.object(models.Cluster, "create")
def test_create_clusters_disabled(self, mock_cluster_create, mock_get_datastore_version):
cfg.CONF.set_override("cluster_support", False, group="mongodb", enforce_type=True)
body = self.cluster
tenant_id = Mock()
context = trove_testtools.TroveTestContext(self)
req = Mock()
req.environ = MagicMock()
req.environ.get = Mock(return_value=context)
datastore_version = Mock()
datastore_version.manager = "mongodb"
mock_get_datastore_version.return_value = (Mock(), datastore_version)
self.assertRaises(exception.TroveError, self.controller.create, req, body, tenant_id)
@patch.object(views.ClusterView, "data", return_value={})
@patch.object(datastore_models, "get_datastore_version")
@patch.object(models.Cluster, "create")
def test_create_clusters_enabled(self, mock_cluster_create, mock_get_datastore_version, mock_cluster_view_data):
cfg.CONF.set_override("cluster_support", True, group="mongodb", enforce_type=True)
body = self.cluster
tenant_id = Mock()
context = trove_testtools.TroveTestContext(self)
req = Mock()
req.environ = MagicMock()
req.environ.get = Mock(return_value=context)
datastore_version = Mock()
datastore_version.manager = "mongodb"
mock_get_datastore_version.return_value = (Mock(), datastore_version)
mock_cluster = Mock()
mock_cluster.datastore_version.manager = "mongodb"
mock_cluster_create.return_value = mock_cluster
self.controller.create(req, body, tenant_id)
@patch.object(models.Cluster, "load")
def test_controller_action_multi_action(self, mock_cluster_load):
body = {"do_stuff": {}, "do_stuff2": {}}
tenant_id = Mock()
context = trove_testtools.TroveTestContext(self)
cluster_id = Mock()
req = Mock()
req.environ = MagicMock()
req.environ.get = Mock(return_value=context)
cluster = Mock()
cluster.instances_without_server = [Mock()]
cluster.datastore_version.manager = "test_dsv"
mock_cluster_load.return_value = cluster
self.assertRaisesRegexp(
exception.TroveError,
"should have exactly one action specified",
self.controller.action,
req,
body,
tenant_id,
cluster_id,
)
@patch.object(models.Cluster, "load")
def test_controller_action_no_strategy(self, mock_cluster_load):
body = {"do_stuff2": {}}
tenant_id = Mock()
context = trove_testtools.TroveTestContext(self)
#.........这里部分代码省略.........
示例2: TestClusterControllerWithStrategy
# 需要导入模块: from trove.cluster.service import ClusterController [as 别名]
# 或者: from trove.cluster.service.ClusterController import action [as 别名]
#.........这里部分代码省略.........
cfg.CONF.clear_override('cluster_support', group='mongodb')
cfg.CONF.clear_override('api_strategy', group='mongodb')
@patch.object(datastore_models, 'get_datastore_version')
@patch.object(models.Cluster, 'create')
def test_create_clusters_disabled(self,
mock_cluster_create,
mock_get_datastore_version):
cfg.CONF.set_override('cluster_support', False, group='mongodb')
body = self.cluster
tenant_id = Mock()
context = Mock()
req = Mock()
req.environ = MagicMock()
req.environ.get = Mock(return_value=context)
datastore_version = Mock()
datastore_version.manager = 'mongodb'
mock_get_datastore_version.return_value = (Mock(), datastore_version)
self.assertRaises(exception.TroveError, self.controller.create, req,
body, tenant_id)
@patch.object(views.ClusterView, 'data', return_value={})
@patch.object(datastore_models, 'get_datastore_version')
@patch.object(models.Cluster, 'create')
def test_create_clusters_enabled(self,
mock_cluster_create,
mock_get_datastore_version,
mock_cluster_view_data):
cfg.CONF.set_override('cluster_support', True, group='mongodb')
body = self.cluster
tenant_id = Mock()
context = Mock()
req = Mock()
req.environ = MagicMock()
req.environ.get = Mock(return_value=context)
datastore_version = Mock()
datastore_version.manager = 'mongodb'
mock_get_datastore_version.return_value = (Mock(), datastore_version)
mock_cluster = Mock()
mock_cluster.datastore_version.manager = 'mongodb'
mock_cluster_create.return_value = mock_cluster
self.controller.create(req, body, tenant_id)
@patch.object(models.Cluster, 'load')
def test_controller_action_no_strategy(self,
mock_cluster_load):
body = {'do_stuff2': {}}
tenant_id = Mock()
context = Mock()
id = Mock()
req = Mock()
req.environ = MagicMock()
req.environ.get = Mock(return_value=context)
cluster = Mock()
cluster.datastore_version.manager = 'mongodb'
mock_cluster_load.return_value = cluster
self.assertRaises(exception.TroveError, self.controller.action, req,
body, tenant_id, id)
@patch.object(strategy, 'load_api_strategy')
@patch.object(models.Cluster, 'load')
def test_controller_action_found(self,
mock_cluster_load,
mock_cluster_api_strategy):
body = {'do_stuff': {}}
tenant_id = Mock()
context = Mock()
id = Mock()
req = Mock()
req.environ = MagicMock()
req.environ.get = Mock(return_value=context)
cluster = Mock()
cluster.datastore_version.manager = 'mongodb'
mock_cluster_load.return_value = cluster
strat = Mock()
do_stuff_func = Mock()
strat.cluster_controller_actions = \
{'do_stuff': do_stuff_func}
mock_cluster_api_strategy.return_value = strat
self.controller.action(req, body, tenant_id, id)
self.assertEqual(1, do_stuff_func.call_count)
示例3: TestClusterControllerWithStrategy
# 需要导入模块: from trove.cluster.service import ClusterController [as 别名]
# 或者: from trove.cluster.service.ClusterController import action [as 别名]
class TestClusterControllerWithStrategy(trove_testtools.TestCase):
def setUp(self):
super(TestClusterControllerWithStrategy, self).setUp()
self.controller = ClusterController()
self.cluster = {
"cluster": {
"name": "products",
"datastore": {"type": "pxc", "version": "5.5"},
"instances": [
{"flavorRef": "7", "volume": {"size": 1}},
{"flavorRef": "7", "volume": {"size": 1}},
{"flavorRef": "7", "volume": {"size": 1}},
],
}
}
def tearDown(self):
super(TestClusterControllerWithStrategy, self).tearDown()
cfg.CONF.clear_override("cluster_support", group="pxc")
cfg.CONF.clear_override("api_strategy", group="pxc")
@patch.object(datastore_models, "get_datastore_version")
@patch.object(models.Cluster, "create")
def test_create_clusters_disabled(self, mock_cluster_create, mock_get_datastore_version):
cfg.CONF.set_override("cluster_support", False, group="pxc", enforce_type=True)
body = self.cluster
tenant_id = Mock()
context = Mock()
req = Mock()
req.environ = MagicMock()
req.environ.get = Mock(return_value=context)
datastore_version = Mock()
datastore_version.manager = "pxc"
mock_get_datastore_version.return_value = (Mock(), datastore_version)
self.assertRaises(exception.TroveError, self.controller.create, req, body, tenant_id)
@patch.object(views.ClusterView, "data", return_value={})
@patch.object(datastore_models, "get_datastore_version")
@patch.object(models.Cluster, "create")
def test_create_clusters_enabled(self, mock_cluster_create, mock_get_datastore_version, mock_cluster_view_data):
cfg.CONF.set_override("cluster_support", True, group="pxc", enforce_type=True)
body = self.cluster
tenant_id = Mock()
context = Mock()
req = Mock()
req.environ = MagicMock()
req.environ.get = Mock(return_value=context)
datastore_version = Mock()
datastore_version.manager = "pxc"
mock_get_datastore_version.return_value = (Mock(), datastore_version)
mock_cluster = Mock()
mock_cluster.datastore_version.manager = "pxc"
mock_cluster_create.return_value = mock_cluster
self.controller.create(req, body, tenant_id)
@patch.object(models.Cluster, "load")
def test_controller_action_no_strategy(self, mock_cluster_load):
body = {"do_stuff2": {}}
tenant_id = Mock()
context = Mock()
id = Mock()
req = Mock()
req.environ = MagicMock()
req.environ.get = Mock(return_value=context)
cluster = Mock()
cluster.datastore_version.manager = "pxc"
mock_cluster_load.return_value = cluster
self.assertRaises(exception.TroveError, self.controller.action, req, body, tenant_id, id)
@patch.object(strategy, "load_api_strategy")
@patch.object(models.Cluster, "load")
def test_controller_action_found(self, mock_cluster_load, mock_cluster_api_strategy):
body = {"do_stuff": {}}
tenant_id = Mock()
context = Mock()
id = Mock()
req = Mock()
req.environ = MagicMock()
req.environ.get = Mock(return_value=context)
cluster = Mock()
cluster.datastore_version.manager = "pxc"
mock_cluster_load.return_value = cluster
#.........这里部分代码省略.........