"""Tests for ugc_video_metrics module.""" from analytics.schemas import ugc_video_metrics def test_ugc_video_metrics(): """Test that ugc_video_metrics converts to JSON object.""" mock_model_response_message = { "items": [ { "video_id": "V1", "asset_id": "A1", "channel_id": "C1", "track_id": 123, "track_isrc": "I1", "views": 1, "premium_views": 0, "percentage": 0.5, "claim_type": "AUDIO", "claim_created_date": "2021-01-01", "claim_policy": None, "claim_status": "ACTIVE", "content_type": "UGC", "video_name": "Video 1", "channel_name": "Channel 1", "release_date": "2021-01-01", }, { "video_id": "V2", "asset_id": "A2", "channel_id": "C2", "track_id": 456, "track_isrc": "I2", "views": 1, "premium_views": 0, "percentage": 0.5, "claim_type": "AUDIO", "claim_created_date": "2021-01-01", "claim_policy": None, "claim_status": "DISPUTED", "content_type": "UGC", "video_name": "Video 2", "channel_name": "Channel 2", "release_date": "2021-01-01", }, ], "sources": [ {"id": 453, "name": "YouTube"}, ], "total_results": 42, } expected_result = { "items": [ { "video_id": "V1", "asset_id": "A1", "channel_id": "C1", "track_id": 123, "track_isrc": "I1", "views": 1, "premium_views": 0, "percentage": 0.5, "claim_type": "AUDIO", "claim_created_date": "2021-01-01", "claim_policy": None, "claim_status": "ACTIVE", "content_type": "UGC", "video_name": "Video 1", "channel_name": "Channel 1", "release_date": "2021-01-01", }, { "video_id": "V2", "asset_id": "A2", "channel_id": "C2", "track_id": 456, "track_isrc": "I2", "views": 1, "premium_views": 0, "percentage": 0.5, "claim_type": "AUDIO", "claim_created_date": "2021-01-01", "claim_policy": None, "claim_status": "DISPUTED", "content_type": "UGC", "video_name": "Video 2", "channel_name": "Channel 2", "release_date": "2021-01-01", }, ], "sources": [ {"id": 453, "name": "YouTube"}, ], "total_results": 42, } result = ugc_video_metrics.UgcVideoMetricsSchema().dump(mock_model_response_message) assert result == expected_result