mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-08-11 00:30:12 -04:00
Stop the Bambu Cloud TOTP tests reaching the network
verify_totp fetches a CSRF token from the bambulab.com web origin before posting the code (#2696) and returns early when it cannot get one. These tests patch only post, so the pre-flight GET went out for real: it succeeded wherever bambulab.com was reachable and returned a tokenless 403 on a CI runner, where six tests then asserted on a post that never happened. Stub the handshake for the module. It is covered end to end, no-token path included, in tests/unit/test_cloud_totp_csrf.py.
This commit is contained in:
parent
3da4eee16e
commit
6484fddc1a
1 changed files with 21 additions and 0 deletions
|
|
@ -7,6 +7,27 @@ import pytest
|
|||
from backend.app.services.bambu_cloud import BambuCloudService
|
||||
|
||||
|
||||
@pytest.fixture(autouse=True)
|
||||
def _stub_csrf_handshake():
|
||||
"""Keep the CSRF pre-flight off the network for every test in this module.
|
||||
|
||||
``verify_totp`` fetches a CSRF token from the ``bambulab.com`` web origin
|
||||
before posting the code (#2696), and returns early without posting when it
|
||||
cannot get one. The tests below patch only ``post``, so that GET went out
|
||||
over the real network: it succeeded on any machine that could reach
|
||||
bambulab.com — which is why this file passed locally — and returned a
|
||||
tokenless 403 on a CI runner, where six tests then failed asserting on a
|
||||
``post`` that never happened.
|
||||
|
||||
The handshake itself is covered end to end in
|
||||
``tests/unit/test_cloud_totp_csrf.py``, including the no-token path, so
|
||||
stubbing it here removes a network dependency rather than any coverage.
|
||||
"""
|
||||
with patch.object(BambuCloudService, "_fetch_csrf_token", new_callable=AsyncMock) as fetch:
|
||||
fetch.return_value = "csrf-token-for-tests"
|
||||
yield fetch
|
||||
|
||||
|
||||
class TestBambuCloudLogin:
|
||||
"""Test login flow detection (email vs TOTP)."""
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue