"""Tests for handlers.""" from oto import response from ows_product_physical.constant import header from ows_product_physical.logic import product_physical from ows_product_physical.models import persister def test_handler_get_product_inventory_success( client, valid_get_header, mocker): """Test `GET /product/{productId}/inventory` handler success.""" mocker.patch.object( product_physical, 'get_inventory', return_value=response.Response({}), autospec=True) result = client.get('/product/1234/inventory', headers=valid_get_header) assert result.status_code == 200 assert product_physical.get_inventory.called def test_handler_get_product_inventory_header_error(client, valid_get_header): """Test `GET /product/{productId}/inventory` handler fails.""" invalid_header = valid_get_header invalid_header[header.GRASS_ACCOUNT_TYPE] = 'invalid_header' result = client.get('/product/1234/inventory', headers=invalid_header) assert result.status_code == 400 def test_handler_get_product_grass_header_absent( mocker, client, valid_get_header): """Test `GET /product/{productId}/inventory` handler fails.""" invalid_header = valid_get_header del invalid_header[header.GRASS_ACCOUNT_TYPE] mocker.patch.object( persister, 'get_product_by_id', return_value=response.Response({}), autospec=True) result = client.get('/product/1234/inventory', headers=invalid_header) assert result.status_code == 400