"""Tests for UserDataClient""" import json from apollo_save_push_receipts.logger import get_logger from apollo_save_push_receipts.constants import PushMessageStatus from apollo_save_push_receipts.schemas import PushMessage from apollo_save_push_receipts.user_data_client import UserDataClient from http import HTTPStatus from unittest.mock import Mock def test_mock(mocker): logger = get_logger('test') assert True def test_update_bulk(mocker): logger = get_logger('test') client = UserDataClient(logger) mock = Mock(return_value={"status": HTTPStatus.OK}) schema = PushMessage.ReceiptSchema() data = [ schema.loads(json.dumps(i)) for i in [ { "id": 1, "status": PushMessageStatus.DELIVERED, }, { "id": 2, "status": PushMessageStatus.DELIVERED, }, { "id": 3, "status": PushMessageStatus.FAILED, "details": "some error message", }, ] ] send_request_mock = mocker.patch.object(UserDataClient, "_send_request", side_effect=mock) client.update_bulk(data) send_request_mock.assert_called_once()