mirror of
https://github.com/httpie/cli.git
synced 2025-08-13 03:37:03 +02:00
Fix duplicate keys preservation of JSON data (#1163)
* Fix duplicate keys preservation of JSON data * Update issue number * Fix type annotations * Changes after review * Rewording
This commit is contained in:
committed by
GitHub
parent
e6c5cd3e4b
commit
d7ed45bbcd
@ -1,20 +1,21 @@
|
||||
"""CLI argument parsing related tests."""
|
||||
import argparse
|
||||
import json
|
||||
|
||||
import pytest
|
||||
from requests.exceptions import InvalidSchema
|
||||
|
||||
import httpie.cli.argparser
|
||||
from .fixtures import (
|
||||
FILE_CONTENT, FILE_PATH, FILE_PATH_ARG, JSON_FILE_CONTENT,
|
||||
JSON_FILE_PATH_ARG,
|
||||
)
|
||||
from httpie.status import ExitStatus
|
||||
from httpie.cli import constants
|
||||
from httpie.cli.definition import parser
|
||||
from httpie.cli.argtypes import KeyValueArg, KeyValueArgType
|
||||
from httpie.cli.requestitems import RequestItems
|
||||
from httpie.status import ExitStatus
|
||||
from httpie.utils import load_json_preserve_order_and_dupe_keys
|
||||
|
||||
from .fixtures import (
|
||||
FILE_CONTENT, FILE_PATH, FILE_PATH_ARG, JSON_FILE_CONTENT,
|
||||
JSON_FILE_PATH_ARG,
|
||||
)
|
||||
from .utils import HTTP_OK, MockEnvironment, StdinBytesIO, http
|
||||
|
||||
|
||||
@ -97,17 +98,15 @@ class TestItemParsing:
|
||||
|
||||
# Parsed data
|
||||
raw_json_embed = items.data.pop('raw-json-embed')
|
||||
assert raw_json_embed == json.loads(JSON_FILE_CONTENT)
|
||||
assert raw_json_embed == load_json_preserve_order_and_dupe_keys(JSON_FILE_CONTENT)
|
||||
items.data['string-embed'] = items.data['string-embed'].strip()
|
||||
assert dict(items.data) == {
|
||||
"ed": "",
|
||||
"string": "value",
|
||||
"bool": True,
|
||||
"list": ["a", 1, {}, False],
|
||||
"obj": {
|
||||
"a": "b"
|
||||
},
|
||||
"string-embed": FILE_CONTENT,
|
||||
'ed': '',
|
||||
'string': 'value',
|
||||
'bool': True,
|
||||
'list': ['a', 1, {}, False],
|
||||
'obj': load_json_preserve_order_and_dupe_keys('{"a": "b"}'),
|
||||
'string-embed': FILE_CONTENT,
|
||||
}
|
||||
|
||||
# Parsed query string parameters
|
||||
|
Reference in New Issue
Block a user