|
1 | | -from unittest import TestCase |
2 | | - |
3 | | -from osbot_utils.utils.Dev import pprint |
4 | | -from osbot_utils.utils.Misc import list_set |
5 | | -from starlette.testclient import TestClient |
6 | | - |
7 | | -from osbot_fast_api.admin_ui.api.Admin_UI__Config import Admin_UI__Config |
8 | | -from osbot_fast_api.admin_ui.api.Admin_UI__Fast_API import Admin_UI__Fast_API |
| 1 | +from unittest import TestCase |
| 2 | +from osbot_utils.utils.Env import in_github_action |
| 3 | +from osbot_utils.utils.Misc import list_set |
| 4 | +from starlette.testclient import TestClient |
| 5 | +from osbot_fast_api.admin_ui.api.Admin_UI__Config import Admin_UI__Config |
| 6 | +from osbot_fast_api.admin_ui.api.Admin_UI__Fast_API import Admin_UI__Fast_API |
9 | 7 | from osbot_fast_api.admin_ui.api.testing.Admin_UI__Test_Context import Admin_UI__Test_Context |
10 | | -from osbot_fast_api.api.Fast_API import Fast_API |
11 | | -from osbot_fast_api.utils.Fast_API_Server import Fast_API_Server |
| 8 | +from osbot_fast_api.api.Fast_API import Fast_API |
| 9 | +from osbot_fast_api.utils.Fast_API_Server import Fast_API_Server |
12 | 10 |
|
13 | 11 | import concurrent.futures |
14 | 12 | import time |
@@ -236,12 +234,13 @@ def set_cookie(name): |
236 | 234 | assert all(r.status_code == 200 for r in results) |
237 | 235 |
|
238 | 236 | # Should complete in reasonable time |
239 | | - assert duration < 1.5 # 100 requests in under 1.5 seconds :) |
240 | | - |
241 | | - # Calculate throughput |
242 | | - throughput = len(results) / duration |
243 | | - #print(f"Throughput: {throughput:.1f} requests/second") |
244 | | - assert throughput > 200 # At least 300 req/s |
| 237 | + throughput = len(results) / duration # Calculate throughput |
| 238 | + if in_github_action(): |
| 239 | + assert duration < 3 # 100 requests in under 3 seconds |
| 240 | + assert throughput > 100 # At least 100 req/s |
| 241 | + else: |
| 242 | + assert duration < 0.3 # 100 requests in under 0.3 seconds (locally) |
| 243 | + assert throughput > 500 # At least 500 req/s (locally) |
245 | 244 |
|
246 | 245 | def test_05_error_handling(self): |
247 | 246 | """Test error handling in Admin UI""" |
|
0 commit comments