本文整理汇总了Python中st2common.persistence.pack.Pack类的典型用法代码示例。如果您正苦于以下问题:Python Pack类的具体用法?Python Pack怎么用?Python Pack使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Pack类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_register_pack_pack_stackstorm_version_and_future_parameters
def test_register_pack_pack_stackstorm_version_and_future_parameters(self):
# Verify DB is empty
pack_dbs = Pack.get_all()
self.assertEqual(len(pack_dbs), 0)
registrar = ResourceRegistrar(use_pack_cache=False)
registrar._pack_loader.get_packs = mock.Mock()
registrar._pack_loader.get_packs.return_value = {'dummy_pack_9': PACK_PATH_9}
packs_base_paths = content_utils.get_packs_base_paths()
registrar.register_packs(base_dirs=packs_base_paths)
# Dependencies, stackstorm_version and future values
pack_db = Pack.get_by_name('dummy_pack_9_deps')
self.assertEqual(pack_db.dependencies, ['core=0.2.0'])
self.assertEqual(pack_db.stackstorm_version, '>=1.6.0, <2.2.0')
self.assertEqual(pack_db.system, {'centos': {'foo': '>= 1.0'}})
self.assertEqual(pack_db.python_versions, ['2', '3'])
# Note: We only store parameters which are defined in the schema, all other custom user
# defined attributes are ignored
self.assertTrue(not hasattr(pack_db, 'future'))
self.assertTrue(not hasattr(pack_db, 'this'))
# Wrong characters in the required st2 version
expected_msg = "'wrongstackstormversion' does not match"
self.assertRaisesRegexp(ValidationError, expected_msg, registrar._register_pack_db,
pack_name=None, pack_dir=PACK_PATH_10)
开发者ID:nzlosh,项目名称:st2,代码行数:27,代码来源:test_resource_registrar.py
示例2: test_register_packs
def test_register_packs(self):
# Verify DB is empty
pack_dbs = Pack.get_all()
config_schema_dbs = ConfigSchema.get_all()
self.assertEqual(len(pack_dbs), 0)
self.assertEqual(len(config_schema_dbs), 0)
registrar = ResourceRegistrar(use_pack_cache=False)
registrar._pack_loader.get_packs = mock.Mock()
registrar._pack_loader.get_packs.return_value = {'dummy_pack_1': PACK_PATH_1}
packs_base_paths = content_utils.get_packs_base_paths()
registrar.register_packs(base_dirs=packs_base_paths)
# Verify pack and schema have been registered
pack_dbs = Pack.get_all()
config_schema_dbs = ConfigSchema.get_all()
self.assertEqual(len(pack_dbs), 1)
self.assertEqual(len(config_schema_dbs), 1)
self.assertEqual(pack_dbs[0].name, 'dummy_pack_1')
self.assertEqual(len(pack_dbs[0].contributors), 2)
self.assertEqual(pack_dbs[0].contributors[0], 'John Doe1 <[email protected]>')
self.assertEqual(pack_dbs[0].contributors[1], 'John Doe2 <[email protected]>')
self.assertTrue('api_key' in config_schema_dbs[0].attributes)
self.assertTrue('api_secret' in config_schema_dbs[0].attributes)
开发者ID:Pulsant,项目名称:st2,代码行数:27,代码来源:test_resource_registrar.py
示例3: test_register_pack_pack_ref
def test_register_pack_pack_ref(self):
# Verify DB is empty
pack_dbs = Pack.get_all()
self.assertEqual(len(pack_dbs), 0)
registrar = ResourceRegistrar(use_pack_cache=False)
registrar._pack_loader.get_packs = mock.Mock()
registrar._pack_loader.get_packs.return_value = {
'dummy_pack_1': PACK_PATH_1,
'dummy_pack_6': PACK_PATH_6
}
packs_base_paths = content_utils.get_packs_base_paths()
registrar.register_packs(base_dirs=packs_base_paths)
# Ref is provided
pack_db = Pack.get_by_name('dummy_pack_6')
self.assertEqual(pack_db.ref, 'dummy_pack_6_ref')
self.assertEqual(len(pack_db.contributors), 0)
# Ref is not provided, directory name should be used
pack_db = Pack.get_by_name('dummy_pack_1')
self.assertEqual(pack_db.ref, 'dummy_pack_1')
# "ref" is not provided, but "name" is
registrar._register_pack_db(pack_name=None, pack_dir=PACK_PATH_7)
pack_db = Pack.get_by_name('dummy_pack_7_name')
self.assertEqual(pack_db.ref, 'dummy_pack_7_name')
# "ref" is not provided and "name" contains invalid characters
expected_msg = 'contains invalid characters'
self.assertRaisesRegexp(ValueError, expected_msg, registrar._register_pack_db,
pack_name=None, pack_dir=PACK_PATH_8)
开发者ID:nzlosh,项目名称:st2,代码行数:34,代码来源:test_resource_registrar.py
示例4: _register_pack_db
def _register_pack_db(self, pack_name, pack_dir):
manifest_path = os.path.join(pack_dir, MANIFEST_FILE_NAME)
if not os.path.isfile(manifest_path):
raise ValueError('Pack "%s" is missing %s file' % (pack_name, MANIFEST_FILE_NAME))
content = self._meta_loader.load(manifest_path)
if not content:
raise ValueError('Pack "%s" metadata file is empty' % (pack_name))
content['ref'] = pack_name
# Include a list of pack files
pack_file_list = get_file_list(directory=pack_dir, exclude_patterns=EXCLUDE_FILE_PATTERNS)
content['files'] = pack_file_list
pack_api = PackAPI(**content)
pack_db = PackAPI.to_model(pack_api)
try:
pack_db.id = Pack.get_by_ref(pack_name).id
except StackStormDBObjectNotFoundError:
LOG.debug('Pack %s not found. Creating new one.', pack_name)
pack_db = Pack.add_or_update(pack_db)
LOG.debug('Pack %s registered.' % (pack_name))
return pack_db
开发者ID:Bala96,项目名称:st2,代码行数:27,代码来源:base.py
示例5: _register_pack
def _register_pack(self, pack_name, pack_dir):
"""
Register a pack (create a DB object in the system).
Note: Pack registration now happens when registering the content and not when installing
a pack using packs.install. Eventually this will be moved to the pack management API.
"""
manifest_path = os.path.join(pack_dir, MANIFEST_FILE_NAME)
if not os.path.isfile(manifest_path):
raise ValueError('Pack "%s" is missing %s file' % (pack_name, MANIFEST_FILE_NAME))
content = self._meta_loader.load(manifest_path)
if not content:
raise ValueError('Pack "%s" metadata file is empty' % (pack_name))
content['ref'] = pack_name
pack_api = PackAPI(**content)
pack_db = PackAPI.to_model(pack_api)
try:
pack_db.id = Pack.get_by_ref(pack_name).id
except ValueError:
LOG.debug('Pack %s not found. Creating new one.', pack_name)
pack_db = Pack.add_or_update(pack_db)
LOG.debug('Pack %s registered.' % (pack_name))
return pack_db
开发者ID:ruslantum,项目名称:st2,代码行数:28,代码来源:base.py
示例6: _register_pack_db
def _register_pack_db(self, pack_name, pack_dir):
content = get_pack_metadata(pack_dir=pack_dir)
# The rules for the pack ref are as follows:
# 1. If ref attribute is available, we used that
# 2. If pack_name is available we use that (this only applies to packs
# 2hich are in sub-directories)
# 2. If attribute is not available, but pack name is and pack name meets the valid name
# criteria, we use that
content['ref'] = get_pack_ref_from_metadata(metadata=content,
pack_directory_name=pack_name)
# Include a list of pack files
pack_file_list = get_file_list(directory=pack_dir, exclude_patterns=EXCLUDE_FILE_PATTERNS)
content['files'] = pack_file_list
pack_api = PackAPI(**content)
pack_api.validate()
pack_db = PackAPI.to_model(pack_api)
try:
pack_db.id = Pack.get_by_ref(content['ref']).id
except StackStormDBObjectNotFoundError:
LOG.debug('Pack %s not found. Creating new one.', pack_name)
pack_db = Pack.add_or_update(pack_db)
LOG.debug('Pack %s registered.' % (pack_name))
return pack_db
开发者ID:Plexxi,项目名称:st2,代码行数:28,代码来源:base.py
示例7: _delete_pack_db_object
def _delete_pack_db_object(self, pack):
pack_db = None
# 1. Try by ref
try:
pack_db = Pack.get_by_ref(value=pack)
except StackStormDBObjectNotFoundError:
pack_db = None
# 2. Try by name (here for backward compatibility)
# TODO: This shouldn't be needed in the future, remove it in v2.1 or similar
if not pack_db:
try:
pack_db = Pack.get_by_name(value=pack)
except StackStormDBObjectNotFoundError:
pack_db = None
if not pack_db:
self.logger.exception('Pack DB object not found')
return
try:
Pack.delete(pack_db)
except:
self.logger.exception('Failed to remove DB object %s.', pack_db)
开发者ID:nzlosh,项目名称:st2,代码行数:25,代码来源:unload.py
示例8: test_register_configs_for_all_packs
def test_register_configs_for_all_packs(self):
# Verify DB is empty
pack_dbs = Pack.get_all()
config_dbs = Config.get_all()
self.assertEqual(len(pack_dbs), 0)
self.assertEqual(len(config_dbs), 0)
registrar = ConfigsRegistrar(use_pack_cache=False)
registrar._pack_loader.get_packs = mock.Mock()
registrar._pack_loader.get_packs.return_value = {"dummy_pack_1": PACK_PATH}
packs_base_paths = content_utils.get_packs_base_paths()
registrar.register_configs_for_all_packs(base_dirs=packs_base_paths)
# Verify pack and schema have been registered
pack_dbs = Pack.get_all()
config_dbs = Config.get_all()
self.assertEqual(len(pack_dbs), 1)
self.assertEqual(len(config_dbs), 1)
config_db = config_dbs[0]
self.assertEqual(config_db.values["api_key"], "{{user.api_key}}")
self.assertEqual(config_db.values["api_secret"], "{{user.api_secret}}")
self.assertEqual(config_db.values["region"], "us-west-1")
开发者ID:costingalan,项目名称:st2,代码行数:25,代码来源:test_configs_registrar.py
示例9: test_register_configs_for_all_packs
def test_register_configs_for_all_packs(self):
# Verify DB is empty
pack_dbs = Pack.get_all()
config_dbs = Config.get_all()
self.assertEqual(len(pack_dbs), 0)
self.assertEqual(len(config_dbs), 0)
registrar = ConfigsRegistrar(use_pack_cache=False)
registrar._pack_loader.get_packs = mock.Mock()
registrar._pack_loader.get_packs.return_value = {'dummy_pack_1': PACK_1_PATH}
packs_base_paths = content_utils.get_packs_base_paths()
registrar.register_from_packs(base_dirs=packs_base_paths)
# Verify pack and schema have been registered
pack_dbs = Pack.get_all()
config_dbs = Config.get_all()
self.assertEqual(len(pack_dbs), 1)
self.assertEqual(len(config_dbs), 1)
config_db = config_dbs[0]
self.assertEqual(config_db.values['api_key'], '{{st2kv.user.api_key}}')
self.assertEqual(config_db.values['api_secret'], SUPER_SECRET_PARAMETER)
self.assertEqual(config_db.values['region'], 'us-west-1')
开发者ID:lyandut,项目名称:st2,代码行数:25,代码来源:test_configs_registrar.py
示例10: setUpClass
def setUpClass(cls):
super(PacksControllerTestCase, cls).setUpClass()
cls.pack_db_1 = PackDB(name='pack1', description='foo', version='0.1.0', author='foo',
email='[email protected]', ref='pack1')
cls.pack_db_2 = PackDB(name='pack2', description='foo', version='0.1.0', author='foo',
email='[email protected]', ref='pack2')
Pack.add_or_update(cls.pack_db_1)
Pack.add_or_update(cls.pack_db_2)
开发者ID:ruslantum,项目名称:st2,代码行数:9,代码来源:test_packs.py
示例11: _insert_common_mock_resources
def _insert_common_mock_resources(self):
pack_1_db = PackDB(name='test_pack_1', ref='test_pack_1', description='',
version='0.1.0', author='foo', email='[email protected]')
pack_1_db = Pack.add_or_update(pack_1_db)
self.resources['pack_1'] = pack_1_db
pack_2_db = PackDB(name='test_pack_2', ref='test_pack_2', description='',
version='0.1.0', author='foo', email='[email protected]')
pack_2_db = Pack.add_or_update(pack_2_db)
self.resources['pack_2'] = pack_2_db
开发者ID:Bala96,项目名称:st2,代码行数:10,代码来源:test_rbac_resolvers.py
示例12: _delete_pack_db_object
def _delete_pack_db_object(self, pack):
try:
pack_db = Pack.get_by_name(value=pack)
except StackStormDBObjectNotFoundError:
self.logger.exception('Pack DB object not found')
return
try:
Pack.delete(pack_db)
except:
self.logger.exception('Failed to remove DB object %s.', pack_db)
开发者ID:Bala96,项目名称:st2,代码行数:11,代码来源:unload.py
示例13: test_run
def test_run(self):
pack = 'dummy_pack_1'
# Verify all the resources are there
pack_dbs = Pack.query(ref=pack)
action_dbs = Action.query(pack=pack)
alias_dbs = ActionAlias.query(pack=pack)
rule_dbs = Rule.query(pack=pack)
sensor_dbs = Sensor.query(pack=pack)
trigger_type_dbs = TriggerType.query(pack=pack)
policy_dbs = Policy.query(pack=pack)
config_schema_dbs = ConfigSchema.query(pack=pack)
config_dbs = Config.query(pack=pack)
self.assertEqual(len(pack_dbs), 1)
self.assertEqual(len(action_dbs), 1)
self.assertEqual(len(alias_dbs), 2)
self.assertEqual(len(rule_dbs), 1)
self.assertEqual(len(sensor_dbs), 3)
self.assertEqual(len(trigger_type_dbs), 4)
self.assertEqual(len(policy_dbs), 2)
self.assertEqual(len(config_schema_dbs), 1)
self.assertEqual(len(config_dbs), 1)
# Run action
action = self.get_action_instance()
action.run(packs=[pack])
# Make sure all resources have been removed from the db
pack_dbs = Pack.query(ref=pack)
action_dbs = Action.query(pack=pack)
alias_dbs = ActionAlias.query(pack=pack)
rule_dbs = Rule.query(pack=pack)
sensor_dbs = Sensor.query(pack=pack)
trigger_type_dbs = TriggerType.query(pack=pack)
policy_dbs = Policy.query(pack=pack)
config_schema_dbs = ConfigSchema.query(pack=pack)
config_dbs = Config.query(pack=pack)
self.assertEqual(len(pack_dbs), 0)
self.assertEqual(len(action_dbs), 0)
self.assertEqual(len(alias_dbs), 0)
self.assertEqual(len(rule_dbs), 0)
self.assertEqual(len(sensor_dbs), 0)
self.assertEqual(len(trigger_type_dbs), 0)
self.assertEqual(len(policy_dbs), 0)
self.assertEqual(len(config_schema_dbs), 0)
self.assertEqual(len(config_dbs), 0)
开发者ID:lyandut,项目名称:st2,代码行数:52,代码来源:test_action_unload.py
示例14: test_register_pack_old_style_non_semver_version_is_normalized_to_valid_version
def test_register_pack_old_style_non_semver_version_is_normalized_to_valid_version(self):
# Verify DB is empty
pack_dbs = Pack.get_all()
self.assertEqual(len(pack_dbs), 0)
registrar = ResourceRegistrar(use_pack_cache=False)
registrar._pack_loader.get_packs = mock.Mock()
registrar._pack_loader.get_packs.return_value = {'dummy_pack_11': PACK_PATH_11}
packs_base_paths = content_utils.get_packs_base_paths()
registrar.register_packs(base_dirs=packs_base_paths)
# Non-semver valid version 0.2 should be normalize to 0.2.0
pack_db = Pack.get_by_name('dummy_pack_11')
self.assertEqual(pack_db.version, '0.2.0')
开发者ID:peak6,项目名称:st2,代码行数:14,代码来源:test_resource_registrar.py
示例15: test_register_all_configs_with_config_schema_validation_validation_failure_1
def test_register_all_configs_with_config_schema_validation_validation_failure_1(self):
# Verify DB is empty
pack_dbs = Pack.get_all()
config_dbs = Config.get_all()
self.assertEqual(len(pack_dbs), 0)
self.assertEqual(len(config_dbs), 0)
registrar = ConfigsRegistrar(use_pack_cache=False, fail_on_failure=True,
validate_configs=True)
registrar._pack_loader.get_packs = mock.Mock()
registrar._pack_loader.get_packs.return_value = {'dummy_pack_6': PACK_6_PATH}
# Register ConfigSchema for pack
registrar._register_pack_db = mock.Mock()
registrar._register_pack(pack_name='dummy_pack_5', pack_dir=PACK_6_PATH)
packs_base_paths = content_utils.get_packs_base_paths()
if six.PY3:
expected_msg = ('Failed validating attribute "regions" in config for pack '
'"dummy_pack_6" (.*?): 1000 is not of type \'array\'')
else:
expected_msg = ('Failed validating attribute "regions" in config for pack '
'"dummy_pack_6" (.*?): 1000 is not of type u\'array\'')
self.assertRaisesRegexp(ValueError, expected_msg,
registrar.register_from_packs,
base_dirs=packs_base_paths)
开发者ID:lyandut,项目名称:st2,代码行数:28,代码来源:test_configs_registrar.py
示例16: _update_pack_model
def _update_pack_model(self, pack_name, data_files, written_file_paths):
"""
Update PackDB models (update files list).
"""
file_paths = [] # A list of paths relative to the pack directory for new files
for file_path in written_file_paths:
file_path = get_relative_path_to_pack(pack_name=pack_name, file_path=file_path)
file_paths.append(file_path)
pack_db = Pack.get_by_ref(pack_name)
pack_db.files = set(pack_db.files)
pack_db.files.update(set(file_paths))
pack_db.files = list(pack_db.files)
pack_db = Pack.add_or_update(pack_db)
return pack_db
开发者ID:jspittman,项目名称:st2,代码行数:16,代码来源:actions.py
示例17: test_post_include_files
def test_post_include_files(self):
# Verify initial state
pack_db = Pack.get_by_ref(ACTION_12["pack"])
self.assertTrue("actions/filea.txt" not in pack_db.files)
action = copy.deepcopy(ACTION_12)
action["data_files"] = [{"file_path": "filea.txt", "content": "test content"}]
post_resp = self.__do_post(action)
# Verify file has been written on disk
for file_path in self.to_delete_files:
self.assertTrue(os.path.exists(file_path))
# Verify PackDB.files has been updated
pack_db = Pack.get_by_ref(ACTION_12["pack"])
self.assertTrue("actions/filea.txt" in pack_db.files)
self.__do_delete(self.__get_action_id(post_resp))
开发者ID:rlugojr,项目名称:st2,代码行数:17,代码来源:test_actions.py
示例18: test_register_packs
def test_register_packs(self):
# Verify DB is empty
pack_dbs = Pack.get_all()
config_schema_dbs = ConfigSchema.get_all()
self.assertEqual(len(pack_dbs), 0)
self.assertEqual(len(config_schema_dbs), 0)
registrar = ResourceRegistrar(use_pack_cache=False)
registrar._pack_loader.get_packs = mock.Mock()
registrar._pack_loader.get_packs.return_value = {'dummy_pack_1': PACK_PATH_1}
packs_base_paths = content_utils.get_packs_base_paths()
registrar.register_packs(base_dirs=packs_base_paths)
# Verify pack and schema have been registered
pack_dbs = Pack.get_all()
config_schema_dbs = ConfigSchema.get_all()
self.assertEqual(len(pack_dbs), 1)
self.assertEqual(len(config_schema_dbs), 1)
pack_db = pack_dbs[0]
config_schema_db = config_schema_dbs[0]
self.assertEqual(pack_db.name, 'dummy_pack_1')
self.assertEqual(len(pack_db.contributors), 2)
self.assertEqual(pack_db.contributors[0], 'John Doe1 <[email protected]>')
self.assertEqual(pack_db.contributors[1], 'John Doe2 <[email protected]>')
self.assertTrue('api_key' in config_schema_db.attributes)
self.assertTrue('api_secret' in config_schema_db.attributes)
# Verify pack_db.files is correct and doesn't contain excluded files (*.pyc, .git/*, etc.)
# Note: We can't test that .git/* files are excluded since git doesn't allow you to add
# .git directory to existing repo index :/
excluded_files = [
'__init__.pyc',
'actions/dummy1.pyc',
'actions/dummy2.pyc',
]
for excluded_file in excluded_files:
self.assertTrue(excluded_file not in pack_db.files)
开发者ID:nzlosh,项目名称:st2,代码行数:42,代码来源:test_resource_registrar.py
示例19: test_post_include_files
def test_post_include_files(self):
# Verify initial state
pack_db = Pack.get_by_ref(ACTION_12['pack'])
self.assertTrue('actions/filea.txt' not in pack_db.files)
action = copy.deepcopy(ACTION_12)
action['data_files'] = [
{
'file_path': 'filea.txt',
'content': 'test content'
}
]
post_resp = self.__do_post(action)
# Verify file has been written on disk
for file_path in self.to_delete_files:
self.assertTrue(os.path.exists(file_path))
# Verify PackDB.files has been updated
pack_db = Pack.get_by_ref(ACTION_12['pack'])
self.assertTrue('actions/filea.txt' in pack_db.files)
self.__do_delete(self.__get_action_id(post_resp))
开发者ID:E-LLP,项目名称:st2,代码行数:22,代码来源:test_actions.py
示例20: _insert_common_mock_resources
def _insert_common_mock_resources(self):
pack_1_db = PackDB(
name="test_pack_1",
ref="test_pack_1",
description="",
version="0.1.0",
author="foo",
email="[email protected]",
)
pack_1_db = Pack.add_or_update(pack_1_db)
self.resources["pack_1"] = pack_1_db
pack_2_db = PackDB(
name="test_pack_2",
ref="test_pack_2",
description="",
version="0.1.0",
author="foo",
email="[email protected]",
)
pack_2_db = Pack.add_or_update(pack_2_db)
self.resources["pack_2"] = pack_2_db
开发者ID:azamsheriff,项目名称:st2,代码行数:22,代码来源:test_rbac_resolvers.py
注:本文中的st2common.persistence.pack.Pack类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论