"""Test generate_upload_token module.""" from unittest.mock import MagicMock import pytest from asset_transcoder.logic import upload_token from asset_transcoder.utils import exceptions as exc @pytest.fixture def sts_error(): """Fixture to get an STS exception.""" return MagicMock(side_effect=exc.OwsError( status=403, message='AccessDeniedException - Error assuming role' )) @pytest.fixture def sts_credentials(get_upload_permission_fixture): """Fixture to get a successful response.""" return get_upload_permission_fixture['credentials'] def test_get_upload_permission(empty_db_fixture, monkeypatch, sts_credentials, get_user_fixture): """Test get_upload_permission succeeds.""" monkeypatch.setattr(upload_token, 'get_s3_token', MagicMock(return_value=sts_credentials)) result = upload_token.get_upload_permission() assert result assert result['filename'] assert '-' not in result['filename'] assert result['credentials'] == sts_credentials assert result['bucket'] == 'test-orcd-transcoder-input-bucket' assert isinstance(result['asset_upload_id'], int)