本文整理汇总了Python中importer.Importer.call方法的典型用法代码示例。如果您正苦于以下问题:Python Importer.call方法的具体用法?Python Importer.call怎么用?Python Importer.call使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类importer.Importer
的用法示例。
在下文中一共展示了Importer.call方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: ServiceTest
# 需要导入模块: from importer import Importer [as 别名]
# 或者: from importer.Importer import call [as 别名]
class ServiceTest(unittest.TestCase):
def setUp(self):
""" Initialize test environment. """
# TODO: clean up spvd database beforehand
self.imp = Importer()
self.imp['distant_url'] = 'https://192.168.2.81/exporter/'
self.groups = []
self.checks = []
self.objects = []
def tearDown(self):
""" Clean up test environment. """
groups = [grp_id for list_id in self.groups for grp_id in list_id]
checks = [chk_id for list_id in self.checks for chk_id in list_id]
objects = [obj_id for list_id in self.objects for obj_id in list_id]
if groups:
self.imp.call('spv.services', 'delete_groups', groups)
if checks:
self.imp.call('spv.services', 'delete_checks', checks)
if objects:
self.imp.call('spv.services', 'delete_objects', objects)
#
# TEST FOR GET_STATUS
#
def _get_status_tests_create_data(self):
""" Test create object,group,check for get_status tests """
groups = self.imp.call('spv.services', 'create_groups', ['test_groups'])
self.groups.append(groups.keys())
objects = self.imp.call('spv.services', 'create_objects',
[{'address': 'test_address', 'infos': {'key_toto': 'value_toto'}, 'group_id': groups.keys()[0]}])
self.objects.append(objects.keys())
checks = self.imp.call('spv.services', 'create_checks',
[{'plugin': 'hey', 'plugin_check': 'salut', 'name': 'toi', 'repeat': 100,
'repeat_on_error': 100 , 'infos': {'key_toto': 'value_toto'}, 'group_id': groups.keys()[0]}])
self.checks.append(checks.keys())
return [groups, objects, checks]
def _get_status_test_value(self, data, groups, objects, checks):
keys = data.keys()
keys.sort();
self.assertTrue(keys == ['checks', 'groups', 'objects', 'status'])
self.assertTrue(data['checks'][checks.keys()[0]]['name'] == 'toi')
self.assertTrue(data['groups'][groups.keys()[0]]['name'] == 'test_groups')
self.assertTrue(data['objects'][objects.keys()[0]]['address'] == 'test_address')
self.assertTrue(data['status'][data['status'].keys()[0]]['grp_id'] == groups.keys()[0])
self.assertTrue(data['status'][data['status'].keys()[0]]['chk_id'] == checks.keys()[0])
self.assertTrue(data['status'][data['status'].keys()[0]]['obj_id'] == objects.keys()[0])
def test_get_status_check_status(self):
""" ['get_status'] Get every status with on specific status """
self._get_status_tests_create_data()
ret = self.imp.call('spv.services', 'get_status', {'status': ['FINISHED', 'ERROR']})
for status in ret['status']:
self.assertTrue(ret['status'][status]['check_status'] in ['FINISHED', 'ERROR'])
ret_finish = self.imp.call('spv.services', 'get_status', {'status': 'FINISHED'})
self.assertNotEqual(len(ret), 0)
for status in ret_finish['status']:
self.assertEqual(ret_finish['status'][status]['check_status'], 'FINISHED')
len_error = len(self.imp.call('spv.services', 'get_status', {'status': 'ERROR'})['status'])
self.assertEqual(len(ret['status']), len(ret_finish['status']) + len_error)
def test_get_status_group_name(self):
""" ['get_status'] Get every status with on specific group_name """
groups, objects, checks = self._get_status_tests_create_data()
ret = self.imp.call('spv.services', 'get_status', {'group_name': [groups.values()[0]['name']]})
self._get_status_test_value(ret, groups, objects, checks)
def test_get_status_object_address(self):
""" ['get_status'] Get every status with on specific object address """
groups, objects, checks = self._get_status_tests_create_data()
ret = self.imp.call('spv.services', 'get_status', {'object_address': objects.values()[0]['address']})
self._get_status_test_value(ret, groups, objects, checks)
def test_get_status_plugin_name(self):
""" ['get_status'] Get every status with on specific plugin name """
groups, objects, checks = self._get_status_tests_create_data()
ret = self.imp.call('spv.services', 'get_status', {'plugin_name': checks.values()[0]['plugin']})
self._get_status_test_value(ret, groups, objects, checks)
def test_get_status_plugin_check(self):
""" ['get_status'] Get every status with on specific plugin check """
groups, objects, checks = self._get_status_tests_create_data()
ret = self.imp.call('spv.services', 'get_status', {'plugin_check': checks.values()[0]['plugin_check']})
self._get_status_test_value(ret, groups, objects, checks)
def test_get_status_group_id(self):
""" ['get_status'] Get every status with on specific groups_id """
groups, objects, checks = self._get_status_tests_create_data()
ret = self.imp.call('spv.services', 'get_status', {'group_id': groups.keys()[0]})
self._get_status_test_value(ret, groups, objects, checks)
def test_get_status_check_id(self):
""" ['get_status'] Get every status with on specific check_id """
groups, objects, checks = self._get_status_tests_create_data()
checks_second = self.imp.call('spv.services', 'create_checks',
[{'plugin': '1', 'plugin_check': '2', 'name': '3', 'repeat': 100,
#.........这里部分代码省略.........
示例2: ServiceTest
# 需要导入模块: from importer import Importer [as 别名]
# 或者: from importer.Importer import call [as 别名]
class ServiceTest(unittest.TestCase):
def setUp(self):
""" Initialize test environment. """
# TODO: clean up spvd database beforehand
self.imp = Importer()
self.imp['distant_url'] = 'https://192.168.2.81/exporter/'
self.groups = []
self.checks = []
self.objects = []
def tearDown(self):
""" Clean up test environment. """
groups = [grp_id for list_id in self.groups for grp_id in list_id]
checks = [chk_id for list_id in self.checks for chk_id in list_id]
objects = [obj_id for list_id in self.objects for obj_id in list_id]
if groups:
self.imp.call('spv.services', 'delete_groups', groups)
if checks:
self.imp.call('spv.services', 'delete_checks', checks)
if objects:
self.imp.call('spv.services', 'delete_objects', objects)
#
# TEST FOR GET_STATUS
#
def _get_status_tests_create_data(self):
""" Test create object,group,check for get_status tests """
groups = self.imp.call('spv.services', 'create_groups', ['test_groups'])
self.groups.append(groups.keys())
objects = self.imp.call('spv.services', 'create_objects',
[{'address': 'test_address', 'infos': {'key_toto': 'value_toto'}, 'group_id': groups.keys()[0]}])
self.objects.append(objects.keys())
checks = self.imp.call('spv.services', 'create_checks',
[{'plugin': 'hey', 'plugin_check': 'salut', 'name': 'toi', 'repeat': 100,
'repeat_on_error': 100 , 'infos': {'key_toto': 'value_toto'}, 'group_id': groups.keys()[0]}])
self.checks.append(checks.keys())
return [groups, objects, checks]
def _get_status_test_value(self, data, groups, objects, checks):
keys = data.keys()
keys.sort();
self.assertTrue(keys == ['checks', 'groups', 'objects', 'status'])
self.assertTrue(data['checks'][checks.keys()[0]]['name'] == 'toi')
self.assertTrue(data['groups'][groups.keys()[0]]['name'] == 'test_groups')
self.assertTrue(data['objects'][objects.keys()[0]]['address'] == 'test_address')
self.assertTrue(data['status'][0]['grp_id'] == groups.keys()[0])
self.assertTrue(data['status'][0]['chk_id'] == checks.keys()[0])
self.assertTrue(data['status'][0]['obj_id'] == objects.keys()[0])
def _check_get_status_info(self, data, type, info, id_name):
""" generic funtionc to test get_status with additional info"""
id = data[type].keys()[0]
self.assertTrue(info in data[type][id].keys())
infos = data[type][id][info]
self.assertTrue('key_toto' in infos.keys())
self.assertEqual(infos['key_toto'][id_name], id)
self.assertEqual(infos['key_toto']['key'], 'key_toto')
self.assertEqual(infos['key_toto']['value'], 'value_toto')
#
# DELETION TEST
#
def test_delete_groups(self):
""" Create a groups, check and try to delete it """
groups = self.imp.call('spv.services', 'create_groups', 'toto')
self.groups.append(groups.keys())
self.assertEqual(len(self.imp.call('spv.services', 'get_groups', {'group_id': groups.keys()[0]})), 1)
self.imp.call('spv.services', 'delete_groups', groups.keys())
self.assertEqual(len(self.imp.call('spv.services', 'get_groups', {'group_id': groups.keys()[0]})), 0)
def test_delete_checks(self):
""" Create a checks, check and try to delete it """
checks = self.imp.call('spv.services', 'create_checks',
[{'plugin': 'a', 'plugin_check': 'b', 'name': 'c', 'repeat': 100, 'repeat_on_error': 100 }])
self.checks.append(checks.keys())
self.assertEqual(len(self.imp.call('spv.services', 'get_plugin_checks', {'check_id': checks.keys()[0]})), 1)
self.imp.call('spv.services', 'delete_checks', checks.keys())
self.assertEqual(len(self.imp.call('spv.services', 'get_plugin_checks', {'check_id': checks.keys()[0]})), 0)
def test_delete_objects(self):
""" Create a objects, check and try to delete it """
objects = self.imp.call('spv.services', 'create_objects', [{'address': 'toto'}])
self.objects.append(objects.keys())
self.assertEqual(len(self.imp.call('spv.services', 'get_objects', {'obj_id': objects.keys()[0]})), 1)
self.imp.call('spv.services', 'delete_objects', objects.keys())
self.assertEqual(len(self.imp.call('spv.services', 'get_objects', {'obj_id': objects.keys()[0]})), 0)
#
# CREATE TEST
#
def test_create_group(self):
""" Test multiple group creation and returned values. """
# FIXME: group names are currently not unique but should probably be
# create
#.........这里部分代码省略.........
示例3: ServiceTest
# 需要导入模块: from importer import Importer [as 别名]
# 或者: from importer.Importer import call [as 别名]
class ServiceTest(unittest.TestCase):
def setUp(self):
""" Initialize test environment. """
# TODO: clean up spvd database beforehand
self.imp = Importer()
self.imp["distant_url"] = "https://192.168.2.81/exporter/"
self.groups = []
self.checks = []
self.objects = []
def tearDown(self):
""" Clean up test environment. """
groups = [grp_id for list_id in self.groups for grp_id in list_id]
checks = [chk_id for list_id in self.checks for chk_id in list_id]
objects = [obj_id for list_id in self.objects for obj_id in list_id]
if groups:
self.imp.call("spv.services", "delete_groups", groups)
if checks:
self.imp.call("spv.services", "delete_checks", checks)
if objects:
self.imp.call("spv.services", "delete_objects", objects)
#
# TEST FOR GET_STATUS
#
def _get_status_tests_create_data(self):
""" Test create object,group,check for get_status tests """
groups = self.imp.call("spv.services", "create_groups", ["test_groups"])
self.groups.append(groups.keys())
objects = self.imp.call(
"spv.services",
"create_objects",
[{"address": "test_address", "infos": {"key_toto": "value_toto"}, "group_id": groups.keys()[0]}],
)
self.objects.append(objects.keys())
checks = self.imp.call(
"spv.services",
"create_checks",
[
{
"plugin": "hey",
"plugin_check": "salut",
"name": "toi",
"repeat": 100,
"repeat_on_error": 100,
"infos": {"key_toto": "value_toto"},
"group_id": groups.keys()[0],
}
],
)
self.checks.append(checks.keys())
return [groups, objects, checks]
def _get_status_test_value(self, data, groups, objects, checks):
keys = data.keys()
keys.sort()
self.assertTrue(keys == ["checks", "groups", "objects", "status"])
self.assertTrue(data["checks"][checks.keys()[0]]["name"] == "toi")
self.assertTrue(data["groups"][groups.keys()[0]]["name"] == "test_groups")
self.assertTrue(data["objects"][objects.keys()[0]]["address"] == "test_address")
self.assertTrue(data["status"][0]["grp_id"] == groups.keys()[0])
self.assertTrue(data["status"][0]["chk_id"] == checks.keys()[0])
self.assertTrue(data["status"][0]["obj_id"] == objects.keys()[0])
def _check_get_status_info(self, data, type, info, id_name):
""" generic funtionc to test get_status with additional info"""
id = data[type].keys()[0]
self.assertTrue(info in data[type][id].keys())
infos = data[type][id][info]
self.assertTrue("key_toto" in infos.keys())
self.assertEqual(infos["key_toto"][id_name], id)
self.assertEqual(infos["key_toto"]["key"], "key_toto")
self.assertEqual(infos["key_toto"]["value"], "value_toto")
#
# DELETION TEST
#
def test_delete_groups(self):
""" Create a groups, check and try to delete it """
groups = self.imp.call("spv.services", "create_groups", "toto")
self.groups.append(groups.keys())
self.assertEqual(len(self.imp.call("spv.services", "get_groups", {"group_id": groups.keys()[0]})), 1)
self.imp.call("spv.services", "delete_groups", groups.keys())
self.assertEqual(len(self.imp.call("spv.services", "get_groups", {"group_id": groups.keys()[0]})), 0)
def test_delete_checks(self):
""" Create a checks, check and try to delete it """
checks = self.imp.call(
"spv.services",
"create_checks",
[{"plugin": "a", "plugin_check": "b", "name": "c", "repeat": 100, "repeat_on_error": 100}],
)
self.checks.append(checks.keys())
self.assertEqual(len(self.imp.call("spv.services", "get_plugin_checks", {"check_id": checks.keys()[0]})), 1)
self.imp.call("spv.services", "delete_checks", checks.keys())
self.assertEqual(len(self.imp.call("spv.services", "get_plugin_checks", {"check_id": checks.keys()[0]})), 0)
#.........这里部分代码省略.........
示例4: BasePlugin
# 需要导入模块: from importer import Importer [as 别名]
# 或者: from importer.Importer import call [as 别名]
class BasePlugin(threading.Thread):
""" Base class for job implementation in spvd. """
name = ''
require = {
'distant_url' : str,
}
optional = {
'debug': bool,
'ssl_cert' : str,
'ssl_key' : str,
'importer_retry_timeout' : int,
'max_parallel_checks' : int,
'max_checks_queue' : int,
'check_poll' : int,
'check_timeout' : int,
'result_threshold' : int,
'limit_group' : str,
'limit_check' : str,
'limit_commit' : int,
}
def __init__(self, options, event, url=None, params=None):
""" Init method.
@url: url pass to Importer.
@params is a dictionary of optional parameters among:
importer_retry_timeout: interval between successive importer calls if
importer failed.
max_parallel_checks: maximum number of threads for this plugin.
max_checks_queue: maximum number of checks to get from
the DB and queue for execution.
check_poll: interval between two get_checks call.
check_timeout: maximum wait time for get_checks calls.
debug: enable debugging information.
ssl_cert: client X.509 public key.
ssl_key: client X.509 secret key.
result_threshold: number of results waiting for a commit that
will trigger a main-loop wake up.
"""
threading.Thread.__init__(self)
self.setDaemon(True)
self.dismiss = event
self.resqueue = {}
self.checks = {}
self.rescommit = threading.Event()
self.params = { 'importer_retry_timeout': 10,
'max_parallel_checks': 3,
'max_checks_queue': 9,
'check_poll': 60,
'check_timeout' : None,
'debug': False,
'ssl_cert': None,
'ssl_key': None,
'result_threshold': 5,
'limit_group': None,
'limit_check': None,
'limit_commit': 40,
}
if params:
self.params.update(params)
# Set up the importer
self.importer = Importer()
if url:
self.importer['distant_url'] = url
if self.params['ssl_cert'] and self.params['ssl_key']:
self.importer['ssl_cert'] = self.params['ssl_cert']
self.importer['ssl_key'] = self.params['ssl_key']
if self.params['check_timeout']:
self.importer['timeout'] = self.params['check_timeout']
# Limiting groups
self.limit_group = None
if self.params['limit_group']:
self.limit_group = [group.strip() for group in self.params['limit_group'].split(",") if group.strip()]
if len(self.limit_group) == 1:
self.limit_group = self.limit_group[0]
# Limiting checks
self.limit_check = None
if self.params['limit_check']:
self.limit_check = [check.strip() for check in self.params['limit_check'].split(",") if check.strip()]
if len(self.limit_check) == 1:
self.limit_check = self.limit_check[0]
self.options = options
self.log = logging.getLogger("spvd.plugins." + self.name)
# Set up logging
if not self.options.nodaemon:
#.........这里部分代码省略.........