Spaces:
Runtime error
Runtime error
| import pytest | |
| from app import random_url, open_image_url, process_inputs | |
| async def test_random_url(): | |
| url = await random_url(None) | |
| assert url is not None | |
| assert url.startswith("http") | |
| async def test_random_url_handle_api_errors(): | |
| url = await random_url(None) | |
| assert url is not None or url is None | |
| async def test_open_image_url(): | |
| valid_url = "https://example.com/valid_image.jpg" | |
| invalid_url = "https://example.com/invalid_image.jpg" | |
| image = await open_image_url(valid_url) | |
| assert image is not None | |
| image = await open_image_url(invalid_url) | |
| assert image is None | |
| async def test_open_image_url_handle_http_errors(): | |
| invalid_url = "https://example.com/invalid_image.jpg" | |
| image = await open_image_url(invalid_url) | |
| assert image is None | |
| async def test_process_inputs(): | |
| valid_image_url = "https://example.com/valid_image.jpg" | |
| invalid_image_url = "invalid_url" | |
| class_names = "cat, dog" | |
| # Test with valid inputs | |
| async for result in process_inputs(class_names, valid_image_url): | |
| assert "results" in result or "Fetching image and running model" in result | |
| # Test with invalid image URL | |
| async for result in process_inputs(class_names, invalid_image_url): | |
| assert "Invalid URL provided" in result | |
| # Test with empty class names | |
| async for result in process_inputs("", valid_image_url): | |
| assert "Provide class names" in result | |
| async def test_process_inputs_log_exceptions(): | |
| invalid_image_url = "https://example.com/invalid_image.jpg" | |
| class_names = "cat, dog" | |
| async for result in process_inputs(class_names, invalid_image_url): | |
| assert "Something went wrong" in result | |
| async def test_process_inputs_check_class_names_empty(): | |
| valid_image_url = "https://example.com/valid_image.jpg" | |
| async for result in process_inputs("", valid_image_url): | |
| assert "Provide class names" in result | |
| async def test_process_inputs_validate_image_url(): | |
| invalid_image_url = "invalid_url" | |
| class_names = "cat, dog" | |
| async for result in process_inputs(class_names, invalid_image_url): | |
| assert "Invalid URL provided" in result | |
| async def test_error_handling(): | |
| invalid_image_url = "https://example.com/invalid_image.jpg" | |
| class_names = "cat, dog" | |
| # Test error handling in random_url | |
| url = await random_url(None) | |
| assert url is not None | |
| # Test error handling in open_image_url | |
| image = await open_image_url(invalid_image_url) | |
| assert image is None | |
| # Test error handling in process_inputs | |
| async for result in process_inputs(class_names, invalid_image_url): | |
| assert "Something went wrong" in result | |