def test_pendo_syncher_retry_error(mocker, db_create_host): request_session_post_mock = mocker.patch("pendo_syncher.Session.post") request_session_post_mock.side_effect = exceptions.RetryError db_create_host() config = Config(RuntimeEnvironment.PENDO_JOB) config.pendo_sync_active = True mock_pendo_failure = mocker.patch("pendo_syncher.pendo_failure") pendo_syncher_run( config, mock.Mock(), db.session, shutdown_handler=mock.Mock(**{"shut_down.return_value": False})) mock_pendo_failure.assert_called_once()
def test_pendo_syncher_exception(mocker, db_create_host): request_session_post_mock = mocker.patch("pendo_syncher.Session.post") request_session_post_mock.side_effect = Exception( "Pendo syncher exception message") db_create_host() config = Config(RuntimeEnvironment.PENDO_JOB) config.pendo_sync_active = True mock_pendo_failure = mocker.patch("pendo_syncher.pendo_failure") pendo_syncher_run( config, mock.Mock(), db.session, shutdown_handler=mock.Mock(**{"shut_down.return_value": False})) mock_call_args = mock_pendo_failure.call_args.args assert str(mock_call_args[1]) == "Pendo syncher exception message"
def test_pendo_syncher_response_process(mocker, db_create_host): db_create_host() mock_response = MockResponseObject() mock_response.content = json.dumps({"total": 1, "updated": 1, "failed": 0}) request_session_post_mock = mocker.patch("pendo_syncher.Session.post") request_session_post_mock.side_effect = mock_response config = Config(RuntimeEnvironment.PENDO_JOB) config.pendo_sync_active = True mock_pendo_failure = mocker.patch("pendo_syncher.pendo_failure") pendo_syncher_run( config, mock.Mock(), db.session, shutdown_handler=mock.Mock(**{"shut_down.return_value": False})) mock_pendo_failure.assert_not_called()
def test_pendo_syncher_response_process_failure(mocker, db_create_host): db_create_host() mock_response = MockResponseObject() mock_response.status_code = 403 request_session_post_mock = mocker.patch("pendo_syncher.Session.post") request_session_post_mock.side_effect = mock_response config = Config(RuntimeEnvironment.PENDO_JOB) config.pendo_sync_active = True mock_pendo_failure = mocker.patch("pendo_syncher.pendo_failure") pendo_syncher_run( config, mock.Mock(), db.session, shutdown_handler=mock.Mock(**{"shut_down.return_value": False})) mock_call_args = mock_pendo_failure.call_args.args assert str(mock_call_args[1]) == "Pendo responded with status 403"
def test_pendo_syncher_request_body(mocker, db_create_host): mock_request_function_mock = mocker.patch("pendo_syncher._make_request") host = db_create_host() request_body = json.dumps([{ "accountId": host.account, "values": { "hostCount": 1 } }]) config = Config(RuntimeEnvironment.PENDO_JOB) config.pendo_sync_active = True pendo_syncher_run( config, mock.Mock(), db.session, shutdown_handler=mock.Mock(**{"shut_down.return_value": False})) mock_request_function_mock.assert_called_once_with(request_body, config, mock.ANY)