From 402eab56f91a36a8fc5f2c08324e69b5512103d5 Mon Sep 17 00:00:00 2001 From: dsarno Date: Thu, 29 Jan 2026 15:44:43 -0800 Subject: [PATCH] Fix test failures by invalidating EditorConfigurationCache after setting EditorPrefs (#651) Several tests were setting EditorPrefs values directly but not refreshing the EditorConfigurationCache singleton, causing it to return stale cached values. This led to tests expecting certain behavior (e.g., checking remote URL errors) but getting unexpected errors (e.g., "HTTP transport is disabled"). Added EditorConfigurationCache.Instance.Refresh() calls to: - ServerCommandBuilderTests.TryBuildCommand_RemoteUrl_ReturnsFalse() - ServerCommandBuilderTests.TryBuildCommand_LocalUrl_ReturnsCommandOrError() - ServerManagementServiceCharacterizationTests.TryGetLocalHttpServerCommand_RemoteUrl_ReturnsFalseWithError() - WriteToConfigTests.SetUp() This ensures the cache is refreshed when EditorPrefs are modified in tests. Co-authored-by: Claude Haiku 4.5 --- .../Assets/Tests/EditMode/Helpers/WriteToConfigTests.cs | 1 + .../ServerManagementServiceCharacterizationTests.cs | 1 + .../Tests/EditMode/Services/Server/ServerCommandBuilderTests.cs | 2 ++ 3 files changed, 4 insertions(+) diff --git a/TestProjects/UnityMCPTests/Assets/Tests/EditMode/Helpers/WriteToConfigTests.cs b/TestProjects/UnityMCPTests/Assets/Tests/EditMode/Helpers/WriteToConfigTests.cs index 9d281b7..59241ba 100644 --- a/TestProjects/UnityMCPTests/Assets/Tests/EditMode/Helpers/WriteToConfigTests.cs +++ b/TestProjects/UnityMCPTests/Assets/Tests/EditMode/Helpers/WriteToConfigTests.cs @@ -66,6 +66,7 @@ namespace MCPForUnityTests.Editor.Helpers // Force HTTP transport defaults so expectations match current behavior EditorPrefs.SetBool(UseHttpTransportPrefKey, true); EditorPrefs.SetString(HttpUrlPrefKey, "http://localhost:8080"); + EditorConfigCache.Instance.Refresh(); } [TearDown] diff --git a/TestProjects/UnityMCPTests/Assets/Tests/EditMode/Services/Characterization/ServerManagementServiceCharacterizationTests.cs b/TestProjects/UnityMCPTests/Assets/Tests/EditMode/Services/Characterization/ServerManagementServiceCharacterizationTests.cs index 2fa8cdf..edde8b5 100644 --- a/TestProjects/UnityMCPTests/Assets/Tests/EditMode/Services/Characterization/ServerManagementServiceCharacterizationTests.cs +++ b/TestProjects/UnityMCPTests/Assets/Tests/EditMode/Services/Characterization/ServerManagementServiceCharacterizationTests.cs @@ -215,6 +215,7 @@ namespace MCPForUnityTests.Editor.Services.Characterization // Arrange EditorPrefs.SetBool(EditorPrefKeys.UseHttpTransport, true); EditorPrefs.SetString(EditorPrefKeys.HttpBaseUrl, "http://remote.server.com:8080"); + EditorConfigurationCache.Instance.Refresh(); _service = new ServerManagementService(); // Act diff --git a/TestProjects/UnityMCPTests/Assets/Tests/EditMode/Services/Server/ServerCommandBuilderTests.cs b/TestProjects/UnityMCPTests/Assets/Tests/EditMode/Services/Server/ServerCommandBuilderTests.cs index 5071058..49f8895 100644 --- a/TestProjects/UnityMCPTests/Assets/Tests/EditMode/Services/Server/ServerCommandBuilderTests.cs +++ b/TestProjects/UnityMCPTests/Assets/Tests/EditMode/Services/Server/ServerCommandBuilderTests.cs @@ -237,6 +237,7 @@ namespace MCPForUnityTests.Editor.Services.Server // Arrange EditorPrefs.SetBool(EditorPrefKeys.UseHttpTransport, true); EditorPrefs.SetString(EditorPrefKeys.HttpBaseUrl, "http://remote.server.com:8080"); + EditorConfigurationCache.Instance.Refresh(); // Act bool result = _builder.TryBuildCommand(out string fileName, out string arguments, out string displayCommand, out string error); @@ -253,6 +254,7 @@ namespace MCPForUnityTests.Editor.Services.Server // Arrange EditorPrefs.SetBool(EditorPrefKeys.UseHttpTransport, true); EditorPrefs.SetString(EditorPrefKeys.HttpBaseUrl, "http://localhost:8080"); + EditorConfigurationCache.Instance.Refresh(); // Act bool result = _builder.TryBuildCommand(out string fileName, out string arguments, out string displayCommand, out string error);