"""Tests for OWSProduct.""" from unittest.mock import MagicMock from owsrequest import request from contracts.models import ows_product def test_validate_upc_success(monkeypatch): """Test check valid upc successful.""" mock_response = MagicMock() upc = 123 mock_response.status_code = 200 monkeypatch.setattr(request, 'head', MagicMock(return_value=mock_response)) response = ows_product.validate_upc(upc) request.head.assert_called_with( ows_product.PRODUCT_SERVICE, ows_product.PRODUCT_UPC_RESOURCE.format(upc=upc) ) assert response.message == {'status': 'ok'} def test_validate_upc_fail(monkeypatch): """Test check valid upc fail.""" mock_response = MagicMock() upc = 123 mock_response.status_code = 404 monkeypatch.setattr(request, 'head', MagicMock(return_value=mock_response)) response = ows_product.validate_upc(upc) request.head.assert_called_with( ows_product.PRODUCT_SERVICE, ows_product.PRODUCT_UPC_RESOURCE.format(upc=upc) ) assert response.status == 404