@@ -44,14 +44,14 @@ async def test_ap_object(
4444 # Create an async mock that can return different values for different calls
4545 mock_request_json = AsyncMock (
4646 side_effect = [
47- {}, # First call for login()
48- fixture_data , # Second call for status()
47+ fixture_data , # status()
4948 ]
5049 )
5150
5251 with (
5352 # Patch the internal method, not the session object
5453 patch .object (airos6_device , "_request_json" , new = mock_request_json ),
54+ patch .object (airos6_device , "login" , new = AsyncMock ()),
5555 # You need to manually set the connected state since login() is mocked
5656 patch .object (airos6_device , "connected" , True ),
5757 ):
@@ -70,7 +70,7 @@ async def test_ap_object(
7070
7171
7272@pytest .mark .asyncio
73- async def test_login_v6_flow () -> None :
73+ async def test_login_v6_flow (base_url : str ) -> None :
7474 """Test AirOS v6 XM login flow with manual cookie handling."""
7575
7676 # Create a mock session
@@ -93,7 +93,7 @@ async def test_login_v6_flow() -> None:
9393 get_index_response = MagicMock ()
9494 get_index_response .__aenter__ .return_value = get_index_response
9595 get_index_response .status = 200
96- get_index_response .url = "http://192.168.1.3 /index.cgi"
96+ get_index_response .url = f" { base_url } /index.cgi"
9797
9898 # Set side effects for session.request
9999 session .request .side_effect = [
@@ -104,16 +104,18 @@ async def test_login_v6_flow() -> None:
104104
105105 # Create device
106106 airos6_device = AirOS6 (
107- host = "http://192.168.1.3" ,
107+ host = base_url ,
108108 username = "ubnt" ,
109109 password = "ubnt" ,
110110 session = session ,
111111 )
112112
113- await airos6_device ._login_v6 () # noqa: SLF001
113+ await airos6_device .login ()
114114
115115 # Assertions
116116 assert airos6_device .connected is True
117117 assert airos6_device .api_version == 6
118118 assert airos6_device ._auth_cookie == "AIROS_ABC123=xyz789" # noqa: SLF001
119119 assert session .request .call_count == 3
120+ called_urls = [call .args [1 ] for call in session .request .call_args_list ]
121+ assert f"{ base_url } /api/auth" not in called_urls
0 commit comments