コード例 #1
0
    def _test_scheduler_api(self, method, rpc_method, fanout=False, **kwargs):
        ctxt = context.RequestContext('fake_user', 'fake_project')
        rpcapi = scheduler_rpcapi.SchedulerAPI()
        expected_retval = 'foo' if method == 'call' else None

        target = {
            "fanout": fanout,
            "version": kwargs.pop('version', rpcapi.RPC_API_VERSION),
        }
        expected_msg = copy.deepcopy(kwargs)

        self.fake_args = None
        self.fake_kwargs = None

        def _fake_prepare_method(*args, **kwds):
            for kwd in kwds:
                self.assertEqual(kwds[kwd], target[kwd])
            return rpcapi.client

        def _fake_rpc_method(*args, **kwargs):
            self.fake_args = args
            self.fake_kwargs = kwargs
            if expected_retval:
                return expected_retval

        with mock.patch.object(rpcapi.client, "prepare") as mock_prepared:
            mock_prepared.side_effect = _fake_prepare_method

            with mock.patch.object(rpcapi.client, rpc_method) as mock_method:
                mock_method.side_effect = _fake_rpc_method
                retval = getattr(rpcapi, method)(ctxt, **kwargs)
                self.assertEqual(retval, expected_retval)
                expected_args = [ctxt, method, expected_msg]
                for arg, expected_arg in zip(self.fake_args, expected_args):
                    self.assertEqual(arg, expected_arg)
コード例 #2
0
ファイル: api.py プロジェクト: mbr4v0v/manila
 def __init__(self, db_driver=None):
     self.scheduler_rpcapi = scheduler_rpcapi.SchedulerAPI()
     self.share_rpcapi = share_rpcapi.ShareAPI()
     super(API, self).__init__(db_driver)
コード例 #3
0
ファイル: scheduler_stats.py プロジェクト: vast-data/manila
 def __init__(self):
     self.scheduler_api = rpcapi.SchedulerAPI()
     self._view_builder_class = scheduler_stats_views.ViewBuilder
     super(SchedulerStatsController, self).__init__()
コード例 #4
0
ファイル: manager.py プロジェクト: yuyuyu101/manila
 def __init__(self, host=None, db_driver=None, service_name='undefined'):
     self.last_capabilities = None
     self.service_name = service_name
     self.scheduler_rpcapi = scheduler_rpcapi.SchedulerAPI()
     super(SchedulerDependentManager, self).__init__(host, db_driver)