mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-07-14 16:01:13 +03:00
Cleanup
This commit is contained in:
parent
39d522eadb
commit
c8f38cef9e
@ -163,9 +163,7 @@ def _resolve_export(
|
|||||||
return MediaAuthResolution.UNKNOWN, None
|
return MediaAuthResolution.UNKNOWN, None
|
||||||
|
|
||||||
|
|
||||||
def check_camera_access(
|
def check_camera_access(role: str, camera: str, frigate_config: FrigateConfig) -> bool:
|
||||||
role: str, camera: str, frigate_config: FrigateConfig
|
|
||||||
) -> bool:
|
|
||||||
"""Return True iff `role` may access `camera`.
|
"""Return True iff `role` may access `camera`.
|
||||||
|
|
||||||
Mirrors the gating logic in `require_camera_access`: admin and any role
|
Mirrors the gating logic in `require_camera_access`: admin and any role
|
||||||
|
|||||||
@ -130,9 +130,7 @@ class TestResolveMediaUri(unittest.TestCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def test_clip_filename_no_matching_camera(self):
|
def test_clip_filename_no_matching_camera(self):
|
||||||
self._assert(
|
self._assert("/clips/nonexistent-1234.jpg", MediaAuthResolution.UNKNOWN)
|
||||||
"/clips/nonexistent-1234.jpg", MediaAuthResolution.UNKNOWN
|
|
||||||
)
|
|
||||||
|
|
||||||
def test_clip_thumbs(self):
|
def test_clip_thumbs(self):
|
||||||
self._assert("/clips/thumbs/", MediaAuthResolution.LISTING_MULTI_CAMERA)
|
self._assert("/clips/thumbs/", MediaAuthResolution.LISTING_MULTI_CAMERA)
|
||||||
@ -235,26 +233,18 @@ class TestDenyResponseForMediaUri(unittest.TestCase):
|
|||||||
self.assertIsNone(self._deny("/clips/", "viewer"))
|
self.assertIsNone(self._deny("/clips/", "viewer"))
|
||||||
|
|
||||||
def test_restricted_role_allowed_camera(self):
|
def test_restricted_role_allowed_camera(self):
|
||||||
|
self.assertIsNone(self._deny("/clips/front_door-1.jpg", "limited_user"))
|
||||||
self.assertIsNone(
|
self.assertIsNone(
|
||||||
self._deny("/clips/front_door-1.jpg", "limited_user")
|
self._deny("/recordings/2026-05-11/14/front_door/00.00.mp4", "limited_user")
|
||||||
)
|
|
||||||
self.assertIsNone(
|
|
||||||
self._deny(
|
|
||||||
"/recordings/2026-05-11/14/front_door/00.00.mp4", "limited_user"
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
self.assertIsNone(
|
self.assertIsNone(
|
||||||
self._deny("/clips/thumbs/front_door/abc.webp", "limited_user")
|
self._deny("/clips/thumbs/front_door/abc.webp", "limited_user")
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_restricted_role_blocked_other_camera(self):
|
def test_restricted_role_blocked_other_camera(self):
|
||||||
|
self.assertEqual(self._deny("/clips/back_door-1.jpg", "limited_user"), 403)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
self._deny("/clips/back_door-1.jpg", "limited_user"), 403
|
self._deny("/recordings/2026-05-11/14/back_door/00.00.mp4", "limited_user"),
|
||||||
)
|
|
||||||
self.assertEqual(
|
|
||||||
self._deny(
|
|
||||||
"/recordings/2026-05-11/14/back_door/00.00.mp4", "limited_user"
|
|
||||||
),
|
|
||||||
403,
|
403,
|
||||||
)
|
)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
@ -262,16 +252,12 @@ class TestDenyResponseForMediaUri(unittest.TestCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def test_restricted_role_blocked_admin_only(self):
|
def test_restricted_role_blocked_admin_only(self):
|
||||||
self.assertEqual(
|
self.assertEqual(self._deny("/clips/faces/train/foo.webp", "limited_user"), 403)
|
||||||
self._deny("/clips/faces/train/foo.webp", "limited_user"), 403
|
|
||||||
)
|
|
||||||
|
|
||||||
def test_restricted_role_blocked_multi_camera_listing(self):
|
def test_restricted_role_blocked_multi_camera_listing(self):
|
||||||
self.assertEqual(self._deny("/clips/", "limited_user"), 403)
|
self.assertEqual(self._deny("/clips/", "limited_user"), 403)
|
||||||
self.assertEqual(self._deny("/exports/", "limited_user"), 403)
|
self.assertEqual(self._deny("/exports/", "limited_user"), 403)
|
||||||
self.assertEqual(
|
self.assertEqual(self._deny("/recordings/2026-05-11/14/", "limited_user"), 403)
|
||||||
self._deny("/recordings/2026-05-11/14/", "limited_user"), 403
|
|
||||||
)
|
|
||||||
|
|
||||||
def test_restricted_role_allowed_neutral_listing(self):
|
def test_restricted_role_allowed_neutral_listing(self):
|
||||||
self.assertIsNone(self._deny("/recordings/", "limited_user"))
|
self.assertIsNone(self._deny("/recordings/", "limited_user"))
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user