basyx commited on
Commit
de27831
·
verified ·
1 Parent(s): c8471e4

test: validate signed media URL capability

Browse files
Files changed (1) hide show
  1. tests/test_media_url_signer.py +26 -0
tests/test_media_url_signer.py ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from __future__ import annotations
2
+
3
+ from app.services.media_url_signer import MediaURLSigner
4
+
5
+
6
+ def test_signed_media_url_round_trip(settings) -> None:
7
+ settings.media_signing_secret = "a" * 32
8
+ settings.base_url = "https://media.example"
9
+ signer = MediaURLSigner(settings)
10
+ url = signer.sign("123e4567-e89b-12d3-a456-426614174000", "clip.mp4", ttl=3600)
11
+ assert url is not None
12
+ from urllib.parse import parse_qs, urlparse
13
+ parsed = urlparse(url)
14
+ params = parse_qs(parsed.query)
15
+ assert signer.verify(
16
+ "123e4567-e89b-12d3-a456-426614174000",
17
+ "clip.mp4",
18
+ int(params["expires"][0]),
19
+ params["signature"][0],
20
+ )
21
+ assert not signer.verify(
22
+ "123e4567-e89b-12d3-a456-426614174000",
23
+ "other.mp4",
24
+ int(params["expires"][0]),
25
+ params["signature"][0],
26
+ )