"""Unit tests for S3 logic.""" from unittest.mock import MagicMock import requests from promo_player.logic import s3 def test_get_shared_static_assets_version( monkeypatch, fixture_requests_result): """Test retrieving the shared static assets manifest from S3.""" manifest_content = '666666666' monkeypatch.setattr( requests, 'get', MagicMock( return_value=fixture_requests_result(200, manifest_content))) result = s3.get_shared_static_assets_version() assert result assert result.status == 200 assert result.message == manifest_content def test_get_shared_static_assets_version_error( monkeypatch, fixture_requests_result): """Test that an error is returned if the call to S3 fails.""" error_message = 'Not Found' monkeypatch.setattr( requests, 'get', MagicMock( return_value=fixture_requests_result(404, error_message))) result = s3.get_shared_static_assets_version() assert not result assert result.status == 404 assert result.errors['message'] == error_message def test_get_player_static_assets_version( monkeypatch, fixture_requests_result): """Test retrieving the player static assets manifest from S3.""" manifest_content = '666666666' monkeypatch.setattr( requests, 'get', MagicMock( return_value=fixture_requests_result(200, manifest_content))) result = s3.get_player_static_assets_version() assert result assert result.status == 200 assert result.message == manifest_content def test_get_player_static_assets_version_error( monkeypatch, fixture_requests_result): """Test that an error is returned if the call to S3 fails.""" error_message = 'Not Found' monkeypatch.setattr( requests, 'get', MagicMock( return_value=fixture_requests_result(404, error_message))) result = s3.get_player_static_assets_version() assert not result assert result.status == 404 assert result.errors['message'] == error_message