"""Functional tests of the get_product_by_upc endpoint. GET /product/upc//product/ """ from tests.testutils import db @db.test_schema def test_get_product_by_upc(test_product, client, valid_headers): """Test get_product_by_upc is successful.""" db.insert_vw_product() server_response = client.get( '/product/upc/888831283041', headers=valid_headers) assert server_response.status_code == 200 @db.test_schema def test_get_product_by_upc_forbidden(test_product, client, not_valid_headers): """Test get_product_by_upc fails when ownership is forbidden.""" db.insert_vw_product() server_response = client.get( '/product/upc/888831283041', headers=not_valid_headers) assert server_response.status_code == 403 @db.test_schema def test_get_product_by_upc_no_headers(test_product, client): """Test get_product_by_upc_is_successful. Should be successful when no ownership headers are provided to insure microservice to microservice calls. """ db.insert_vw_product() server_response = client.get('/product/upc/888831283041') assert server_response.status_code == 200 @db.test_schema def test_get_product_by_upc_not_found(test_product, client, valid_headers): """Test get_product_by_upc fails when product is not found.""" db.insert_vw_product() server_response = client.get('/product/upc/8675309', headers=valid_headers) assert server_response.status_code == 404