Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
using System.Reflection;
using System.Text;
using System.Text.Json;
#if !NET9_0_OR_GREATER
using System.Text.Json.Nodes;
#endif
using HotChocolate.Buffers;
using HotChocolate.Execution;
using HotChocolate.Execution.Errors;
Expand Down Expand Up @@ -2397,7 +2400,14 @@ enum Color {
{"text":"caf\u00E9 \u0022quoted\u0022 \\ \n \uD83D\uDE00 \u00FCber","plain":"plain","color":"GREEN","plainColor":"RED","count":42,"ratio":1.5e3}
""");
using var forwarded = JsonDocument.Parse(json);
#if NET9_0_OR_GREATER
Assert.True(JsonElement.DeepEquals(variables.RootElement, forwarded.RootElement));
#else
Assert.True(
JsonNode.DeepEquals(
JsonNode.Parse(variables.RootElement.GetRawText()),
JsonNode.Parse(forwarded.RootElement.GetRawText())));
#endif
}

private static VariableValues CreateVariableValues(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
using System.Text;
using System.Text.Json;
#if !NET9_0_OR_GREATER
using System.Text.Json.Nodes;
#endif
using ChilliCream.Nitro.Adapters.Mcp.Extensions;
using ChilliCream.Nitro.Adapters.Mcp.Serialization;
using HotChocolate.Adapters.Mcp.Storage;
Expand Down Expand Up @@ -112,14 +115,28 @@ await archive.AddToolAsync(

var prompt = await readArchive.TryGetPromptAsync("GetUsersPrompt", TestContext.Current.CancellationToken);
Assert.NotNull(prompt);
#if NET9_0_OR_GREATER
Assert.True(JsonElement.DeepEquals(promptSettings.RootElement, prompt.Settings.RootElement));
#else
Assert.True(
JsonNode.DeepEquals(
JsonNode.Parse(promptSettings.RootElement.GetRawText()),
JsonNode.Parse(prompt.Settings.RootElement.GetRawText())));
#endif
prompt.Dispose();

using var tool = await readArchive.TryGetToolAsync("GetUsers", TestContext.Current.CancellationToken);
Assert.NotNull(tool);
Assert.Equal(operation, tool.Document.ToArray());
Assert.NotNull(tool.Settings);
#if NET9_0_OR_GREATER
Assert.True(JsonElement.DeepEquals(toolSettings.RootElement, tool.Settings.RootElement));
#else
Assert.True(
JsonNode.DeepEquals(
JsonNode.Parse(toolSettings.RootElement.GetRawText()),
JsonNode.Parse(tool.Settings.RootElement.GetRawText())));
#endif
Assert.Equal(viewHtml, tool.ViewHtml?.ToArray());
}
}
Expand Down Expand Up @@ -157,12 +174,26 @@ public async Task UpdateMode_CanAddNewPromptsToExistingArchive()
{
var prompt1 = await readArchive.TryGetPromptAsync(name1, TestContext.Current.CancellationToken);
Assert.NotNull(prompt1);
#if NET9_0_OR_GREATER
Assert.True(JsonElement.DeepEquals(settings1.RootElement, prompt1.Settings.RootElement));
#else
Assert.True(
JsonNode.DeepEquals(
JsonNode.Parse(settings1.RootElement.GetRawText()),
JsonNode.Parse(prompt1.Settings.RootElement.GetRawText())));
#endif
prompt1.Dispose();

var prompt2 = await readArchive.TryGetPromptAsync(name2, TestContext.Current.CancellationToken);
Assert.NotNull(prompt2);
#if NET9_0_OR_GREATER
Assert.True(JsonElement.DeepEquals(settings2.RootElement, prompt2.Settings.RootElement));
#else
Assert.True(
JsonNode.DeepEquals(
JsonNode.Parse(settings2.RootElement.GetRawText()),
JsonNode.Parse(prompt2.Settings.RootElement.GetRawText())));
#endif
prompt2.Dispose();
}
}
Expand Down Expand Up @@ -500,7 +531,14 @@ public async Task AddPromptsAndTools_Together_StoresSeparately()
var prompt = await archive.TryGetPromptAsync("GetUserPrompt", TestContext.Current.CancellationToken);

Assert.NotNull(prompt);
#if NET9_0_OR_GREATER
Assert.True(JsonElement.DeepEquals(prompt.Settings.RootElement, prompt.Settings.RootElement));
#else
Assert.True(
JsonNode.DeepEquals(
JsonNode.Parse(prompt.Settings.RootElement.GetRawText()),
JsonNode.Parse(prompt.Settings.RootElement.GetRawText())));
#endif

// assert - Tools
using var tool = await archive.TryGetToolAsync("GetUser", TestContext.Current.CancellationToken);
Expand Down
Loading