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

        conn = Connection(sf)
        conn._bulk = Mock()

        retval = [
            {"Id": "001000000000001", "CreatedDate": 1546659665000},
            {"Id": "001000000000002", "CreatedDate": None},
        ]
        conn._bulk.is_batch_done = Mock(side_effect=[False, True])
        conn._bulk.create_query_job = Mock(return_value="075000000000000AAA")
        conn._bulk.get_all_results_for_query_batch = Mock(
            return_value=[IteratorBytesIO([json.dumps(retval).encode("utf-8")])]
        )

        results = list(
            conn.bulk_api_query(
                "Account", "SELECT Id, CreatedDate, FROM Account", ["CreatedDate"], 5
            )
        )

        self.assertEqual(
            results[0],
            {"Id": "001000000000001", "CreatedDate": "2019-01-05T03:41:05.000+0000"},
        )
        self.assertEqual(results[1], {"Id": "001000000000002", "CreatedDate": None})
Exemplo n.º 2
0
    def test_bulk_api_query(self):  # FIXME: test wait
        sf = Mock()
        sf.bulk_url = "https://salesforce.com"

        conn = Connection(sf)
        conn._bulk = Mock()

        retval = [{"Id": "001000000000001"}, {"Id": "001000000000002"}]
        conn._bulk.is_batch_done = Mock(side_effect=[False, True])
        conn._bulk.create_query_job = Mock(return_value="075000000000000AAA")
        conn._bulk.get_all_results_for_query_batch = Mock(
            return_value=[IteratorBytesIO([json.dumps(retval).encode("utf-8")])]
        )

        results = list(conn.bulk_api_query("Account", "SELECT Id FROM Account", [], 5))
        conn._bulk.query.assert_called_once_with(
            "075000000000000AAA", "SELECT Id FROM Account"
        )
        self.assertEqual(
            conn._bulk.is_batch_done.call_args_list,
            [call(conn._bulk.query.return_value), call(conn._bulk.query.return_value)],
        )
        conn._bulk.get_all_results_for_query_batch.assert_called_once_with(
            conn._bulk.query.return_value
        )

        self.assertEqual(retval, results)