renaming envfile serializer to keyvalue

This commit is contained in:
nicholasmhughes 2022-11-01 15:36:37 -04:00 committed by Megan Wilhite
parent b5749fc6d1
commit 05caa58d34
6 changed files with 53 additions and 25 deletions

View file

@ -1 +1 @@
Add environment file serializer
Add keyvalue serializer for environment files

View file

@ -11,8 +11,8 @@ serializer modules
:template: autosummary.rst.tmpl
configparser
envfile
json
keyvalue
msgpack
plist
python

View file

@ -1,6 +0,0 @@
salt.serializers.envfile
========================
.. automodule:: salt.serializers.envfile
:members:

View file

@ -0,0 +1,6 @@
salt.serializers.keyvalue
=========================
.. automodule:: salt.serializers.keyvalue
:members:

View file

@ -1,8 +1,31 @@
"""
salt.serializers.envfile
~~~~~~~~~~~~~~~~~~~~~~~~
salt.serializers.keyvalue
~~~~~~~~~~~~~~~~~~~~~~~~~
Implements environment file serializer.
Implements keyvalue serializer which can be used for serializing or
deserializing any file which defines keys and values separated by a common
set of characters, such environment files, which are in "KEY=value" format.
A dataset such as:
.. code-block:: yaml
foo: bar
wang: chung
or
.. code-block:: yaml
- [foo, bar]
- [wang, chung]
can be represented as:
.. code-block:: text
foo=bar
wang=chung
"""
import salt.utils.platform

View file

@ -5,14 +5,15 @@ import pytest
import yaml as _yaml
import salt.serializers.configparser as configparser
import salt.serializers.envfile as envfile
import salt.serializers.json as json
import salt.serializers.keyvalue as keyvalue
import salt.serializers.msgpack as msgpack
import salt.serializers.plist as plist
import salt.serializers.python as python
import salt.serializers.tomlmod as tomlmod
import salt.serializers.yaml as yaml
import salt.serializers.yamlex as yamlex
import salt.utils.platform
from salt.serializers import SerializationError
from salt.serializers.yaml import EncryptedString
from salt.utils.odict import OrderedDict
@ -400,38 +401,42 @@ def test_serialize_binary_plist():
assert deserialized == data, deserialized
def test_serialize_envfile():
def test_serialize_keyvalue():
data = {"foo": "bar baz"}
serialized = envfile.serialize(data)
serialized = keyvalue.serialize(data)
assert serialized == "foo=bar baz", serialized
deserialized = envfile.deserialize(serialized)
deserialized = keyvalue.deserialize(serialized)
assert deserialized == data, deserialized
def test_serialize_envfile_quoting():
def test_serialize_keyvalue_quoting():
data = {"foo": "bar baz"}
serialized = envfile.serialize(data, quoting=True)
serialized = keyvalue.serialize(data, quoting=True)
assert serialized == "foo='bar baz'", serialized
deserialized = envfile.deserialize(serialized, quoting=False)
deserialized = keyvalue.deserialize(serialized, quoting=False)
assert deserialized == data, deserialized
def test_serialize_envfile_separator():
def test_serialize_keyvalue_separator():
data = {"foo": "bar baz"}
serialized = envfile.serialize(data, separator=" = ")
serialized = keyvalue.serialize(data, separator=" = ")
assert serialized == "foo = bar baz", serialized
deserialized = envfile.deserialize(serialized, separator=" = ")
deserialized = keyvalue.deserialize(serialized, separator=" = ")
assert deserialized == data, deserialized
def test_serialize_envfile_list_of_lists():
def test_serialize_keyvalue_list_of_lists():
if salt.utils.platform.is_windows():
linend = "\r\n"
else:
linend = "\n"
data = [["foo", "bar baz"], ["salt", "rocks"]]
expected = {"foo": "bar baz", "salt": "rocks"}
serialized = envfile.serialize(data)
assert serialized == "foo=bar baz\nsalt=rocks", serialized
serialized = keyvalue.serialize(data)
assert serialized == f"foo=bar baz{linend}salt=rocks", serialized
deserialized = envfile.deserialize(serialized)
deserialized = keyvalue.deserialize(serialized)
assert deserialized == expected, deserialized