"""Test Report token endpoint.""" import json from unittest.mock import MagicMock import pytest from oto.response import Response from reporting.logic import mode @pytest.mark.parametrize( 'reporting_response_code, expected_response_code', [(404, 404), (500, 500)] ) def test_report_token_error( client, mocker, reporting_response_code, expected_response_code ): """Test report run handler error case.""" space_name = 'XXXXXXX' report_name = 'YYYYYYY' mocker.patch.object( mode, 'get_report_token', return_value=MagicMock(status=reporting_response_code), ) result = client.get( '/space/{space_name}/report/{report_name}'.format( space_name=space_name, report_name=report_name ) ) assert result.status_code == expected_response_code def test_report_token_success(client, mocker): """Test get report token success.""" space_name = 'workstation_physical' report_name = 'product_view_report' mocker.patch.object( mode, 'get_report_token', return_value=Response( status=200, message={'report_token': '8d9af0be16ab'} ), ) result = client.get( '/space/{space_name}/report/{report_name}'.format( space_name=space_name, report_name=report_name ) ) assert result.status_code == 200 result_data = json.loads(result.data.decode('utf-8')) assert result_data == {'report_token': '8d9af0be16ab'}