@@ -867,14 +867,16 @@ def test_is_user_rate_limited_recent_submission(database, submit_leaderboard):
867867 """Test is_user_rate_limited returns True when user submitted recently"""
868868 with database as db :
869869 db .set_leaderboard_gpu_rate_limit ("submit-leaderboard" , "A100" , 3600 )
870- db .create_submission (
870+ sub_id = db .create_submission (
871871 "submit-leaderboard" ,
872872 "file.py" ,
873873 5 ,
874874 "code" ,
875875 datetime .datetime .now (tz = datetime .timezone .utc ),
876876 user_name = "user" ,
877877 )
878+ # Create a run with A100 GPU - required since rate limit query joins with runs table
879+ _create_submission_run (db , sub_id , runner = "A100" , score = 1.0 )
878880 lb_id = db .get_leaderboard_id ("submit-leaderboard" )
879881 is_limited , reason = db .is_user_rate_limited (5 , lb_id , "A100" )
880882 assert is_limited is True
@@ -899,14 +901,16 @@ def test_is_user_rate_limited_different_user(database, submit_leaderboard):
899901 """Test is_user_rate_limited only applies to the specific user"""
900902 with database as db :
901903 db .set_leaderboard_gpu_rate_limit ("submit-leaderboard" , "A100" , 3600 )
902- db .create_submission (
904+ sub_id = db .create_submission (
903905 "submit-leaderboard" ,
904906 "file.py" ,
905907 5 ,
906908 "code" ,
907909 datetime .datetime .now (tz = datetime .timezone .utc ),
908910 user_name = "user5" ,
909911 )
912+ # Create a run with A100 GPU - required since rate limit query joins with runs table
913+ _create_submission_run (db , sub_id , runner = "A100" , score = 1.0 )
910914 lb_id = db .get_leaderboard_id ("submit-leaderboard" )
911915 # User 6 should not be rate limited
912916 is_limited , reason = db .is_user_rate_limited (6 , lb_id , "A100" )
@@ -937,14 +941,16 @@ def test_is_user_allowed_to_submit_blocked(database, submit_leaderboard):
937941 """Test is_user_allowed_to_submit returns False when user submitted recently"""
938942 with database as db :
939943 db .set_leaderboard_gpu_rate_limit ("submit-leaderboard" , "A100" , 3600 )
940- db .create_submission (
944+ sub_id = db .create_submission (
941945 "submit-leaderboard" ,
942946 "file.py" ,
943947 5 ,
944948 "code" ,
945949 datetime .datetime .now (tz = datetime .timezone .utc ),
946950 user_name = "user" ,
947951 )
952+ # Create a run with A100 GPU - required since rate limit query joins with runs table
953+ _create_submission_run (db , sub_id , runner = "A100" , score = 1.0 )
948954 allowed , reason = db .is_user_allowed_to_submit (5 , "submit-leaderboard" , ["A100" ])
949955 assert allowed is False
950956 assert reason is not None
@@ -956,14 +962,16 @@ def test_is_user_allowed_to_submit_multiple_gpus_one_blocked(database, submit_le
956962 with database as db :
957963 # Set rate limit only on A100
958964 db .set_leaderboard_gpu_rate_limit ("submit-leaderboard" , "A100" , 3600 )
959- db .create_submission (
965+ sub_id = db .create_submission (
960966 "submit-leaderboard" ,
961967 "file.py" ,
962968 5 ,
963969 "code" ,
964970 datetime .datetime .now (tz = datetime .timezone .utc ),
965971 user_name = "user" ,
966972 )
973+ # Create a run with A100 GPU - required since rate limit query joins with runs table
974+ _create_submission_run (db , sub_id , runner = "A100" , score = 1.0 )
967975 # Both GPUs requested, A100 is rate limited
968976 allowed , reason = db .is_user_allowed_to_submit (5 , "submit-leaderboard" , ["A100" , "H100" ])
969977 assert allowed is False
0 commit comments