def test_model_loads_from_all_add_docs_derivatives(self):
        """Does it work from add_docs, add_docs orchestrator and add_documents_mp?
        """
        s3_object_key = 'path/to/your/secret_model.zip'
        s3_bucket = 'your-bucket-name'

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

        model_properties = {
            "dimensions": 384,
            "model_location": {
                "s3": {
                    "Bucket": s3_bucket,
                    "Key": s3_object_key,
                },
                "auth_required": True
            },
            "type": "hf",
        }

        model_abs_path = get_s3_model_absolute_cache_path(
            S3Location(
                Key=s3_object_key,
                Bucket=s3_bucket
            ), download_dir=ModelCache.hf_cache_path)

        _delete_file(model_abs_path)

        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)

        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.
        public_url = "https://marqo-cache-sentence-transformers.s3.us-west-2.amazonaws.com/all-MiniLM-L6-v1/all-MiniLM-L6-v2.zip"
        mock_s3_client.generate_presigned_url.return_value = public_url

        with unittest.mock.patch('boto3.client', return_value=mock_s3_client) as mock_boto3_client:
            with self.assertRaises(BadRequestError) as cm:
                with unittest.mock.patch(
                    'marqo.s2_inference.processing.custom_clip_utils.download_pretrained_from_url'
                ) as mock_download_pretrained_from_url:
                    self.add_documents(
                        config=self.config,
                        add_docs_params=AddDocsParams(
                            index_name=self.index_name_1,
                            model_auth=ModelAuth(s3=S3Auth(
                                aws_access_key_id=fake_access_key_id,
                                aws_secret_access_key=fake_secret_key)),
                            auto_refresh=True,
                            docs=[{f'Title': "something {i} good"} for i in range(20)], device="cpu"
                        ),
                    )
        mock_download_pretrained_from_url.assert_called_once_with(
            url=public_url, cache_dir=ModelCache.hf_cache_path, cache_file_name='secret_model.zip')
        mock_s3_client.generate_presigned_url.assert_called_with(
            'get_object',
            Params={'Bucket': 'your-bucket-name', 'Key': s3_object_key}
        )
        mock_boto3_client.assert_called_once_with(
            's3',
            aws_access_key_id=fake_access_key_id,
            aws_secret_access_key=fake_secret_key,
            aws_session_token=None
        )
        mock_download_pretrained_from_url.reset_mock()
        mock_s3_client.reset_mock()
        mock_boto3_client.reset_mock()
Does it work from add_docs, add_docs orchestrator and add_documents_mp?
        
tests/integ_tests/tensor_search/test_model_auth.py