Spaces:
Sleeping
Sleeping
| import speedtest | |
| import unittest | |
| import sys | |
| class TestSpeedtestLogic(unittest.TestCase): | |
| def test_speedtest_fallback_logic(self): | |
| print("\nTesting Speedtest fallback logic...") | |
| st = None | |
| success = False | |
| # Simulate the logic in app.py | |
| for attempt in range(3): | |
| print(f"Attempt {attempt+1}...") | |
| try: | |
| # In app.py logic: | |
| # attempt 0: secure=True | |
| # attempt 1: secure=True | |
| # attempt 2: secure=False | |
| secure_mode = True | |
| if attempt == 2: | |
| print('Switching to insecure mode (HTTP)...') | |
| secure_mode = False | |
| print(f"Initializing Speedtest(secure={secure_mode})...") | |
| st = speedtest.Speedtest(secure=secure_mode) | |
| print("Success!") | |
| success = True | |
| break | |
| except Exception as e: | |
| print(f"Failed: {e}") | |
| self.assertTrue(success, "Speedtest initialization failed even with fallback") | |
| self.assertIsNotNone(st, "Speedtest object is None") | |
| # Verify we can get best server | |
| print("Getting best server...") | |
| best = st.get_best_server() | |
| print(f"Best server: {best['host']}") | |
| self.assertIsNotNone(best) | |
| if __name__ == '__main__': | |
| unittest.main() | |