Skip to content

Commit fb58145

Browse files
committed
tests: Add a test for custom application user agent
Signed-off-by: Jussi Kukkonen <jkukkonen@google.com>
1 parent fe20686 commit fb58145

1 file changed

Lines changed: 25 additions & 6 deletions

File tree

tests/test_updater_ng.py

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
from securesystemslib.signer import SSlibSigner
1919

2020
from tests import utils
21-
from tuf import ngclient
2221
from tuf.api import exceptions
2322
from tuf.api.metadata import (
2423
Metadata,
@@ -28,6 +27,7 @@
2827
Targets,
2928
Timestamp,
3029
)
30+
from tuf.ngclient import Updater, UpdaterConfig
3131

3232
logger = logging.getLogger(__name__)
3333

@@ -107,7 +107,7 @@ def setUp(self) -> None:
107107
self.dl_dir = tempfile.mkdtemp(dir=self.tmp_test_dir)
108108
# Creating a repository instance. The test cases will use this client
109109
# updater to refresh metadata, fetch target files, etc.
110-
self.updater = ngclient.Updater(
110+
self.updater = Updater(
111111
metadata_dir=self.client_directory,
112112
metadata_base_url=self.metadata_url,
113113
target_dir=self.dl_dir,
@@ -242,16 +242,14 @@ def test_implicit_refresh_with_only_local_root(self) -> None:
242242

243243
def test_both_target_urls_not_set(self) -> None:
244244
# target_base_url = None and Updater._target_base_url = None
245-
updater = ngclient.Updater(
246-
self.client_directory, self.metadata_url, self.dl_dir
247-
)
245+
updater = Updater(self.client_directory, self.metadata_url, self.dl_dir)
248246
info = TargetFile(1, {"sha256": ""}, "targetpath")
249247
with self.assertRaises(ValueError):
250248
updater.download_target(info)
251249

252250
def test_no_target_dir_no_filepath(self) -> None:
253251
# filepath = None and Updater.target_dir = None
254-
updater = ngclient.Updater(self.client_directory, self.metadata_url)
252+
updater = Updater(self.client_directory, self.metadata_url)
255253
info = TargetFile(1, {"sha256": ""}, "targetpath")
256254
with self.assertRaises(ValueError):
257255
updater.find_cached_target(info)
@@ -323,6 +321,27 @@ def test_non_existing_target_file(self) -> None:
323321
with self.assertRaises(exceptions.DownloadHTTPError):
324322
self.updater.download_target(info)
325323

324+
def test_user_agent(self) -> None:
325+
# test default
326+
self.updater.refresh()
327+
session = next(iter(self.updater._fetcher._sessions.values()))
328+
ua = session.headers["User-Agent"]
329+
self.assertEqual(ua[:4], "tuf/")
330+
331+
# test custom UA
332+
updater = Updater(
333+
self.client_directory,
334+
self.metadata_url,
335+
self.dl_dir,
336+
self.targets_url,
337+
config=UpdaterConfig(app_user_agent="MyApp/1.2.3"),
338+
)
339+
updater.refresh()
340+
session = next(iter(updater._fetcher._sessions.values()))
341+
ua = session.headers["User-Agent"]
342+
343+
self.assertEqual(ua[:16], "MyApp/1.2.3 tuf/")
344+
326345

327346
if __name__ == "__main__":
328347
utils.configure_test_logging(sys.argv)

0 commit comments

Comments
 (0)