def test_get_results(self, download_mock): context = mock.Mock() context.bulk.endpoint = "https://test" download_mock.side_effect = [ io.StringIO("""id,success,created,error 003000000000001,true,true, 003000000000002,true,true,"""), io.StringIO("""id,success,created,error 003000000000003,false,false,error"""), ] step = BulkApiDmlOperation( sobject="Contact", operation=DataOperationType.INSERT, api_options={}, context=context, fields=["LastName"], ) step.job_id = "JOB" step.batch_ids = ["BATCH1", "BATCH2"] results = step.get_results() assert list(results) == [ DataOperationResult("003000000000001", True, None), DataOperationResult("003000000000002", True, None), DataOperationResult(None, False, "error"), ] download_mock.assert_has_calls([ mock.call("https://test/job/JOB/batch/BATCH1/result", context.bulk), mock.call("https://test/job/JOB/batch/BATCH2/result", context.bulk), ])
def test_get_results__failure(self, download_mock): context = mock.Mock() context.bulk.endpoint = "https://test" download_mock.return_value.side_effect = Exception step = BulkApiDmlOperation( sobject="Contact", operation=DataOperationType.INSERT, api_options={}, context=context, fields=["LastName"], ) step.job_id = "JOB" step.batch_ids = ["BATCH1", "BATCH2"] with self.assertRaises(BulkDataException): list(step.get_results())