@@ -36,12 +36,33 @@ def test_load_auto_approved_user_ids_loads_user_ids(tmp_path):
3636 assert auto_approved_user_ids == frozenset ({'42013603' , '88998541' })
3737
3838
39- def test_root_auto_approved_users_file_contains_expected_user_ids ():
39+ def test_root_auto_approved_users_file_is_valid_allowlist ():
40+ auto_approved_users_file = REPOSITORY_ROOT / queue_eligibility .AUTO_APPROVED_USERS_FILE
41+ auto_approved_users = json .loads (auto_approved_users_file .read_text (encoding = 'utf-8' ))
42+
43+ assert isinstance (auto_approved_users , list )
44+ assert auto_approved_users
45+
46+ expected_user_ids = set ()
47+ for auto_approved_user in auto_approved_users :
48+ assert isinstance (auto_approved_user , dict )
49+
50+ username = auto_approved_user .get ('username' )
51+ assert isinstance (username , str )
52+ assert username .strip ()
53+
54+ user_id = queue_eligibility .normalize_user_id (auto_approved_user .get ('user_id' ))
55+ assert user_id
56+ assert user_id .isdecimal ()
57+ assert user_id not in expected_user_ids
58+ expected_user_ids .add (user_id )
59+
4060 auto_approved_user_ids = queue_eligibility .load_auto_approved_user_ids (
41- auto_approved_users_file = REPOSITORY_ROOT / queue_eligibility .AUTO_APPROVED_USERS_FILE ,
61+ auto_approved_users_file = auto_approved_users_file ,
62+ base_dir = REPOSITORY_ROOT ,
4263 )
4364
44- assert auto_approved_user_ids == frozenset ({ '42013603' , '88998541' , '30657709' } )
65+ assert auto_approved_user_ids == frozenset (expected_user_ids )
4566
4667
4768def test_load_auto_approved_user_ids_ignores_malformed_entries (tmp_path ):
0 commit comments