"""Module with tests for get_metadata method.""" import pytest from src import app @pytest.mark.parametrize(( 'test_description', 's3_obj', 'expected_result' ), [ ( 'Missing all keys', {'Metadata': {}}, { 'product_id': None, 'upc': None, 'original_filename': None, 'track_unique_id': 0, 'is_correction': 0, 'filename': 'filename', 'bucket': 'bucket' } ), ( 'All keys present', { 'Metadata': { 'product_id': 1, 'upc': '123456789012', 'track_unique_id': 5, 'is_correction': 1, 'original_filename': 'original_filename.wav' } }, { 'product_id': 1, 'upc': '123456789012', 'track_unique_id': 5, 'is_correction': 1, 'original_filename': 'original_filename.wav', 'filename': 'filename', 'bucket': 'bucket' } ) ]) def test_get_metadata_success( test_description, s3_obj, expected_result, ): """Test get_metadata success.""" assert app.get_metadata(s3_obj, 'filename', 'bucket') == expected_result