def test_embed_equivalent_to_search_multiple_content(self):
        """
            Ensure that the embedding returned by embed endpoint matches the one created by search, on list content
            containing both strings and dicts.
            Embedding from search is retrieved using mock on query.
        """
        for index in [self.unstructured_default_image_index, self.structured_default_image_index]:
            with self.subTest(index=index.type):
                image_url = TestImageUrls.IMAGE2.value
                original_query = self.config.vespa_client.query
                def pass_through_query(*arg, **kwargs):
                    return original_query(*arg, **kwargs)

                # Mixed list: text, text, image, dict
                sample_content_list = ["GOAT #1", "GOAT #2", image_url, {"The inner GOAT.": 0.65, image_url: 0.42}]

                # Collect embeddings from each search query
                search_query_embeddings = []
                for item in sample_content_list:
                    mock_vespa_client_query = unittest.mock.MagicMock()
                    mock_vespa_client_query.side_effect = pass_through_query

                    @unittest.mock.patch("marqo.vespa.vespa_client.VespaClient.query", mock_vespa_client_query)
                    def run():
                        tensor_search.search(
                            config=self.config, index_name=index.name,
                            text=item,
                            search_method=enums.SearchMethod.TENSOR
                        )
                        return True

                    self.assertTrue(run())

                    call_args = mock_vespa_client_query.call_args_list
                    self.assertEqual(len(call_args), 1)

                    vespa_query_kwargs = call_args[0].kwargs
                    search_query_embeddings.append(vespa_query_kwargs["query_features"]["marqo__query_embedding"])

                # Embed request the content list
                embed_res = embed(
                    marqo_config=self.config, index_name=index.name,
                    embedding_request=EmbedRequest(
                        content=sample_content_list
                    ),
                    device="cpu"
                )

                # Assert vectors are equal
                self.assertEqual(embed_res["content"], sample_content_list)
                for i in range(len(sample_content_list)):
                    self.assertTrue(np.allclose(embed_res["embeddings"][i], search_query_embeddings[i], atol=1e-6))

            Ensure that the embedding returned by embed endpoint matches the one created by search, on list content
            containing both strings and dicts.
            Embedding from search is retrieved using mock on query.
        
tests/integ_tests/tensor_search/integ_tests/test_embed.py