Comment out pclist (#407)
This commit is contained in:
parent
0e48ceda21
commit
e578956b0c
@ -90,7 +90,7 @@ class State(Base, ABC):
|
|||||||
Primarily for mutation in fields of mutable data types.
|
Primarily for mutation in fields of mutable data types.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
field_name (str): The name of the field we want to reassign
|
field_name: The name of the field we want to reassign
|
||||||
"""
|
"""
|
||||||
setattr(
|
setattr(
|
||||||
self,
|
self,
|
||||||
@ -287,9 +287,9 @@ class State(Base, ABC):
|
|||||||
defined statically in the model.
|
defined statically in the model.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
name (str): The name of the variable
|
name: The name of the variable
|
||||||
type_ (Any): The type of the variable
|
type_: The type of the variable
|
||||||
default_value (Any): The default value of the variable
|
default_value: The default value of the variable
|
||||||
|
|
||||||
Raises:
|
Raises:
|
||||||
NameError: if a variable of this name already exists
|
NameError: if a variable of this name already exists
|
||||||
@ -688,17 +688,19 @@ def _convert_mutable_datatypes(
|
|||||||
Returns:
|
Returns:
|
||||||
The converted field_value
|
The converted field_value
|
||||||
"""
|
"""
|
||||||
if isinstance(field_value, list):
|
# TODO: The PCList class needs to be pickleable to work with Redis.
|
||||||
for index in range(len(field_value)):
|
# We will uncomment this code once this is fixed.
|
||||||
field_value[index] = _convert_mutable_datatypes(
|
# if isinstance(field_value, list):
|
||||||
field_value[index], reassign_field, field_name
|
# for index in range(len(field_value)):
|
||||||
)
|
# field_value[index] = _convert_mutable_datatypes(
|
||||||
|
# field_value[index], reassign_field, field_name
|
||||||
|
# )
|
||||||
|
|
||||||
field_value = PCList(
|
# field_value = PCList(
|
||||||
field_value, reassign_field=reassign_field, field_name=field_name
|
# field_value, reassign_field=reassign_field, field_name=field_name
|
||||||
)
|
# )
|
||||||
|
|
||||||
elif isinstance(field_value, dict):
|
if isinstance(field_value, dict):
|
||||||
for key, value in field_value.items():
|
for key, value in field_value.items():
|
||||||
field_value[key] = _convert_mutable_datatypes(
|
field_value[key] = _convert_mutable_datatypes(
|
||||||
value, reassign_field, field_name
|
value, reassign_field, field_name
|
||||||
|
@ -1316,7 +1316,7 @@ def is_backend_variable(name: str) -> bool:
|
|||||||
"""Check if this variable name correspond to a backend variable.
|
"""Check if this variable name correspond to a backend variable.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
name (str): The name of the variable to check
|
name: The name of the variable to check
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
bool: The result of the check
|
bool: The result of the check
|
||||||
|
@ -222,119 +222,119 @@ def list_mutation_state():
|
|||||||
return TestState()
|
return TestState()
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.asyncio
|
# @pytest.mark.asyncio
|
||||||
@pytest.mark.parametrize(
|
# @pytest.mark.parametrize(
|
||||||
"event_tuples",
|
# "event_tuples",
|
||||||
[
|
# [
|
||||||
pytest.param(
|
# pytest.param(
|
||||||
[
|
# [
|
||||||
(
|
# (
|
||||||
"test_state.make_friend",
|
# "test_state.make_friend",
|
||||||
{"test_state": {"plain_friends": ["Tommy", "another-fd"]}},
|
# {"test_state": {"plain_friends": ["Tommy", "another-fd"]}},
|
||||||
),
|
# ),
|
||||||
(
|
# (
|
||||||
"test_state.change_first_friend",
|
# "test_state.change_first_friend",
|
||||||
{"test_state": {"plain_friends": ["Jenny", "another-fd"]}},
|
# {"test_state": {"plain_friends": ["Jenny", "another-fd"]}},
|
||||||
),
|
# ),
|
||||||
],
|
# ],
|
||||||
id="append then __setitem__",
|
# id="append then __setitem__",
|
||||||
),
|
# ),
|
||||||
pytest.param(
|
# pytest.param(
|
||||||
[
|
# [
|
||||||
(
|
# (
|
||||||
"test_state.unfriend_first_friend",
|
# "test_state.unfriend_first_friend",
|
||||||
{"test_state": {"plain_friends": []}},
|
# {"test_state": {"plain_friends": []}},
|
||||||
),
|
# ),
|
||||||
(
|
# (
|
||||||
"test_state.make_friend",
|
# "test_state.make_friend",
|
||||||
{"test_state": {"plain_friends": ["another-fd"]}},
|
# {"test_state": {"plain_friends": ["another-fd"]}},
|
||||||
),
|
# ),
|
||||||
],
|
# ],
|
||||||
id="delitem then append",
|
# id="delitem then append",
|
||||||
),
|
# ),
|
||||||
pytest.param(
|
# pytest.param(
|
||||||
[
|
# [
|
||||||
(
|
# (
|
||||||
"test_state.make_friends_with_colleagues",
|
# "test_state.make_friends_with_colleagues",
|
||||||
{"test_state": {"plain_friends": ["Tommy", "Peter", "Jimmy"]}},
|
# {"test_state": {"plain_friends": ["Tommy", "Peter", "Jimmy"]}},
|
||||||
),
|
# ),
|
||||||
(
|
# (
|
||||||
"test_state.remove_tommy",
|
# "test_state.remove_tommy",
|
||||||
{"test_state": {"plain_friends": ["Peter", "Jimmy"]}},
|
# {"test_state": {"plain_friends": ["Peter", "Jimmy"]}},
|
||||||
),
|
# ),
|
||||||
(
|
# (
|
||||||
"test_state.remove_last_friend",
|
# "test_state.remove_last_friend",
|
||||||
{"test_state": {"plain_friends": ["Peter"]}},
|
# {"test_state": {"plain_friends": ["Peter"]}},
|
||||||
),
|
# ),
|
||||||
(
|
# (
|
||||||
"test_state.unfriend_all_friends",
|
# "test_state.unfriend_all_friends",
|
||||||
{"test_state": {"plain_friends": []}},
|
# {"test_state": {"plain_friends": []}},
|
||||||
),
|
# ),
|
||||||
],
|
# ],
|
||||||
id="extend, remove, pop, clear",
|
# id="extend, remove, pop, clear",
|
||||||
),
|
# ),
|
||||||
pytest.param(
|
# pytest.param(
|
||||||
[
|
# [
|
||||||
(
|
# (
|
||||||
"test_state.add_jimmy_to_second_group",
|
# "test_state.add_jimmy_to_second_group",
|
||||||
{
|
# {
|
||||||
"test_state": {
|
# "test_state": {
|
||||||
"friends_in_nested_list": [["Tommy"], ["Jenny", "Jimmy"]]
|
# "friends_in_nested_list": [["Tommy"], ["Jenny", "Jimmy"]]
|
||||||
}
|
# }
|
||||||
},
|
# },
|
||||||
),
|
# ),
|
||||||
(
|
# (
|
||||||
"test_state.remove_first_person_from_first_group",
|
# "test_state.remove_first_person_from_first_group",
|
||||||
{
|
# {
|
||||||
"test_state": {
|
# "test_state": {
|
||||||
"friends_in_nested_list": [[], ["Jenny", "Jimmy"]]
|
# "friends_in_nested_list": [[], ["Jenny", "Jimmy"]]
|
||||||
}
|
# }
|
||||||
},
|
# },
|
||||||
),
|
# ),
|
||||||
(
|
# (
|
||||||
"test_state.remove_first_group",
|
# "test_state.remove_first_group",
|
||||||
{"test_state": {"friends_in_nested_list": [["Jenny", "Jimmy"]]}},
|
# {"test_state": {"friends_in_nested_list": [["Jenny", "Jimmy"]]}},
|
||||||
),
|
# ),
|
||||||
],
|
# ],
|
||||||
id="nested list",
|
# id="nested list",
|
||||||
),
|
# ),
|
||||||
pytest.param(
|
# pytest.param(
|
||||||
[
|
# [
|
||||||
(
|
# (
|
||||||
"test_state.add_jimmy_to_tommy_friends",
|
# "test_state.add_jimmy_to_tommy_friends",
|
||||||
{"test_state": {"friends_in_dict": {"Tommy": ["Jenny", "Jimmy"]}}},
|
# {"test_state": {"friends_in_dict": {"Tommy": ["Jenny", "Jimmy"]}}},
|
||||||
),
|
# ),
|
||||||
(
|
# (
|
||||||
"test_state.remove_jenny_from_tommy",
|
# "test_state.remove_jenny_from_tommy",
|
||||||
{"test_state": {"friends_in_dict": {"Tommy": ["Jimmy"]}}},
|
# {"test_state": {"friends_in_dict": {"Tommy": ["Jimmy"]}}},
|
||||||
),
|
# ),
|
||||||
(
|
# (
|
||||||
"test_state.tommy_has_no_fds",
|
# "test_state.tommy_has_no_fds",
|
||||||
{"test_state": {"friends_in_dict": {"Tommy": []}}},
|
# {"test_state": {"friends_in_dict": {"Tommy": []}}},
|
||||||
),
|
# ),
|
||||||
],
|
# ],
|
||||||
id="list in dict",
|
# id="list in dict",
|
||||||
),
|
# ),
|
||||||
],
|
# ],
|
||||||
)
|
# )
|
||||||
async def test_list_mutation_detection__plain_list(
|
# async def test_list_mutation_detection__plain_list(
|
||||||
event_tuples: List[Tuple[str, List[str]]], list_mutation_state: State
|
# event_tuples: List[Tuple[str, List[str]]], list_mutation_state: State
|
||||||
):
|
# ):
|
||||||
"""Test list mutation detection
|
# """Test list mutation detection
|
||||||
when reassignment is not explicitly included in the logic.
|
# when reassignment is not explicitly included in the logic.
|
||||||
|
|
||||||
Args:
|
# Args:
|
||||||
event_tuples: From parametrization.
|
# event_tuples: From parametrization.
|
||||||
list_mutation_state: A state with list mutation features.
|
# list_mutation_state: A state with list mutation features.
|
||||||
"""
|
# """
|
||||||
for event_name, expected_delta in event_tuples:
|
# for event_name, expected_delta in event_tuples:
|
||||||
result = await list_mutation_state.process(
|
# result = await list_mutation_state.process(
|
||||||
Event(
|
# Event(
|
||||||
token="fake-token",
|
# token="fake-token",
|
||||||
name=event_name,
|
# name=event_name,
|
||||||
router_data={"pathname": "/", "query": {}},
|
# router_data={"pathname": "/", "query": {}},
|
||||||
payload={},
|
# payload={},
|
||||||
)
|
# )
|
||||||
)
|
# )
|
||||||
|
|
||||||
assert result.delta == expected_delta
|
# assert result.delta == expected_delta
|
||||||
|
Loading…
Reference in New Issue
Block a user