"""Tests for ows_product model.""" from unittest.mock import MagicMock import pytest import requests import const # noqa import index # noqa from models import ows_product def test_get_release_info( mocker, release_info_success_response, release_id, product_name, get_release_info_fixture): """Test get release info from ows-product successfully.""" mocker.patch( 'requests.get', return_value=release_info_success_response) result = ows_product.get_release_info(release_id) assert result == get_release_info_fixture def test_get_release_info_not_found( mocker, ows_not_found_response, release_id, get_release_info_not_found_fixture): """Test get release info from ows-product not found.""" mocker.patch('requests.get', return_value=ows_not_found_response) result = ows_product.get_release_info(release_id) assert result == get_release_info_not_found_fixture def test_get_release_info_empty_release_id( mocker, ows_not_found_response, get_release_info_not_found_fixture): """Test get release info from ows-product not found.""" mocker.patch('requests.get', return_value=ows_not_found_response) result = ows_product.get_release_info(0) assert result == get_release_info_not_found_fixture def test_get_release_info_error(mocker, ows_error_response, release_id): """Test get release info from ows-product error.""" mocker.patch('requests.get', return_value=ows_error_response) with pytest.raises(Exception, match=const.OWS_PRODUCT_ERROR): ows_product.get_release_info(release_id) def test_get_product_document( mocker, product_document_fixture): """Test get product info from ows-product successfully.""" mocker.patch( 'requests.get', return_value=MagicMock( spec=requests.models.Response, status_code=200, json=lambda: product_document_fixture)) result = ows_product.get_product_document(55555) assert result == product_document_fixture def test_get_product_document_not_found(mocker, ows_not_found_response): """Test get product document from ows-product not found.""" mocker.patch( 'requests.get', return_value=ows_not_found_response) result = ows_product.get_product_document(55555) assert result == {} def test_get_product_document_error(mocker, ows_error_response): """Test get product document from ows-product error.""" mocker.patch( 'requests.get', return_value=ows_error_response) with pytest.raises(Exception, match=const.OWS_PRODUCT_ERROR): ows_product.get_product_document(55555)