From fe64dd348b45997bf09029ed45529a3e8a2a4e44 Mon Sep 17 00:00:00 2001 From: Howie Leung Date: Fri, 5 Dec 2025 21:07:15 -0800 Subject: [PATCH 1/5] recordings --- sdk/ai/azure-ai-projects/tests/conftest.py | 3 +++ sdk/ai/azure-ai-projects/tests/samples/samples_report.csv | 0 sdk/ai/azure-ai-projects/tests/samples/test_samples.py | 4 ---- 3 files changed, 3 insertions(+), 4 deletions(-) create mode 100644 sdk/ai/azure-ai-projects/tests/samples/samples_report.csv diff --git a/sdk/ai/azure-ai-projects/tests/conftest.py b/sdk/ai/azure-ai-projects/tests/conftest.py index 5a009ec7c80d..19d24291d645 100644 --- a/sdk/ai/azure-ai-projects/tests/conftest.py +++ b/sdk/ai/azure-ai-projects/tests/conftest.py @@ -103,6 +103,9 @@ def sanitize_url_paths(): # Normalize Content-Type for CSV files in multipart form-data (varies by OS/Python version) add_general_string_sanitizer(target="Content-Type: text/csv", value="Content-Type: application/vnd.ms-excel") + # Normalize Content-Type for markdown files in multipart form-data (varies by OS/Python version) + add_general_string_sanitizer(target="Content-Type: application/octet-stream", value="Content-Type: text/markdown") + # Sanitize API key from service response (this includes Application Insights connection string) add_body_key_sanitizer(json_path="credentials.key", value="sanitized-api-key") diff --git a/sdk/ai/azure-ai-projects/tests/samples/samples_report.csv b/sdk/ai/azure-ai-projects/tests/samples/samples_report.csv new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/sdk/ai/azure-ai-projects/tests/samples/test_samples.py b/sdk/ai/azure-ai-projects/tests/samples/test_samples.py index d0c4db50142c..9de90603c0b6 100644 --- a/sdk/ai/azure-ai-projects/tests/samples/test_samples.py +++ b/sdk/ai/azure-ai-projects/tests/samples/test_samples.py @@ -165,8 +165,6 @@ def _get_tools_sample_paths(): "sample_agent_browser_automation.py", "sample_agent_code_interpreter.py", "sample_agent_fabric.py", - "sample_agent_file_search.py", - "sample_agent_file_search_in_stream.py", "sample_agent_mcp_with_project_connection.py", "sample_agent_memory_search.py", "sample_agent_openapi_with_project_connection.py", @@ -192,8 +190,6 @@ def _get_tools_sample_paths_async(): # Skip async samples that are not yet ready for testing tools_samples_to_skip = [ "sample_agent_code_interpreter_async.py", - "sample_agent_file_search_async.py", - "sample_agent_file_search_in_stream_async.py", "sample_agent_mcp_with_project_connection_async.py", "sample_agent_memory_search_async.py", ] From fe50edf6463ef0fde4236cbd0a61a298ce59aca2 Mon Sep 17 00:00:00 2001 From: Howie Leung Date: Sat, 6 Dec 2025 21:50:29 -0800 Subject: [PATCH 2/5] add gitattributes and rebase --- sdk/ai/azure-ai-projects/assets.json | 2 +- .../samples/agents/assets/.gitattributes | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 sdk/ai/azure-ai-projects/samples/agents/assets/.gitattributes diff --git a/sdk/ai/azure-ai-projects/assets.json b/sdk/ai/azure-ai-projects/assets.json index d620327691f2..d52721988643 100644 --- a/sdk/ai/azure-ai-projects/assets.json +++ b/sdk/ai/azure-ai-projects/assets.json @@ -2,5 +2,5 @@ "AssetsRepo": "Azure/azure-sdk-assets", "AssetsRepoPrefixPath": "python", "TagPrefix": "python/ai/azure-ai-projects", - "Tag": "python/ai/azure-ai-projects_4160165ae8" + "Tag": "python/ai/azure-ai-projects_dc87aa5115" } diff --git a/sdk/ai/azure-ai-projects/samples/agents/assets/.gitattributes b/sdk/ai/azure-ai-projects/samples/agents/assets/.gitattributes new file mode 100644 index 000000000000..878545b8b1cb --- /dev/null +++ b/sdk/ai/azure-ai-projects/samples/agents/assets/.gitattributes @@ -0,0 +1,13 @@ +# Force LF line endings for test files to ensure consistent binary representation +# across Windows and Linux platforms. +# +# These files are read and sent as binary REST API request payloads in tests. +# Without consistent line endings, the binary content differs between platforms, +# causing recorded test traffic to be inconsistent and test playback to fail. +# +# By enforcing LF endings, the binary representation remains identical regardless +# of the platform where tests are executed. + +*.md text eol=lf +*.csv text eol=lf +*.jsonl text eol=lf From 8729a5bcc60c2cef2c842a5f7bc43ed82aa159ba Mon Sep 17 00:00:00 2001 From: Howie Leung Date: Sat, 6 Dec 2025 22:14:32 -0800 Subject: [PATCH 3/5] fix bug --- sdk/ai/azure-ai-projects/assets.json | 2 +- sdk/ai/azure-ai-projects/tests/conftest.py | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/sdk/ai/azure-ai-projects/assets.json b/sdk/ai/azure-ai-projects/assets.json index d52721988643..3c6c132cb364 100644 --- a/sdk/ai/azure-ai-projects/assets.json +++ b/sdk/ai/azure-ai-projects/assets.json @@ -2,5 +2,5 @@ "AssetsRepo": "Azure/azure-sdk-assets", "AssetsRepoPrefixPath": "python", "TagPrefix": "python/ai/azure-ai-projects", - "Tag": "python/ai/azure-ai-projects_dc87aa5115" + "Tag": "python/ai/azure-ai-projects_a5c2975a45" } diff --git a/sdk/ai/azure-ai-projects/tests/conftest.py b/sdk/ai/azure-ai-projects/tests/conftest.py index 19d24291d645..5a009ec7c80d 100644 --- a/sdk/ai/azure-ai-projects/tests/conftest.py +++ b/sdk/ai/azure-ai-projects/tests/conftest.py @@ -103,9 +103,6 @@ def sanitize_url_paths(): # Normalize Content-Type for CSV files in multipart form-data (varies by OS/Python version) add_general_string_sanitizer(target="Content-Type: text/csv", value="Content-Type: application/vnd.ms-excel") - # Normalize Content-Type for markdown files in multipart form-data (varies by OS/Python version) - add_general_string_sanitizer(target="Content-Type: application/octet-stream", value="Content-Type: text/markdown") - # Sanitize API key from service response (this includes Application Insights connection string) add_body_key_sanitizer(json_path="credentials.key", value="sanitized-api-key") From efc6240d820254df0df1ab9608b185f92b7bbea4 Mon Sep 17 00:00:00 2001 From: Howie Leung Date: Sat, 6 Dec 2025 23:13:44 -0800 Subject: [PATCH 4/5] fix bug --- sdk/ai/azure-ai-projects/assets.json | 2 +- sdk/ai/azure-ai-projects/tests/conftest.py | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/sdk/ai/azure-ai-projects/assets.json b/sdk/ai/azure-ai-projects/assets.json index 3c6c132cb364..219af81a83e0 100644 --- a/sdk/ai/azure-ai-projects/assets.json +++ b/sdk/ai/azure-ai-projects/assets.json @@ -2,5 +2,5 @@ "AssetsRepo": "Azure/azure-sdk-assets", "AssetsRepoPrefixPath": "python", "TagPrefix": "python/ai/azure-ai-projects", - "Tag": "python/ai/azure-ai-projects_a5c2975a45" + "Tag": "python/ai/azure-ai-projects_0c9b00044b" } diff --git a/sdk/ai/azure-ai-projects/tests/conftest.py b/sdk/ai/azure-ai-projects/tests/conftest.py index 5a009ec7c80d..b57b29039616 100644 --- a/sdk/ai/azure-ai-projects/tests/conftest.py +++ b/sdk/ai/azure-ai-projects/tests/conftest.py @@ -101,7 +101,14 @@ def sanitize_url_paths(): sanitize_url_paths() # Normalize Content-Type for CSV files in multipart form-data (varies by OS/Python version) - add_general_string_sanitizer(target="Content-Type: text/csv", value="Content-Type: application/vnd.ms-excel") + add_general_string_sanitizer( + target="Content-Type: application/vnd.ms-excel\r\n", value="Content-Type: text/csv\r\n" + ) + + # Normalize Content-Type for markdown files in multipart form-data (varies by OS/Python version) + add_general_string_sanitizer( + target="Content-Type: text/markdown\r\n", value="Content-Type: application/octet-stream\r\n" + ) # Sanitize API key from service response (this includes Application Insights connection string) add_body_key_sanitizer(json_path="credentials.key", value="sanitized-api-key") From 7d46a5325db8494136361f558d023ccdb53621ad Mon Sep 17 00:00:00 2001 From: Howie Leung Date: Sat, 6 Dec 2025 23:56:00 -0800 Subject: [PATCH 5/5] fix bug --- sdk/ai/azure-ai-projects/tests/conftest.py | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/sdk/ai/azure-ai-projects/tests/conftest.py b/sdk/ai/azure-ai-projects/tests/conftest.py index b57b29039616..ad54a729211e 100644 --- a/sdk/ai/azure-ai-projects/tests/conftest.py +++ b/sdk/ai/azure-ai-projects/tests/conftest.py @@ -3,6 +3,14 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # ------------------------------------ + +# Register MIME types before any other imports to ensure consistent Content-Type detection +# across Windows, macOS, and Linux when uploading files in tests +import mimetypes + +mimetypes.add_type("text/csv", ".csv") +mimetypes.add_type("text/markdown", ".md") + import os import pytest from dotenv import load_dotenv, find_dotenv @@ -100,16 +108,6 @@ def sanitize_url_paths(): sanitize_url_paths() - # Normalize Content-Type for CSV files in multipart form-data (varies by OS/Python version) - add_general_string_sanitizer( - target="Content-Type: application/vnd.ms-excel\r\n", value="Content-Type: text/csv\r\n" - ) - - # Normalize Content-Type for markdown files in multipart form-data (varies by OS/Python version) - add_general_string_sanitizer( - target="Content-Type: text/markdown\r\n", value="Content-Type: application/octet-stream\r\n" - ) - # Sanitize API key from service response (this includes Application Insights connection string) add_body_key_sanitizer(json_path="credentials.key", value="sanitized-api-key")