code: def test_batch_update():
      # Upsert and delete points
      response = request_with_validation(
          api="/collections/{collection_name}/points/batch",
          method="POST",
          path_params={"collection_name": collection_name},
          body={
              "operations": [
                  {
                      "upsert": {
                          "points": [
                              {
                                  "id": 7,
                                  "vector": [1.0, 2.0, 3.0, 4.0],
                                  "payload": {},
                              },
                          ]
                      }
                  },
                  {
                      "upsert": {
                          "points": [
                              {
                                  "id": 8,
                                  "vector": [1.0, 2.0, 3.0, 4.0],
                                  "payload": {},
                              },
                          ]
                      }
                  },
                  {"delete": {"points": [8]}},
                  {
                      "upsert": {
                          "points": [
                              {
                                  "id": 7,
                                  "vector": [2.0, 1.0, 3.0, 4.0],
                                  "payload": {},
                              },
                          ]
                      }
                  },
                  {
                      "upsert": {
                          "points": [
                              {
                                  "id": 9,
                                  "vector": {
                                      "sparse-text": {
                                          "indices": [123, 321],
                                          "values": [5.5, 5.5],
                                      }
                                  },
                                  "payload": {},
                              },
                          ]
                      }
                  },
                  {"delete": {"points": [10]}},
              ]
          },
          query_params={"wait": "true"},
      )
      assert response.ok
  
      assert_points(
          [
              {
                  "id": 7,
                  "vector": [2.0, 1.0, 3.0, 4.0],
                  "payload": {},
              }
          ],
          nonexisting_ids=[8],
          with_vectors=True,
      )
  
      assert_points(
          [
              {
                  "id": 9,
                  "vector": {
                      "sparse-text": {
                          "indices": [123, 321],
                          "values": [5.5, 5.5],
                      },
                  },
                  "payload": {},
              }
          ],
          nonexisting_ids=[10],
          with_vectors=True,
      )
  
      # Update vector
      response = request_with_validation(
          api="/collections/{collection_name}/points/batch",
          method="POST",
          path_params={"collection_name": collection_name},
          body={
              "operations": [
                  {
                      "update_vectors": {
                          "points": [
                              {
                                  "id": 7,
                                  "vector": [1.0, 2.0, 3.0, 4.0],
                              },
                          ]
                      }
                  },
                  {
                      "update_vectors": {
                          "points": [
                              {
                                  "id": 7,
                                  "vector": [9.0, 2.0, 4.0, 2.0],
                              },
                          ]
                      }
                  },
              ]
          },
          query_params={"wait": "true"},
      )
      assert response.ok
  
      assert_points(
          [
              {
                  "id": 7,
                  "vector": [9.0, 2.0, 4.0, 2.0],
                  "payload": {},
              }
          ],
          nonexisting_ids=[8],
          with_vectors=True,
      )
  
      # Upsert point and delete vector
      response = request_with_validation(
          api="/collections/{collection_name}/points/batch",
          method="POST",
          path_params={"collection_name": collection_name},
          body={
              "operations": [
                  {
                      "upsert": {
                          "points": [
                              {
                                  "id": 9,
                                  "vector": [0.0, 5.0, 2.0, 1.0],
                                  "payload": {},
                              },
                          ]
                      }
                  },
                  {
                      "delete_vectors": {
                          "points": [9],
                          "vector": [""],
                      }
                  },
              ]
          },
          query_params={"wait": "true"},
      )
      assert response.ok
  
      assert_points(
          [
              {
                  "id": 7,
                  "vector": [9.0, 2.0, 4.0, 2.0],
                  "payload": {},
              },
              {
                  "id": 9,
                  "vector": {},
                  "payload": {},
              },
          ],
          nonexisting_ids=[8],
          with_vectors=True,
      )
  
imports: import pytest
  from .helpers.helpers import request_with_validation
  from .helpers.collection_setup import basic_collection_setup, drop_collection
  from operator import itemgetter
label_desc: Use image node_id 3 for calling a global function with example usage: test_batch_update() without return types