mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
fix msg_pack (#57571)
* remove < 1.0.0 * update msgpack * fix msg_test * fix .decode * fix .decode 2 * fix failing tests * undo decode 2 * fix strict_map_key * fix tab error * add back raw True * fix upack kwargs * add raw false * move raw false * raw=false move * clean up Co-authored-by: Daniel Wozniak <dwozniak@saltstack.com>
This commit is contained in:
parent
8309518f9d
commit
e85eea8178
23 changed files with 58 additions and 38 deletions
|
@ -13,7 +13,7 @@ jinja2==2.10.1
|
|||
linode-python==1.1.1
|
||||
Mako==1.0.7
|
||||
markupsafe==1.1.1
|
||||
msgpack==0.5.6
|
||||
msgpack==1.0.0
|
||||
psutil==5.6.6
|
||||
pyasn1==0.4.8
|
||||
pycparser==2.19
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
Jinja2
|
||||
msgpack>=0.5,!=0.5.5,<1.0.0
|
||||
msgpack>=0.5,!=0.5.5
|
||||
PyYAML
|
||||
MarkupSafe
|
||||
requests>=1.0.0
|
||||
|
|
|
@ -65,7 +65,7 @@ markupsafe==1.1.1
|
|||
mock==3.0.5 ; python_version < "3.6"
|
||||
more-itertools==5.0.0
|
||||
moto==1.3.7
|
||||
msgpack==0.5.6
|
||||
msgpack==1.0.0
|
||||
ncclient==0.6.4 # via junos-eznc
|
||||
netaddr==0.7.19 # via junos-eznc
|
||||
ntc-templates==1.4.0 # via junos-eznc
|
||||
|
|
|
@ -63,7 +63,7 @@ markupsafe==1.1.1
|
|||
mock==3.0.5
|
||||
more-itertools==5.0.0
|
||||
moto==1.3.7
|
||||
msgpack==0.5.6
|
||||
msgpack==1.0.0
|
||||
ncclient==0.6.4 # via junos-eznc
|
||||
netaddr==0.7.19 # via junos-eznc
|
||||
ntc-templates==1.4.0 # via junos-eznc
|
||||
|
|
|
@ -149,7 +149,7 @@ markupsafe==1.1.1
|
|||
mock==3.0.5
|
||||
more-itertools==5.0.0
|
||||
moto==1.3.7
|
||||
msgpack==0.5.6
|
||||
msgpack==1.0.0
|
||||
msrest==0.6.14 # via azure-applicationinsights, azure-eventgrid, azure-keyvault, azure-loganalytics, azure-mgmt-cdn, azure-mgmt-compute, azure-mgmt-containerinstance, azure-mgmt-containerregistry, azure-mgmt-containerservice, azure-mgmt-dns, azure-mgmt-eventhub, azure-mgmt-keyvault, azure-mgmt-media, azure-mgmt-network, azure-mgmt-rdbms, azure-mgmt-resource, azure-mgmt-servicebus, azure-mgmt-servicefabric, azure-mgmt-signalr, azure-servicefabric, msrestazure
|
||||
msrestazure==0.6.3 # via azure-batch, azure-eventgrid, azure-graphrbac, azure-keyvault, azure-mgmt-advisor, azure-mgmt-applicationinsights, azure-mgmt-authorization, azure-mgmt-batch, azure-mgmt-batchai, azure-mgmt-billing, azure-mgmt-cdn, azure-mgmt-cognitiveservices, azure-mgmt-commerce, azure-mgmt-compute, azure-mgmt-consumption, azure-mgmt-containerinstance, azure-mgmt-containerregistry, azure-mgmt-containerservice, azure-mgmt-cosmosdb, azure-mgmt-datafactory, azure-mgmt-datalake-analytics, azure-mgmt-datalake-store, azure-mgmt-datamigration, azure-mgmt-devspaces, azure-mgmt-devtestlabs, azure-mgmt-dns, azure-mgmt-eventgrid, azure-mgmt-eventhub, azure-mgmt-hanaonazure, azure-mgmt-iotcentral, azure-mgmt-iothub, azure-mgmt-iothubprovisioningservices, azure-mgmt-keyvault, azure-mgmt-loganalytics, azure-mgmt-logic, azure-mgmt-machinelearningcompute, azure-mgmt-managementgroups, azure-mgmt-managementpartner, azure-mgmt-maps, azure-mgmt-marketplaceordering, azure-mgmt-media, azure-mgmt-monitor, azure-mgmt-msi, azure-mgmt-network, azure-mgmt-notificationhubs, azure-mgmt-policyinsights, azure-mgmt-powerbiembedded, azure-mgmt-rdbms, azure-mgmt-recoveryservices, azure-mgmt-recoveryservicesbackup, azure-mgmt-redis, azure-mgmt-relay, azure-mgmt-reservations, azure-mgmt-resource, azure-mgmt-scheduler, azure-mgmt-search, azure-mgmt-servicebus, azure-mgmt-servicefabric, azure-mgmt-signalr, azure-mgmt-sql, azure-mgmt-storage, azure-mgmt-subscription, azure-mgmt-trafficmanager, azure-mgmt-web
|
||||
ncclient==0.6.4 # via junos-eznc
|
||||
|
|
|
@ -63,7 +63,7 @@ mock==3.0.5 ; python_version < "3.6"
|
|||
more-itertools==5.0.0
|
||||
moto==1.3.7
|
||||
msgpack-python==0.5.6
|
||||
msgpack==0.5.6
|
||||
msgpack==1.0.0
|
||||
packaging==19.2 # via pytest
|
||||
patch==1.16
|
||||
pathlib2==2.3.3 # via pytest
|
||||
|
|
|
@ -65,7 +65,7 @@ markupsafe==1.1.1
|
|||
mock==3.0.5
|
||||
more-itertools==5.0.0
|
||||
moto==1.3.7
|
||||
msgpack==0.5.6
|
||||
msgpack==1.0.0
|
||||
ncclient==0.6.4 # via junos-eznc
|
||||
netaddr==0.7.19 # via junos-eznc
|
||||
ntc-templates==1.4.0 # via junos-eznc
|
||||
|
|
|
@ -63,7 +63,7 @@ markupsafe==1.1.1
|
|||
mock==3.0.5
|
||||
more-itertools==5.0.0
|
||||
moto==1.3.7
|
||||
msgpack==0.5.6
|
||||
msgpack==1.0.0
|
||||
ncclient==0.6.4 # via junos-eznc
|
||||
netaddr==0.7.19 # via junos-eznc
|
||||
ntc-templates==1.4.0 # via junos-eznc
|
||||
|
|
|
@ -149,7 +149,7 @@ markupsafe==1.1.1
|
|||
mock==3.0.5
|
||||
more-itertools==5.0.0
|
||||
moto==1.3.7
|
||||
msgpack==0.5.6
|
||||
msgpack==1.0.0
|
||||
msrest==0.6.14 # via azure-applicationinsights, azure-eventgrid, azure-keyvault, azure-loganalytics, azure-mgmt-cdn, azure-mgmt-compute, azure-mgmt-containerinstance, azure-mgmt-containerregistry, azure-mgmt-containerservice, azure-mgmt-dns, azure-mgmt-eventhub, azure-mgmt-keyvault, azure-mgmt-media, azure-mgmt-network, azure-mgmt-rdbms, azure-mgmt-resource, azure-mgmt-servicebus, azure-mgmt-servicefabric, azure-mgmt-signalr, azure-servicefabric, msrestazure
|
||||
msrestazure==0.6.3 # via azure-batch, azure-eventgrid, azure-graphrbac, azure-keyvault, azure-mgmt-advisor, azure-mgmt-applicationinsights, azure-mgmt-authorization, azure-mgmt-batch, azure-mgmt-batchai, azure-mgmt-billing, azure-mgmt-cdn, azure-mgmt-cognitiveservices, azure-mgmt-commerce, azure-mgmt-compute, azure-mgmt-consumption, azure-mgmt-containerinstance, azure-mgmt-containerregistry, azure-mgmt-containerservice, azure-mgmt-cosmosdb, azure-mgmt-datafactory, azure-mgmt-datalake-analytics, azure-mgmt-datalake-store, azure-mgmt-datamigration, azure-mgmt-devspaces, azure-mgmt-devtestlabs, azure-mgmt-dns, azure-mgmt-eventgrid, azure-mgmt-eventhub, azure-mgmt-hanaonazure, azure-mgmt-iotcentral, azure-mgmt-iothub, azure-mgmt-iothubprovisioningservices, azure-mgmt-keyvault, azure-mgmt-loganalytics, azure-mgmt-logic, azure-mgmt-machinelearningcompute, azure-mgmt-managementgroups, azure-mgmt-managementpartner, azure-mgmt-maps, azure-mgmt-marketplaceordering, azure-mgmt-media, azure-mgmt-monitor, azure-mgmt-msi, azure-mgmt-network, azure-mgmt-notificationhubs, azure-mgmt-policyinsights, azure-mgmt-powerbiembedded, azure-mgmt-rdbms, azure-mgmt-recoveryservices, azure-mgmt-recoveryservicesbackup, azure-mgmt-redis, azure-mgmt-relay, azure-mgmt-reservations, azure-mgmt-resource, azure-mgmt-scheduler, azure-mgmt-search, azure-mgmt-servicebus, azure-mgmt-servicefabric, azure-mgmt-signalr, azure-mgmt-sql, azure-mgmt-storage, azure-mgmt-subscription, azure-mgmt-trafficmanager, azure-mgmt-web
|
||||
ncclient==0.6.4 # via junos-eznc
|
||||
|
|
|
@ -63,7 +63,7 @@ mock==3.0.5
|
|||
more-itertools==5.0.0
|
||||
moto==1.3.7
|
||||
msgpack-python==0.5.6
|
||||
msgpack==0.5.6
|
||||
msgpack==1.0.0
|
||||
packaging==19.2 # via pytest
|
||||
patch==1.16
|
||||
pathtools==0.1.2 # via watchdog
|
||||
|
|
|
@ -63,7 +63,7 @@ markupsafe==1.1.1
|
|||
mock==3.0.5
|
||||
more-itertools==5.0.0
|
||||
moto==1.3.7
|
||||
msgpack==0.5.6
|
||||
msgpack==1.0.0
|
||||
ncclient==0.6.4 # via junos-eznc
|
||||
netaddr==0.7.19 # via junos-eznc
|
||||
ntc-templates==1.4.0 # via junos-eznc
|
||||
|
|
|
@ -62,7 +62,7 @@ markupsafe==1.1.1
|
|||
mock==3.0.5
|
||||
more-itertools==5.0.0
|
||||
moto==1.3.7
|
||||
msgpack==0.5.6
|
||||
msgpack==1.0.0
|
||||
ncclient==0.6.4 # via junos-eznc
|
||||
netaddr==0.7.19 # via junos-eznc
|
||||
ntc-templates==1.4.0 # via junos-eznc
|
||||
|
|
|
@ -148,7 +148,7 @@ markupsafe==1.1.1
|
|||
mock==3.0.5
|
||||
more-itertools==5.0.0
|
||||
moto==1.3.7
|
||||
msgpack==0.5.6
|
||||
msgpack==1.0.0
|
||||
msrest==0.6.14 # via azure-applicationinsights, azure-eventgrid, azure-keyvault, azure-loganalytics, azure-mgmt-cdn, azure-mgmt-compute, azure-mgmt-containerinstance, azure-mgmt-containerregistry, azure-mgmt-containerservice, azure-mgmt-dns, azure-mgmt-eventhub, azure-mgmt-keyvault, azure-mgmt-media, azure-mgmt-network, azure-mgmt-rdbms, azure-mgmt-resource, azure-mgmt-servicebus, azure-mgmt-servicefabric, azure-mgmt-signalr, azure-servicefabric, msrestazure
|
||||
msrestazure==0.6.3 # via azure-batch, azure-eventgrid, azure-graphrbac, azure-keyvault, azure-mgmt-advisor, azure-mgmt-applicationinsights, azure-mgmt-authorization, azure-mgmt-batch, azure-mgmt-batchai, azure-mgmt-billing, azure-mgmt-cdn, azure-mgmt-cognitiveservices, azure-mgmt-commerce, azure-mgmt-compute, azure-mgmt-consumption, azure-mgmt-containerinstance, azure-mgmt-containerregistry, azure-mgmt-containerservice, azure-mgmt-cosmosdb, azure-mgmt-datafactory, azure-mgmt-datalake-analytics, azure-mgmt-datalake-store, azure-mgmt-datamigration, azure-mgmt-devspaces, azure-mgmt-devtestlabs, azure-mgmt-dns, azure-mgmt-eventgrid, azure-mgmt-eventhub, azure-mgmt-hanaonazure, azure-mgmt-iotcentral, azure-mgmt-iothub, azure-mgmt-iothubprovisioningservices, azure-mgmt-keyvault, azure-mgmt-loganalytics, azure-mgmt-logic, azure-mgmt-machinelearningcompute, azure-mgmt-managementgroups, azure-mgmt-managementpartner, azure-mgmt-maps, azure-mgmt-marketplaceordering, azure-mgmt-media, azure-mgmt-monitor, azure-mgmt-msi, azure-mgmt-network, azure-mgmt-notificationhubs, azure-mgmt-policyinsights, azure-mgmt-powerbiembedded, azure-mgmt-rdbms, azure-mgmt-recoveryservices, azure-mgmt-recoveryservicesbackup, azure-mgmt-redis, azure-mgmt-relay, azure-mgmt-reservations, azure-mgmt-resource, azure-mgmt-scheduler, azure-mgmt-search, azure-mgmt-servicebus, azure-mgmt-servicefabric, azure-mgmt-signalr, azure-mgmt-sql, azure-mgmt-storage, azure-mgmt-subscription, azure-mgmt-trafficmanager, azure-mgmt-web
|
||||
ncclient==0.6.4 # via junos-eznc
|
||||
|
|
|
@ -61,7 +61,7 @@ mock==3.0.5
|
|||
more-itertools==5.0.0
|
||||
moto==1.3.7
|
||||
msgpack-python==0.5.6
|
||||
msgpack==0.5.6
|
||||
msgpack==1.0.0
|
||||
packaging==19.2 # via pytest
|
||||
patch==1.16
|
||||
pathtools==0.1.2 # via watchdog
|
||||
|
|
|
@ -62,7 +62,7 @@ markupsafe==1.1.1
|
|||
mock==3.0.5
|
||||
more-itertools==5.0.0
|
||||
moto==1.3.7
|
||||
msgpack==0.5.6
|
||||
msgpack==1.0.0
|
||||
ncclient==0.6.4 # via junos-eznc
|
||||
netaddr==0.7.19 # via junos-eznc
|
||||
ntc-templates==1.4.1 # via junos-eznc
|
||||
|
|
|
@ -61,7 +61,7 @@ markupsafe==1.1.1
|
|||
mock==3.0.5
|
||||
more-itertools==5.0.0
|
||||
moto==1.3.7
|
||||
msgpack==0.5.6
|
||||
msgpack==1.0.0
|
||||
ncclient==0.6.4 # via junos-eznc
|
||||
netaddr==0.7.19 # via junos-eznc
|
||||
ntc-templates==1.4.1 # via junos-eznc
|
||||
|
|
|
@ -148,7 +148,7 @@ markupsafe==1.1.1
|
|||
mock==3.0.5
|
||||
more-itertools==5.0.0
|
||||
moto==1.3.7
|
||||
msgpack==0.5.6
|
||||
msgpack==1.0.0
|
||||
msrest==0.6.14 # via azure-applicationinsights, azure-eventgrid, azure-keyvault, azure-loganalytics, azure-mgmt-cdn, azure-mgmt-compute, azure-mgmt-containerinstance, azure-mgmt-containerregistry, azure-mgmt-containerservice, azure-mgmt-dns, azure-mgmt-eventhub, azure-mgmt-keyvault, azure-mgmt-media, azure-mgmt-network, azure-mgmt-rdbms, azure-mgmt-resource, azure-mgmt-servicebus, azure-mgmt-servicefabric, azure-mgmt-signalr, azure-servicefabric, msrestazure
|
||||
msrestazure==0.6.3 # via azure-batch, azure-eventgrid, azure-graphrbac, azure-keyvault, azure-mgmt-advisor, azure-mgmt-applicationinsights, azure-mgmt-authorization, azure-mgmt-batch, azure-mgmt-batchai, azure-mgmt-billing, azure-mgmt-cdn, azure-mgmt-cognitiveservices, azure-mgmt-commerce, azure-mgmt-compute, azure-mgmt-consumption, azure-mgmt-containerinstance, azure-mgmt-containerregistry, azure-mgmt-containerservice, azure-mgmt-cosmosdb, azure-mgmt-datafactory, azure-mgmt-datalake-analytics, azure-mgmt-datalake-store, azure-mgmt-datamigration, azure-mgmt-devspaces, azure-mgmt-devtestlabs, azure-mgmt-dns, azure-mgmt-eventgrid, azure-mgmt-eventhub, azure-mgmt-hanaonazure, azure-mgmt-iotcentral, azure-mgmt-iothub, azure-mgmt-iothubprovisioningservices, azure-mgmt-keyvault, azure-mgmt-loganalytics, azure-mgmt-logic, azure-mgmt-machinelearningcompute, azure-mgmt-managementgroups, azure-mgmt-managementpartner, azure-mgmt-maps, azure-mgmt-marketplaceordering, azure-mgmt-media, azure-mgmt-monitor, azure-mgmt-msi, azure-mgmt-network, azure-mgmt-notificationhubs, azure-mgmt-policyinsights, azure-mgmt-powerbiembedded, azure-mgmt-rdbms, azure-mgmt-recoveryservices, azure-mgmt-recoveryservicesbackup, azure-mgmt-redis, azure-mgmt-relay, azure-mgmt-reservations, azure-mgmt-resource, azure-mgmt-scheduler, azure-mgmt-search, azure-mgmt-servicebus, azure-mgmt-servicefabric, azure-mgmt-signalr, azure-mgmt-sql, azure-mgmt-storage, azure-mgmt-subscription, azure-mgmt-trafficmanager, azure-mgmt-web
|
||||
ncclient==0.6.4 # via junos-eznc
|
||||
|
|
|
@ -62,7 +62,7 @@ markupsafe==1.1.1
|
|||
mock==3.0.5
|
||||
more-itertools==5.0.0
|
||||
moto==1.3.7
|
||||
msgpack==0.5.6
|
||||
msgpack==1.0.0
|
||||
ncclient==0.6.4 # via junos-eznc
|
||||
netaddr==0.7.19 # via junos-eznc
|
||||
ntc-templates==1.4.1 # via junos-eznc
|
||||
|
|
|
@ -61,7 +61,7 @@ markupsafe==1.1.1
|
|||
mock==3.0.5
|
||||
more-itertools==5.0.0
|
||||
moto==1.3.7
|
||||
msgpack==0.5.6
|
||||
msgpack==1.0.0
|
||||
ncclient==0.6.4 # via junos-eznc
|
||||
netaddr==0.7.19 # via junos-eznc
|
||||
ntc-templates==1.4.1 # via junos-eznc
|
||||
|
|
|
@ -148,7 +148,7 @@ markupsafe==1.1.1
|
|||
mock==3.0.5
|
||||
more-itertools==5.0.0
|
||||
moto==1.3.7
|
||||
msgpack==0.5.6
|
||||
msgpack==1.0.0
|
||||
msrest==0.6.14 # via azure-applicationinsights, azure-eventgrid, azure-keyvault, azure-loganalytics, azure-mgmt-cdn, azure-mgmt-compute, azure-mgmt-containerinstance, azure-mgmt-containerregistry, azure-mgmt-containerservice, azure-mgmt-dns, azure-mgmt-eventhub, azure-mgmt-keyvault, azure-mgmt-media, azure-mgmt-network, azure-mgmt-rdbms, azure-mgmt-resource, azure-mgmt-servicebus, azure-mgmt-servicefabric, azure-mgmt-signalr, azure-servicefabric, msrestazure
|
||||
msrestazure==0.6.3 # via azure-batch, azure-eventgrid, azure-graphrbac, azure-keyvault, azure-mgmt-advisor, azure-mgmt-applicationinsights, azure-mgmt-authorization, azure-mgmt-batch, azure-mgmt-batchai, azure-mgmt-billing, azure-mgmt-cdn, azure-mgmt-cognitiveservices, azure-mgmt-commerce, azure-mgmt-compute, azure-mgmt-consumption, azure-mgmt-containerinstance, azure-mgmt-containerregistry, azure-mgmt-containerservice, azure-mgmt-cosmosdb, azure-mgmt-datafactory, azure-mgmt-datalake-analytics, azure-mgmt-datalake-store, azure-mgmt-datamigration, azure-mgmt-devspaces, azure-mgmt-devtestlabs, azure-mgmt-dns, azure-mgmt-eventgrid, azure-mgmt-eventhub, azure-mgmt-hanaonazure, azure-mgmt-iotcentral, azure-mgmt-iothub, azure-mgmt-iothubprovisioningservices, azure-mgmt-keyvault, azure-mgmt-loganalytics, azure-mgmt-logic, azure-mgmt-machinelearningcompute, azure-mgmt-managementgroups, azure-mgmt-managementpartner, azure-mgmt-maps, azure-mgmt-marketplaceordering, azure-mgmt-media, azure-mgmt-monitor, azure-mgmt-msi, azure-mgmt-network, azure-mgmt-notificationhubs, azure-mgmt-policyinsights, azure-mgmt-powerbiembedded, azure-mgmt-rdbms, azure-mgmt-recoveryservices, azure-mgmt-recoveryservicesbackup, azure-mgmt-redis, azure-mgmt-relay, azure-mgmt-reservations, azure-mgmt-resource, azure-mgmt-scheduler, azure-mgmt-search, azure-mgmt-servicebus, azure-mgmt-servicefabric, azure-mgmt-signalr, azure-mgmt-sql, azure-mgmt-storage, azure-mgmt-subscription, azure-mgmt-trafficmanager, azure-mgmt-web
|
||||
ncclient==0.6.4 # via junos-eznc
|
||||
|
|
|
@ -35,6 +35,23 @@ if not available:
|
|||
_fail()
|
||||
|
||||
|
||||
elif salt.utils.msgpack.version >= (1, 0, 0):
|
||||
|
||||
def _serialize(obj, **options):
|
||||
try:
|
||||
return salt.utils.msgpack.dumps(obj, **options)
|
||||
except Exception as error: # pylint: disable=broad-except
|
||||
raise SerializationError(error)
|
||||
|
||||
def _deserialize(stream_or_string, **options):
|
||||
try:
|
||||
options.setdefault("use_list", True)
|
||||
options.setdefault("raw", False)
|
||||
return salt.utils.msgpack.loads(stream_or_string, **options)
|
||||
except Exception as error: # pylint: disable=broad-except
|
||||
raise DeserializationError(error)
|
||||
|
||||
|
||||
elif salt.utils.msgpack.version >= (0, 2, 0):
|
||||
|
||||
def _serialize(obj, **options):
|
||||
|
|
|
@ -82,10 +82,11 @@ def _sanitize_msgpack_unpack_kwargs(kwargs):
|
|||
https://github.com/msgpack/msgpack-python/blob/master/ChangeLog.rst
|
||||
"""
|
||||
assert isinstance(kwargs, dict)
|
||||
if version >= (1, 0, 0) and kwargs.get("raw", None) is None:
|
||||
log.info("adding `raw=True` argument to msgpack call")
|
||||
kwargs["raw"] = True
|
||||
|
||||
if version >= (1, 0, 0):
|
||||
kwargs.setdefault("raw", True)
|
||||
kwargs.setdefault("strict_map_key", False)
|
||||
if "encoding" in kwargs:
|
||||
del kwargs["encoding"]
|
||||
return _sanitize_msgpack_kwargs(kwargs)
|
||||
|
||||
|
||||
|
|
|
@ -231,36 +231,35 @@ class TestMsgpack(TestCase):
|
|||
"""
|
||||
version = salt.utils.msgpack.version
|
||||
|
||||
kwargs = {"strict_map_key": True, "use_bin_type": True}
|
||||
kwargs = {"strict_map_key": True, "use_bin_type": True, "encoding": "utf-8"}
|
||||
salt.utils.msgpack.version = (1, 0, 0)
|
||||
self.assertEqual(
|
||||
salt.utils.msgpack._sanitize_msgpack_unpack_kwargs(kwargs),
|
||||
salt.utils.msgpack._sanitize_msgpack_unpack_kwargs(kwargs.copy()),
|
||||
{"raw": True, "strict_map_key": True, "use_bin_type": True},
|
||||
)
|
||||
|
||||
kwargs = {"strict_map_key": True, "use_bin_type": True}
|
||||
salt.utils.msgpack.version = (0, 6, 0)
|
||||
self.assertEqual(
|
||||
salt.utils.msgpack._sanitize_msgpack_unpack_kwargs(kwargs),
|
||||
{"strict_map_key": True, "use_bin_type": True},
|
||||
salt.utils.msgpack._sanitize_msgpack_unpack_kwargs(kwargs.copy()),
|
||||
{"strict_map_key": True, "use_bin_type": True, "encoding": "utf-8"},
|
||||
)
|
||||
|
||||
kwargs = {"strict_map_key": True, "use_bin_type": True}
|
||||
salt.utils.msgpack.version = (0, 5, 2)
|
||||
self.assertEqual(
|
||||
salt.utils.msgpack._sanitize_msgpack_unpack_kwargs(kwargs),
|
||||
{"use_bin_type": True},
|
||||
salt.utils.msgpack._sanitize_msgpack_unpack_kwargs(kwargs.copy()),
|
||||
{"use_bin_type": True, "encoding": "utf-8"},
|
||||
)
|
||||
|
||||
kwargs = {"strict_map_key": True, "use_bin_type": True}
|
||||
salt.utils.msgpack.version = (0, 4, 0)
|
||||
self.assertEqual(
|
||||
salt.utils.msgpack._sanitize_msgpack_unpack_kwargs(kwargs),
|
||||
{"use_bin_type": True},
|
||||
salt.utils.msgpack._sanitize_msgpack_unpack_kwargs(kwargs.copy()),
|
||||
{"use_bin_type": True, "encoding": "utf-8"},
|
||||
)
|
||||
kwargs = {"strict_map_key": True, "use_bin_type": True}
|
||||
salt.utils.msgpack.version = (0, 3, 0)
|
||||
self.assertEqual(salt.utils.msgpack._sanitize_msgpack_unpack_kwargs(kwargs), {})
|
||||
self.assertEqual(
|
||||
salt.utils.msgpack._sanitize_msgpack_unpack_kwargs(kwargs.copy()), {}
|
||||
)
|
||||
salt.utils.msgpack.version = version
|
||||
|
||||
def _test_base(self, pack_func, unpack_func):
|
||||
|
@ -286,7 +285,6 @@ class TestMsgpack(TestCase):
|
|||
# Sanity check, we are not borking the BytesIO read function
|
||||
self.assertNotEqual(BytesIO.read, buffer.read)
|
||||
buffer.read = buffer.getvalue
|
||||
|
||||
pack_func(data, buffer)
|
||||
# Sanity Check
|
||||
self.assertTrue(buffer.getvalue())
|
||||
|
@ -295,7 +293,11 @@ class TestMsgpack(TestCase):
|
|||
|
||||
# Reverse the packing and the result should be equivalent to the original data
|
||||
unpacked = unpack_func(buffer)
|
||||
self.assertEqual(data, unpacked.decode())
|
||||
|
||||
if isinstance(unpacked, bytes):
|
||||
unpacked = unpacked.decode()
|
||||
|
||||
self.assertEqual(data, unpacked)
|
||||
|
||||
def test_buffered_base_pack(self):
|
||||
self._test_buffered_base(
|
||||
|
|
Loading…
Add table
Reference in a new issue