mirror of
https://github.com/EDCD/EDMarketConnector.git
synced 2025-04-14 08:17:13 +03:00
quoting fixes
This commit is contained in:
parent
da8bb27b84
commit
df200d2c22
@ -9,18 +9,19 @@ from killswitch import UPDATABLE_DATA
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("source", "key", "action", "to_set", "result"),
|
||||
('source', 'key', 'action', 'to_set', 'result'),
|
||||
[
|
||||
(["this", "is", "a", "test"], "1", "delete", None, ["this", "a", "test"]),
|
||||
(["this", "is", "a", "test"], "1", "", None, ["this", None, "a", "test"]),
|
||||
({"now": "with", "a": "dict"}, "now", "delete", None, {"a": "dict"}),
|
||||
({"now": "with", "a": "dict"}, "now", "", None, {"now": None, "a": "dict"}),
|
||||
(['this', 'is', 'a', 'test'], '1', 'delete', None, ['this', 'a', 'test']),
|
||||
(['this', 'is', 'a', 'test'], '1', '', None, ['this', None, 'a', 'test']),
|
||||
({'now': 'with', 'a': 'dict'}, 'now', 'delete', None, {'a': 'dict'}),
|
||||
({'now': 'with', 'a': 'dict'}, 'now', '', None, {'now': None, 'a': 'dict'}),
|
||||
(['test append'], '1', '', 'yay', ['test append', 'yay'])
|
||||
]
|
||||
)
|
||||
def test_apply(source: UPDATABLE_DATA, key: str, action: str, to_set: Any, result: UPDATABLE_DATA) -> None:
|
||||
"""Test that a single level apply works as expected."""
|
||||
cpy = copy.deepcopy(source)
|
||||
killswitch._apply(target=cpy, key=key, to_set=to_set, delete=action == "delete")
|
||||
killswitch._apply(target=cpy, key=key, to_set=to_set, delete=action == 'delete')
|
||||
|
||||
assert cpy == result
|
||||
|
||||
@ -28,8 +29,11 @@ def test_apply(source: UPDATABLE_DATA, key: str, action: str, to_set: Any, resul
|
||||
def test_apply_errors() -> None:
|
||||
"""_apply should fail when passed something that isn't a Sequence or MutableMapping."""
|
||||
with pytest.raises(ValueError, match=r'Dont know how to'):
|
||||
killswitch._apply(set(), "0", None, False) # type: ignore # Its intentional that its broken
|
||||
killswitch._apply(None, "", None) # type: ignore # Its intentional that its broken
|
||||
killswitch._apply(set(), '0', None, False) # type: ignore # Its intentional that its broken
|
||||
killswitch._apply(None, '', None) # type: ignore # Its intentional that its broken
|
||||
|
||||
with pytest.raises(ValueError, match=r'Cannot use string'):
|
||||
killswitch._apply([], 'test', None, False)
|
||||
|
||||
|
||||
def test_apply_no_error() -> None:
|
||||
@ -39,17 +43,17 @@ def test_apply_no_error() -> None:
|
||||
The only exception here is for lists. if a list is malformed to what a killswitch expects, it SHOULD explode,
|
||||
thus causing the killswitch to fail and eat the entire message.
|
||||
"""
|
||||
killswitch._apply([], "0", None, True)
|
||||
killswitch._apply({}, "0", None, True)
|
||||
killswitch._apply([], '0', None, True)
|
||||
killswitch._apply({}, '0', None, True)
|
||||
killswitch._apply({}, "this doesn't exist", None, True)
|
||||
with pytest.raises(IndexError):
|
||||
killswitch._apply([], "1", "bang?")
|
||||
killswitch._apply([], '1', 'bang?')
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("input", "expected"),
|
||||
('input', 'expected'),
|
||||
[
|
||||
("1", 1), ("1337", 1337), ("no.", None), ("0x10", None), ("010", 10),
|
||||
('1', 1), ('1337', 1337), ('no.', None), ('0x10', None), ('010', 10),
|
||||
(False, 0), (str((1 << 63)-1), (1 << 63)-1), (True, 1), (str(1 << 1337), 1 << 1337)
|
||||
]
|
||||
)
|
||||
@ -59,20 +63,20 @@ def test_get_int(input: str, expected: Optional[int]) -> None:
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("source", "key", "action", "to_set", "result"),
|
||||
('source', 'key', 'action', 'to_set', 'result'),
|
||||
[
|
||||
(["this", "is", "a", "test"], "1", "delete", None, ["this", "a", "test"]),
|
||||
(["this", "is", "a", "test"], "1", "", None, ["this", None, "a", "test"]),
|
||||
({"now": "with", "a": "dict"}, "now", "delete", None, {"a": "dict"}),
|
||||
({"now": "with", "a": "dict"}, "now", "", None, {"now": None, "a": "dict"}),
|
||||
({"depth": {"is": "important"}}, "depth.is", "", "nonexistent", {"depth": {"is": "nonexistent"}}),
|
||||
([{"test": ["stuff"]}], "0.test.0", "", "things", [{"test": ["things"]}]),
|
||||
(({"test": {"with": ["a", "tuple"]}},), "0.test.with.0", "delete", "", ({"test": {"with": ["tuple"]}},)),
|
||||
({"test": ["with a", {"set", "of", "stuff"}]}, "test.1", "delete", "", {"test": ["with a"]})
|
||||
(['this', 'is', 'a', 'test'], '1', 'delete', None, ['this', 'a', 'test']),
|
||||
(['this', 'is', 'a', 'test'], '1', '', None, ['this', None, 'a', 'test']),
|
||||
({'now': 'with', 'a': 'dict'}, 'now', 'delete', None, {'a': 'dict'}),
|
||||
({'now': 'with', 'a': 'dict'}, 'now', '', None, {'now': None, 'a': 'dict'}),
|
||||
({'depth': {'is': 'important'}}, 'depth.is', '', 'nonexistent', {'depth': {'is': 'nonexistent'}}),
|
||||
([{'test': ['stuff']}], '0.test.0', '', 'things', [{'test': ['things']}]),
|
||||
(({'test': {'with': ['a', 'tuple']}},), '0.test.with.0', 'delete', '', ({'test': {'with': ['tuple']}},)),
|
||||
({'test': ['with a', {'set', 'of', 'stuff'}]}, 'test.1', 'delete', '', {'test': ['with a']})
|
||||
],
|
||||
)
|
||||
def test_deep_get(source: UPDATABLE_DATA, key: str, action: str, to_set: Any, result: UPDATABLE_DATA) -> None:
|
||||
"""Test _deep_get behaves as expected."""
|
||||
cpy = copy.deepcopy(source)
|
||||
killswitch._deep_apply(target=cpy, path=key, to_set=to_set, delete=action == "delete")
|
||||
killswitch._deep_apply(target=cpy, path=key, to_set=to_set, delete=action == 'delete')
|
||||
assert cpy == result
|
||||
|
Loading…
x
Reference in New Issue
Block a user