"""Functional tests for GET track_sample handler.""" import json from oto import response from backend.handlers.track_sample_handlers import sample_logic def test_get_track_sample(client, mocker): """Test GET track_sample when logic returns success response.""" endpoint = '/track/samples/1' expected = {'foo': 'bar'} mocker.patch.object( sample_logic, 'get_track_sample', return_value=response.Response( message=expected, status=200)) actual_response = client.get(endpoint) assert actual_response response_json = json.loads(actual_response.data.decode()) assert response_json == expected def test_get_track_sample_error(client, mocker): """Test GET track_sample when logic returns validation errors.""" endpoint = '/track/samples/10000' expected = response.create_not_found_response('foo') mocker.patch.object( sample_logic, 'get_track_sample', return_value=expected) actual_response = client.get(endpoint) assert actual_response response_json = json.loads(actual_response.data.decode()) assert response_json == expected.errors