Skip to main content
Glama
ExecuteMenuItemTests.cs1.6 kB
using NUnit.Framework; using Newtonsoft.Json.Linq; using MCPForUnity.Editor.Tools; namespace MCPForUnityTests.Editor.Tools { public class ExecuteMenuItemTests { private static JObject ToJO(object o) => JObject.FromObject(o); [Test] public void Execute_MissingParam_ReturnsError() { var res = ExecuteMenuItem.HandleCommand(new JObject()); var jo = ToJO(res); Assert.IsFalse((bool)jo["success"], "Expected success false"); StringAssert.Contains("Required parameter", (string)jo["error"]); } [Test] public void Execute_Blacklisted_ReturnsError() { var res = ExecuteMenuItem.HandleCommand(new JObject { ["menuPath"] = "File/Quit" }); var jo = ToJO(res); Assert.IsFalse((bool)jo["success"], "Expected success false for blacklisted menu"); StringAssert.Contains("blocked for safety", (string)jo["error"], "Expected blacklist message"); } [Test] public void Execute_NonBlacklisted_ReturnsImmediateSuccess() { // We don't rely on the menu actually existing; execution is delayed and we only check the immediate response shape var res = ExecuteMenuItem.HandleCommand(new JObject { ["menuPath"] = "File/Save Project" }); var jo = ToJO(res); Assert.IsTrue((bool)jo["success"], "Expected immediate success response"); StringAssert.Contains("Attempted to execute menu item", (string)jo["message"], "Expected attempt message"); } } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/CoplayDev/unity-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server