"""Unit tests for ows_product model.""" import httpx import pytest from owsclient.test import OwsClientMock from src.models import ows_product from src.utils import constants def test_get_hfa_eligible_tracks_success( ows_client_mock: OwsClientMock, mock_get_hfa_eligible_tracks_response, ): """Test successful fetch of HFA eligible tracks.""" ows_client_mock.get( constants.OWS_PRODUCT, '/hfa/eligible-tracks', ).mock( return_value=httpx.Response( 200, json=mock_get_hfa_eligible_tracks_response, ) ) result = ows_product.get_hfa_eligible_tracks() assert result == mock_get_hfa_eligible_tracks_response def test_get_hfa_eligible_tracks_exception(ows_client_mock: OwsClientMock): """Test get_hfa_eligible_tracks raises exception on error.""" ows_client_mock.get( constants.OWS_PRODUCT, '/hfa/eligible-tracks', ).mock(return_value=httpx.Response(500, text='error')) with pytest.raises(httpx.HTTPStatusError): ows_product.get_hfa_eligible_tracks()