fix(pl): keep driver/site tokens stable on rearrange.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
2a9cc6084b
commit
4e3c2a9ffb
2 files changed
+31
-3
No files matched your search
@@ -64,7 +64,6 @@ from app.services.pl_transport_stop_feedback_service import (
|
||||
ensure_transport_site_token,
|
||||
load_driver_stop_segments,
|
||||
load_site_stop_segments,
|
||||
rotate_transport_site_token,
|
||||
)
|
||||
from app.services.pl_inventory_link_read import build_transport_inventory_link_read
|
||||
from app.services.pl_io_order_service import (
|
||||
@@ -882,9 +881,9 @@ def arrange_transport(
|
||||
needs_site_link = plan_requires_site_link(db, tenant_no=tenant_no, plan=plan)
|
||||
|
||||
if is_rearrange:
|
||||
_rotate_driver_access_token(transport)
|
||||
_ensure_driver_access_token(transport)
|
||||
if needs_site_link and plan_has_load_stop(db, tenant_no, plan.id):
|
||||
rotate_transport_site_token(transport)
|
||||
ensure_transport_site_token(transport)
|
||||
elif not needs_site_link:
|
||||
transport.site_access_token = None
|
||||
if plan.plan_type in ("inbound", "outbound"):
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
"""调整运输默认不 rotate 司机/现场 token"""
|
||||
from app.api.pl import transport as transport_api
|
||||
from app.models.pl_models import PlTransport
|
||||
from app.services.pl_transport_stop_feedback_service import ensure_transport_site_token
|
||||
|
||||
|
||||
def test_ensure_driver_access_token_keeps_existing():
|
||||
transport = PlTransport(id="tr-1", driver_access_token="driver-token-keep")
|
||||
assert transport_api._ensure_driver_access_token(transport) == "driver-token-keep"
|
||||
assert transport.driver_access_token == "driver-token-keep"
|
||||
|
||||
|
||||
def test_ensure_site_token_keeps_existing():
|
||||
transport = PlTransport(id="tr-1", site_access_token="site-token-keep")
|
||||
assert ensure_transport_site_token(transport) == "site-token-keep"
|
||||
assert transport.site_access_token == "site-token-keep"
|
||||
|
||||
|
||||
def test_rearrange_branch_uses_ensure_not_rotate():
|
||||
"""政策:调整运输走 ensure;_rotate_* 仅保留备用,安排路径不再调用。"""
|
||||
source = open(transport_api.__file__, encoding="utf-8").read()
|
||||
arrange_idx = source.find("def arrange_transport")
|
||||
assert arrange_idx > 0
|
||||
# 截取安排函数前段(含 token 分支)
|
||||
snippet = source[arrange_idx : arrange_idx + 12000]
|
||||
assert "_ensure_driver_access_token(transport)" in snippet
|
||||
assert "ensure_transport_site_token(transport)" in snippet
|
||||
assert "_rotate_driver_access_token(transport)" not in snippet
|
||||
assert "rotate_transport_site_token(transport)" not in snippet
|
||||
Reference in new issue
Block a user