"""Lambda test module.""" from unittest.mock import patch import pytest from requests import HTTPError from requests.exceptions import ProxyError from src import errors from src import app @patch('src.app.tiktok_parser') def test_handler(tiktok_parser_mock, mock_event, mock_tiktok_url): """Test handler successful execution.""" tiktok_parser_mock.get_tiktok_followers.return_value = 100 result = app.handler(mock_event, {}) tiktok_parser_mock.get_tiktok_followers.assert_called_with(mock_tiktok_url) assert result == {'tiktok_followers': 100} @pytest.mark.parametrize( 'error,raised_error', [ (ProxyError(), errors.RetryException()), (HTTPError(), errors.RetryException()), (OSError(), errors.FatalException()) ]) def test_handler_failure(mock_event, error, raised_error): """Test handler successful execution.""" with patch('src.app.tiktok_parser') as tiktok_parser_mock: tiktok_parser_mock.get_tiktok_followers.side_effect = error with pytest.raises(type(raised_error)): app.handler(mock_event, {})