"""Tests for job_status module.""" from flexmock import flexmock import pytest from transcoding.connectors import ows_transcoding from transcoding.logic import job_status @pytest.mark.parametrize( 'retryable,expected_status', [ (True, job_status.STATUS_RETRYABLE_ERROR), (False, job_status.STATUS_FATAL_ERROR)]) def test_post_error_status(retryable, expected_status): """Test sending error message.""" expected_job_id = 1 expected_error_message = 'message' (flexmock(ows_transcoding) .should_receive('post_job_status') .with_args(expected_job_id, expected_status, expected_error_message) .once()) job_status.post_error_status( expected_job_id, expected_error_message, retryable) def test_post_completed_status(): """Test sending completed message.""" expected_job_id = 1 expected_metadata = { 'Duration': '123.545', 'Channels': '2', 'SamplingRate': '44100', 'BitDepth': '24', } (flexmock(ows_transcoding) .should_receive('post_job_status') .with_args(expected_job_id, job_status.STATUS_COMPLETED, '', expected_metadata) .once()) job_status.post_completed_status( expected_job_id, expected_metadata )