def test_bulk_search_vectorise(self):
        """are the calls to vectorise expected? work with bulk search, including multi search
        """
        s3_object_key = 'path/to/your/secret_model.pt'
        s3_bucket = 'your-bucket-name'

        fake_access_key_id = '12345'
        fake_secret_key = 'this-is-a-secret'

        model_auth = ModelAuth(
            s3=S3Auth(
                aws_access_key_id=fake_access_key_id,
                aws_secret_access_key=fake_secret_key)
        )

        model_properties = {
            "name": "ViT-B/32",
            "dimensions": 512,
            "model_location": {
                "s3": {
                    "Bucket": s3_bucket,
                    "Key": s3_object_key,
                },
                "auth_required": True
            },
            "type": "open_clip",
        }
        s3_settings = _get_base_index_settings()
        s3_settings['index_defaults']['model_properties'] = model_properties
        tensor_search.create_vector_index(config=self.config, index_name=self.index_name_1, index_settings=s3_settings)

        for bulk_search_query in [
                BulkSearchQuery(queries=[
                    BulkSearchQueryEntity(
                        index=self.index_name_1, q="match", searchMethod="TENSOR",
                        modelAuth=model_auth
                    ),
                    BulkSearchQueryEntity(
                        index=self.index_name_1, q={"random text": 0.5, "other_text": -0.3},
                        searchableAttributes=["abc"], searchMethod="TENSOR",
                        modelAuth=model_auth
                    ),
                ]),
                BulkSearchQuery(queries=[
                    BulkSearchQueryEntity(
                        index=self.index_name_1, q={"random text": 0.5, "other_text": -0.3},
                        searchableAttributes=["abc"], searchMethod="TENSOR",
                        modelAuth=model_auth
                    ),
                ])
            ]:
            try:
                tensor_search.eject_model(model_name='my_model' ,device=self.device)
            except ModelNotInCacheError:
                pass
            # Create a mock Boto3 client
            mock_s3_client = mock.MagicMock()

            # Mock the generate_presigned_url method of the mock Boto3 client with a real OpenCLIP model, so that
            # the rest of the logic works.
            mock_s3_client.generate_presigned_url.return_value = "https://some_non_existent_model.pt"

            with unittest.mock.patch('marqo.s2_inference.s2_inference.vectorise',
                                     side_effect=fake_vectorise) as mock_vectorise:
                        tensor_search.bulk_search(
                            query=bulk_search_query,
                            marqo_config=self.config,
                        )
            mock_vectorise.assert_called()
            for _args, _kwargs in mock_vectorise.call_args_list:
                assert _kwargs['model_properties']['model_location'] == {
                    "s3": {
                        "Bucket": s3_bucket,
                        "Key": s3_object_key,
                    },
                    "auth_required": True
                }
                assert _kwargs['model_auth'] == model_auth

            mock_vectorise.reset_mock()
are the calls to vectorise expected? work with bulk search, including multi search
        
tests/integ_tests/tensor_search/test_model_auth.py