|
@@ -33,7 +33,7 @@ from reflex.state import (
|
|
StateUpdate,
|
|
StateUpdate,
|
|
_substate_key,
|
|
_substate_key,
|
|
)
|
|
)
|
|
-from reflex.utils import prerequisites, types
|
|
|
|
|
|
+from reflex.utils import format, prerequisites, types
|
|
from reflex.utils.format import json_dumps
|
|
from reflex.utils.format import json_dumps
|
|
from reflex.vars import BaseVar, ComputedVar
|
|
from reflex.vars import BaseVar, ComputedVar
|
|
|
|
|
|
@@ -788,94 +788,69 @@ async def test_process_event_generator():
|
|
assert count == 6
|
|
assert count == 6
|
|
|
|
|
|
|
|
|
|
-def test_get_token(test_state, mocker, router_data):
|
|
|
|
|
|
+def test_get_client_token(test_state, router_data):
|
|
"""Test that the token obtained from the router_data is correct.
|
|
"""Test that the token obtained from the router_data is correct.
|
|
|
|
|
|
Args:
|
|
Args:
|
|
test_state: The test state.
|
|
test_state: The test state.
|
|
- mocker: Pytest Mocker object.
|
|
|
|
router_data: The router data fixture.
|
|
router_data: The router data fixture.
|
|
"""
|
|
"""
|
|
- mocker.patch.object(test_state, "router_data", router_data)
|
|
|
|
-
|
|
|
|
- assert test_state.get_token() == "b181904c-3953-4a79-dc18-ae9518c22f05"
|
|
|
|
|
|
+ test_state.router = RouterData(router_data)
|
|
|
|
+ assert (
|
|
|
|
+ test_state.router.session.client_token == "b181904c-3953-4a79-dc18-ae9518c22f05"
|
|
|
|
+ )
|
|
|
|
|
|
|
|
|
|
-def test_get_sid(test_state, mocker, router_data):
|
|
|
|
|
|
+def test_get_sid(test_state, router_data):
|
|
"""Test getting session id.
|
|
"""Test getting session id.
|
|
|
|
|
|
Args:
|
|
Args:
|
|
test_state: A state.
|
|
test_state: A state.
|
|
- mocker: Pytest Mocker object.
|
|
|
|
router_data: The router data fixture.
|
|
router_data: The router data fixture.
|
|
"""
|
|
"""
|
|
- mocker.patch.object(test_state, "router_data", router_data)
|
|
|
|
|
|
+ test_state.router = RouterData(router_data)
|
|
|
|
+ assert test_state.router.session.session_id == "9fpxSzPb9aFMb4wFAAAH"
|
|
|
|
|
|
- assert test_state.get_sid() == "9fpxSzPb9aFMb4wFAAAH"
|
|
|
|
|
|
|
|
-
|
|
|
|
-def test_get_headers(test_state, mocker, router_data, router_data_headers):
|
|
|
|
|
|
+def test_get_headers(test_state, router_data, router_data_headers):
|
|
"""Test getting client headers.
|
|
"""Test getting client headers.
|
|
|
|
|
|
Args:
|
|
Args:
|
|
test_state: A state.
|
|
test_state: A state.
|
|
- mocker: Pytest Mocker object.
|
|
|
|
router_data: The router data fixture.
|
|
router_data: The router data fixture.
|
|
router_data_headers: The expected headers.
|
|
router_data_headers: The expected headers.
|
|
"""
|
|
"""
|
|
- mocker.patch.object(test_state, "router_data", router_data)
|
|
|
|
-
|
|
|
|
- assert test_state.get_headers() == router_data_headers
|
|
|
|
|
|
+ test_state.router = RouterData(router_data)
|
|
|
|
+ assert test_state.router.headers.dict() == {
|
|
|
|
+ format.to_snake_case(k): v for k, v in router_data_headers.items()
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
-def test_get_client_ip(test_state, mocker, router_data):
|
|
|
|
|
|
+def test_get_client_ip(test_state, router_data):
|
|
"""Test getting client IP.
|
|
"""Test getting client IP.
|
|
|
|
|
|
Args:
|
|
Args:
|
|
test_state: A state.
|
|
test_state: A state.
|
|
- mocker: Pytest Mocker object.
|
|
|
|
router_data: The router data fixture.
|
|
router_data: The router data fixture.
|
|
"""
|
|
"""
|
|
- mocker.patch.object(test_state, "router_data", router_data)
|
|
|
|
-
|
|
|
|
- assert test_state.get_client_ip() == "127.0.0.1"
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-def test_get_cookies(test_state, mocker, router_data):
|
|
|
|
- """Test getting client cookies.
|
|
|
|
-
|
|
|
|
- Args:
|
|
|
|
- test_state: A state.
|
|
|
|
- mocker: Pytest Mocker object.
|
|
|
|
- router_data: The router data fixture.
|
|
|
|
- """
|
|
|
|
- mocker.patch.object(test_state, "router_data", router_data)
|
|
|
|
-
|
|
|
|
- assert test_state.get_cookies() == {
|
|
|
|
- "csrftoken": "mocktoken",
|
|
|
|
- "name": "reflex",
|
|
|
|
- "list_cookies": ["some", "random", "cookies"],
|
|
|
|
- "dict_cookies": {"name": "reflex"},
|
|
|
|
- "val": True,
|
|
|
|
- }
|
|
|
|
|
|
+ test_state.router = RouterData(router_data)
|
|
|
|
+ assert test_state.router.session.client_ip == "127.0.0.1"
|
|
|
|
|
|
|
|
|
|
def test_get_current_page(test_state):
|
|
def test_get_current_page(test_state):
|
|
- assert test_state.get_current_page() == ""
|
|
|
|
|
|
+ assert test_state.router.page.path == ""
|
|
|
|
|
|
route = "mypage/subpage"
|
|
route = "mypage/subpage"
|
|
test_state.router = RouterData({RouteVar.PATH: route})
|
|
test_state.router = RouterData({RouteVar.PATH: route})
|
|
-
|
|
|
|
- assert test_state.get_current_page() == route
|
|
|
|
|
|
+ assert test_state.router.page.path == route
|
|
|
|
|
|
|
|
|
|
def test_get_query_params(test_state):
|
|
def test_get_query_params(test_state):
|
|
- assert test_state.get_query_params() == {}
|
|
|
|
|
|
+ assert test_state.router.page.params == {}
|
|
|
|
|
|
params = {"p1": "a", "p2": "b"}
|
|
params = {"p1": "a", "p2": "b"}
|
|
- test_state.router_data = {RouteVar.QUERY: params}
|
|
|
|
-
|
|
|
|
- assert test_state.get_query_params() == params
|
|
|
|
|
|
+ test_state.router = RouterData({RouteVar.QUERY: params})
|
|
|
|
+ assert dict(test_state.router.page.params) == params
|
|
|
|
|
|
|
|
|
|
def test_add_var():
|
|
def test_add_var():
|
|
@@ -1723,7 +1698,9 @@ async def test_state_proxy(grandchild_state: GrandchildState, mock_app: rx.App):
|
|
parent_state = child_state.parent_state
|
|
parent_state = child_state.parent_state
|
|
assert parent_state is not None
|
|
assert parent_state is not None
|
|
if isinstance(mock_app.state_manager, StateManagerMemory):
|
|
if isinstance(mock_app.state_manager, StateManagerMemory):
|
|
- mock_app.state_manager.states[parent_state.get_token()] = parent_state
|
|
|
|
|
|
+ mock_app.state_manager.states[
|
|
|
|
+ parent_state.router.session.client_token
|
|
|
|
+ ] = parent_state
|
|
|
|
|
|
sp = StateProxy(grandchild_state)
|
|
sp = StateProxy(grandchild_state)
|
|
assert sp.__wrapped__ == grandchild_state
|
|
assert sp.__wrapped__ == grandchild_state
|
|
@@ -1802,7 +1779,7 @@ async def test_state_proxy(grandchild_state: GrandchildState, mock_app: rx.App):
|
|
},
|
|
},
|
|
}
|
|
}
|
|
)
|
|
)
|
|
- assert mcall.kwargs["to"] == grandchild_state.get_sid()
|
|
|
|
|
|
+ assert mcall.kwargs["to"] == grandchild_state.router.session.session_id
|
|
|
|
|
|
|
|
|
|
class BackgroundTaskState(BaseState):
|
|
class BackgroundTaskState(BaseState):
|