本文整理汇总了Python中st2client.models.keyvalue.KeyValuePair.value方法的典型用法代码示例。如果您正苦于以下问题:Python KeyValuePair.value方法的具体用法?Python KeyValuePair.value怎么用?Python KeyValuePair.value使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类st2client.models.keyvalue.KeyValuePair
的用法示例。
在下文中一共展示了KeyValuePair.value方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_datastore_token_timeout
# 需要导入模块: from st2client.models.keyvalue import KeyValuePair [as 别名]
# 或者: from st2client.models.keyvalue.KeyValuePair import value [as 别名]
def test_datastore_token_timeout(self):
datastore_service = SensorDatastoreService(logger=mock.Mock(),
pack_name='core',
class_name='TestSensor',
api_username='sensor_service')
mock_api_client = mock.Mock()
kvp1 = KeyValuePair()
kvp1.name = 'test1'
kvp1.value = 'bar'
mock_api_client.keys.get_by_id.return_value = kvp1
token_expire_time = get_datetime_utc_now() - timedelta(seconds=5)
datastore_service._client = mock_api_client
datastore_service._token_expire = token_expire_time
self._set_mock_api_client(mock_api_client)
with mock.patch(
'st2common.services.datastore.Client',
return_value=mock_api_client
) as datastore_client:
value = datastore_service.get_value(name='test1', local=False)
self.assertTrue(datastore_client.called)
self.assertEqual(value, kvp1.value)
self.assertGreater(datastore_service._token_expire, token_expire_time)
示例2: run
# 需要导入模块: from st2client.models.keyvalue import KeyValuePair [as 别名]
# 或者: from st2client.models.keyvalue.KeyValuePair import value [as 别名]
def run(self, args, **kwargs):
file_path = os.path.normpath(pjoin(os.getcwd(), args.file))
if not os.path.exists(args.file):
raise ValueError('File "%s" doesn\'t exist' % (file_path))
if not os.path.isfile(args.file):
raise ValueError('"%s" is not a file' % (file_path))
with open(file_path, 'r') as f:
kvps = json.loads(f.read())
instances = []
for item in kvps:
name = item['name']
value = item['value']
instance = KeyValuePair()
instance.id = name # TODO: refactor and get rid of id
instance.name = name
instance.value = value
self.manager.update(instance, **kwargs)
instances.append(instance)
return instances
示例3: test_datastore_operations_get_value
# 需要导入模块: from st2client.models.keyvalue import KeyValuePair [as 别名]
# 或者: from st2client.models.keyvalue.KeyValuePair import value [as 别名]
def test_datastore_operations_get_value(self):
mock_api_client = mock.Mock()
kvp1 = KeyValuePair()
kvp1.name = "test1"
kvp1.value = "bar"
mock_api_client.keys.get_by_id.return_value = kvp1
self._set_mock_api_client(mock_api_client)
value = self._sensor_service.get_value(name="test1", local=False)
self.assertEqual(value, kvp1.value)
示例4: run
# 需要导入模块: from st2client.models.keyvalue import KeyValuePair [as 别名]
# 或者: from st2client.models.keyvalue.KeyValuePair import value [as 别名]
def run(self, args, **kwargs):
# normalize the file path to allow for relative files to be specified
file_path = os.path.normpath(pjoin(os.getcwd(), args.file))
# load the data (JSON/YAML) from the file
kvps = resource.load_meta_file(file_path)
# if the data is not a list (ie. it's a single entry)
# then make it a list so our process loop is generic
if not isinstance(kvps, list):
kvps = [kvps]
instances = []
for item in kvps:
# parse required KeyValuePair properties
name = item['name']
value = item['value']
# parse optional KeyValuePair properties
scope = item.get('scope', DEFAULT_SCOPE)
user = item.get('user', None)
secret = item.get('secret', False)
ttl = item.get('ttl', None)
# if the value is not a string, convert it to JSON
# all keys in the datastore must strings
if not isinstance(value, six.string_types):
if args.convert:
value = json.dumps(value)
else:
raise ValueError(("Item '%s' has a value that is not a string."
" Either pass in the -c/--convert option to convert"
" non-string types to JSON strings automatically, or"
" convert the data to a string in the file") % name)
# create the KeyValuePair instance
instance = KeyValuePair()
instance.id = name # TODO: refactor and get rid of id
instance.name = name
instance.value = value
instance.scope = scope
if user:
instance.user = user
if secret:
instance.secret = secret
if ttl:
instance.ttl = ttl
# call the API to create/update the KeyValuePair
self.manager.update(instance, **kwargs)
instances.append(instance)
return instances
示例5: test_datastore_operations_list_values
# 需要导入模块: from st2client.models.keyvalue import KeyValuePair [as 别名]
# 或者: from st2client.models.keyvalue.KeyValuePair import value [as 别名]
def test_datastore_operations_list_values(self):
# Verify prefix filtering
mock_api_client = mock.Mock()
mock_api_client.keys.get_all.return_value = []
self._set_mock_api_client(mock_api_client)
self._sensor_service.list_values(local=True, prefix=None)
mock_api_client.keys.get_all.assert_called_with(prefix="core.TestSensor:")
self._sensor_service.list_values(local=True, prefix="ponies")
mock_api_client.keys.get_all.assert_called_with(prefix="core.TestSensor:ponies")
self._sensor_service.list_values(local=False, prefix=None)
mock_api_client.keys.get_all.assert_called_with(prefix=None)
self._sensor_service.list_values(local=False, prefix="ponies")
mock_api_client.keys.get_all.assert_called_with(prefix="ponies")
# No values in the datastore
mock_api_client = mock.Mock()
mock_api_client.keys.get_all.return_value = []
self._set_mock_api_client(mock_api_client)
values = self._sensor_service.list_values(local=True)
self.assertEqual(values, [])
values = self._sensor_service.list_values(local=False)
self.assertEqual(values, [])
# Values in the datastore
kvp1 = KeyValuePair()
kvp1.name = "test1"
kvp1.value = "bar"
kvp2 = KeyValuePair()
kvp2.name = "test2"
kvp2.value = "bar"
mock_return_value = [kvp1, kvp2]
mock_api_client.keys.get_all.return_value = mock_return_value
self._set_mock_api_client(mock_api_client)
values = self._sensor_service.list_values(local=True)
self.assertEqual(len(values), 2)
self.assertEqual(values, mock_return_value)
示例6: set_value
# 需要导入模块: from st2client.models.keyvalue import KeyValuePair [as 别名]
# 或者: from st2client.models.keyvalue.KeyValuePair import value [as 别名]
def set_value(self, name, value, ttl=None, local=True, scope=SYSTEM_SCOPE, encrypt=False):
"""
Store a value in a dictionary which is local to this class.
"""
if ttl:
raise ValueError('MockDatastoreService.set_value doesn\'t support "ttl" argument')
name = self._get_full_key_name(name=name, local=local)
instance = KeyValuePair()
instance.id = name
instance.name = name
instance.value = value
self._datastore_items[name] = instance
return True
示例7: run
# 需要导入模块: from st2client.models.keyvalue import KeyValuePair [as 别名]
# 或者: from st2client.models.keyvalue.KeyValuePair import value [as 别名]
def run(self, args, **kwargs):
instance = KeyValuePair()
instance.id = args.name # TODO: refactor and get rid of id
instance.name = args.name
instance.value = args.value
instance.scope = args.scope
instance.user = args.user
if args.secret:
instance.secret = args.secret
if args.encrypted:
instance.encrypted = args.encrypted
if args.ttl:
instance.ttl = args.ttl
return self.manager.update(instance, **kwargs)
示例8: set_value
# 需要导入模块: from st2client.models.keyvalue import KeyValuePair [as 别名]
# 或者: from st2client.models.keyvalue.KeyValuePair import value [as 别名]
def set_value(self, name, value, ttl=None, local=True):
"""
Set a value for the provided key.
By default, value is set in a namespace local to the sensor. If you want to
set a global value, pass local=False to this method.
:param name: Key name.
:type name: ``str``
:param value: Key value.
:type value: ``str``
:param ttl: Optional TTL (in seconds).
:type ttl: ``int``
:param local: Set value in a namespace local to the sensor. Defaults to True.
:type: local: ``bool``
:return: ``True`` on success, ``False`` otherwise.
:rtype: ``bool``
"""
if local:
name = self._get_key_name_with_sensor_prefix(name=name)
value = str(value)
client = self._get_api_client()
self._logger.audit('Setting value in the datastore (name=%s)', name)
instance = KeyValuePair()
instance.id = name
instance.name = name
instance.value = value
if ttl:
instance.ttl = ttl
client.keys.update(instance=instance)
return True