"""Test handler.""" import json from unittest.mock import MagicMock, patch import index from utils import set_product_deal_utils @patch('index.get_release_track_list') @patch('index.update_product_release_date') @patch('index.update_pricing') @patch('index.update_carveouts') def test_handler_product_exists( mock_update_carveouts, mock_update_pricing, mock_update_product_release_date, mock_retrieve_release, test_handler_release_date_updated_output, test_release_json, test_event): """Test handler.""" release_idx_dict = \ json.loads(test_release_json)['7892920191004_____1362655'] mock_retrieve_release.return_value = release_idx_dict mock_update_product_release_date.return_value = None mock_update_carveouts.return_value = None mock_update_pricing.return_value = None event = index.handler(test_event, None) assert event == test_handler_release_date_updated_output @patch('utils.set_product_deal_utils.graphql_gateway.execute') @patch('utils.set_product_deal_utils.save_catalog_ingestion_action') def test_update_product_release_date( mock_catalog_ingestion_session, mock_graphql_execute, test_model, test_event): """Test handler.""" payload = [ 'productId', 'releaseDate', 'saleStartDate' ] data = test_model set_product_deal_utils.update_product_release_date( test_event, data, MagicMock()) call_dict = mock_graphql_execute.mock_calls[0][1][1]['data'] call_keys = list(call_dict) mock_graphql_execute.assert_called_once() assert payload == call_keys @patch('utils.set_product_deal_utils.graphql_gateway.execute') @patch('utils.set_product_deal_utils.save_catalog_ingestion_action') @patch('utils.set_product_deal_utils.format_carveout_data') def test_update_carveouts( mock_format_carveout_data, mock_catalog_ingestion_session, mock_graphql_execute, test_model, test_event): """Test handler.""" payload = [ 'productId', 'upc', 'countryCodes', ] data = test_model mock_format_carveout_data.return_value = [] set_product_deal_utils.update_carveouts(test_event, data, MagicMock()) call_dict = mock_graphql_execute.mock_calls[0][1][1]['data'] call_keys = list(call_dict) mock_graphql_execute.assert_called_once() assert payload == call_keys @patch('utils.set_product_deal_utils.graphql_gateway.execute') @patch('utils.set_product_deal_utils.save_catalog_ingestion_action') def test_update_pricing( mock_catalog_ingestion_session, mock_graphql_execute, test_model, test_event): """Test handler.""" payload = [ 'productId', 'orchardPricingTier', 'pricingFamily' ] data = test_model set_product_deal_utils.update_pricing(test_event, data, MagicMock()) call_dict = mock_graphql_execute.mock_calls[0][1][1]['input'] call_keys = list(call_dict) mock_graphql_execute.assert_called_once() assert payload == call_keys