Exemplo n.º 1
0
    def test_bulk_api_update(self):
        sf = Mock()
        sf.bulk_url = "https://salesforce.com"

        conn = Connection(sf, "48.0")
        conn._bulk = Mock()
        conn._bulk_api_insert_update = Mock(return_value=[])

        self.assertEqual(
            [], list(conn.bulk_api_update("Account", [], 120, 5, 1, "Parallel"))
        )

        conn._bulk.create_update_job.assert_called_once_with(
            "Account", contentType="JSON", concurrency="Parallel"
        )

        conn._bulk_api_insert_update.assert_called_once()
        assert (
            conn._bulk_api_insert_update.call_args[0][0]
            == conn._bulk.create_update_job.return_value
        )
        assert conn._bulk_api_insert_update.call_args[0][1] == "Account"
        assert conn._bulk_api_insert_update.call_args[0][3] == 120
        assert conn._bulk_api_insert_update.call_args[0][4] == 5
        assert conn._bulk_api_insert_update.call_args[0][5] == 1
Exemplo n.º 2
0
    def test_bulk_api_insert_update(self):
        sf = Mock()
        sf.bulk_url = "https://salesforce.com"
        conn = Connection(sf)
        conn._bulk = Mock()
        job = Mock()

        retval = [
            [{"Id": "001000000000001"}, {"Id": "001000000000002"}],
            [{"Id": "001000000000003"}],
        ]

        conn._bulk.is_batch_done = Mock(side_effect=[False, True])
        conn._bulk.get_batch_results = Mock(side_effect=retval)

        input_data = [{"Name": "Test"}, {"Name": "Test2"}, {"Name": "Test3"}]
        results = list(
            conn._bulk_api_insert_update(job, "Account", input_data, 120, 5, 2)
        )

        self.assertEqual(2, conn._bulk.post_batch.call_count)
        self.assertEqual(
            conn._bulk.wait_for_batch.call_args_list,
            [
                call(
                    job,
                    conn._bulk.post_batch.return_value,
                    timeout=120,
                    sleep_interval=5,
                ),
                call(
                    job,
                    conn._bulk.post_batch.return_value,
                    timeout=120,
                    sleep_interval=5,
                ),
            ],
        )
        conn._bulk.close_job.assert_called_once_with(job)
        self.assertEqual(
            conn._bulk.get_batch_results.call_args_list,
            [
                call(conn._bulk.post_batch.return_value, job),
                call(conn._bulk.post_batch.return_value, job),
            ],
        )
        self.assertEqual(
            results,
            [
                {"Id": "001000000000001"},
                {"Id": "001000000000002"},
                {"Id": "001000000000003"},
            ],
        )