@@ -91,7 +91,7 @@ def mock_stream_file(**kwargs):
9191 assert headers is not None
9292 user_agent = headers .get ("User-Agent" )
9393 assert isinstance (user_agent , str )
94- assert user_agent .startswith (PROJECT_NAME )
94+ assert user_agent .startswith (f" { PROJECT_NAME } /" )
9595 assert user_agent .endswith (f"({ CONTACT } )" )
9696
9797 monkeypatch .setattr (
@@ -103,6 +103,23 @@ def mock_stream_file(**kwargs):
103103 handle_user_provided_file (source = valid_http_url )
104104
105105
106+ def test_remote_provided_user_agent (valid_http_url , valid_user_agent , monkeypatch ):
107+ def mock_stream_file (** kwargs ):
108+ headers = kwargs .get ("headers" )
109+ assert headers is not None
110+ user_agent = headers .get ("User-Agent" )
111+ assert isinstance (user_agent , str )
112+ assert user_agent == valid_user_agent
113+
114+ monkeypatch .setattr (
115+ zimscraperlib .inputs , # pyright: ignore[reportAttributeAccessIssue]
116+ "stream_file" ,
117+ mock_stream_file ,
118+ raising = True ,
119+ )
120+ handle_user_provided_file (source = valid_http_url , user_agent = valid_user_agent )
121+
122+
106123def test_remote_provided_none_user_agent (valid_http_url , monkeypatch ):
107124 def mock_stream_file (** kwargs ):
108125 assert kwargs .get ("headers" ) is None
0 commit comments