@@ -61,64 +61,16 @@ def test_package_endpoint_throttling(self):
6161 "Your request has been throttled. Please contact support@nexb.com" ,
6262 )
6363
64- response = self .csrf_client_anon .get ("/api/vulnerabilties " )
64+ response = self .csrf_client_anon .get ("/api/vulnerabilities " )
6565 # 429 - too many requests for anon user
6666 self .assertEqual (response .status_code , 429 )
6767 self .assertEqual (
6868 response .data .get ("message" ),
6969 "Your request has been throttled. Please contact support@nexb.com" ,
7070 )
7171
72-
73- class ThrottleApiTestsForPostRequest (APITestCase ):
74- def setUp (self ):
75- # create a basic user
76- self .user = ApiUser .objects .create_api_user (username = "e@mail.com" )
77- self .auth = f"Token { self .user .auth_token .key } "
78- self .csrf_client = APIClient (enforce_csrf_checks = True )
79- self .csrf_client .credentials (HTTP_AUTHORIZATION = self .auth )
80-
81- # create a staff user
82- self .staff_user = ApiUser .objects .create_api_user (username = "staff@mail.com" , is_staff = True )
83- self .staff_auth = f"Token { self .staff_user .auth_token .key } "
84- self .staff_csrf_client = APIClient (enforce_csrf_checks = True )
85- self .staff_csrf_client .credentials (HTTP_AUTHORIZATION = self .staff_auth )
86-
87- self .csrf_client_anon = APIClient (enforce_csrf_checks = True )
88-
89- def test_bulk_search_packages_endpoint_throttling (self ):
9072 data = json .dumps ({"purls" : ["pkg:foo/bar" ]})
9173
92- # A basic user can only access /packages/bulk_search 20 times a day
93- for i in range (0 , 20 ):
94- response = self .csrf_client .post (
95- "/api/packages/bulk_search" , data = data , content_type = "application/json"
96- )
97- self .assertEqual (response .status_code , 200 )
98- response = self .staff_csrf_client .post (
99- "/api/packages/bulk_search" , data = data , content_type = "application/json"
100- )
101- self .assertEqual (response .status_code , 200 )
102-
103- response = self .csrf_client .post (
104- "/api/packages/bulk_search" , data = data , content_type = "application/json"
105- )
106- # 429 - too many requests for basic user
107- self .assertEqual (response .status_code , 429 )
108-
109- response = self .staff_csrf_client .post (
110- "/api/packages/bulk_search" , data = data , content_type = "application/json"
111- )
112- # 200 - staff user can access API unlimited times
113- self .assertEqual (response .status_code , 200 )
114-
115- # A anonymous user can only access /packages endpoint 10 times a day
116- for i in range (0 , 10 ):
117- response = self .csrf_client_anon .post (
118- "/api/packages/bulk_search" , data = data , content_type = "application/json"
119- )
120- self .assertEqual (response .status_code , 200 )
121-
12274 response = self .csrf_client_anon .post (
12375 "/api/packages/bulk_search" , data = data , content_type = "application/json"
12476 )
0 commit comments