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 :template: autosummary.rst.tmpl
configparser configparser
envfile
json json
keyvalue
msgpack msgpack
plist plist
python 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 import salt.utils.platform

View file

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