From d10cadc82e50547b81d23dd6b295b76bd15b46d6 Mon Sep 17 00:00:00 2001 From: tobias-tengler <45513122+tobias-tengler@users.noreply.github.com> Date: Fri, 17 Apr 2026 21:41:29 +0200 Subject: [PATCH 1/3] Improve wording --- .../Commands/Clients/PublishClientCommand.cs | 4 +- .../Commands/Clients/ValidateClientCommand.cs | 4 +- .../Commands/Fusion/FusionPublishCommand.cs | 4 +- .../Commands/Fusion/FusionPublishHelpers.cs | 10 ++-- .../Commands/Fusion/FusionValidateCommand.cs | 4 +- ...sionConfigurationPublishValidateCommand.cs | 2 +- .../Mcp/PublishMcpFeatureCollectionCommand.cs | 4 +- .../ValidateMcpFeatureCollectionCommand.cs | 4 +- .../PublishOpenApiCollectionCommand.cs | 4 +- .../ValidateOpenApiCollectionCommand.cs | 4 +- .../Commands/Schemas/PublishSchemaCommand.cs | 4 +- .../Commands/Schemas/SchemaHelpers.cs | 2 +- .../Commands/Schemas/ValidateSchemaCommand.cs | 2 +- .../CommandLine/src/CommandLine/Messages.cs | 2 +- .../Services/Console/INitroConsoleActivity.cs | 4 +- .../Services/Console/NitroConsoleActivity.cs | 8 +-- .../Clients/PublishClientCommandTests.cs | 12 ++-- .../Clients/ValidateClientCommandTests.cs | 4 +- ...nConfigurationPublishCommitCommandTests.cs | 4 +- ...onfigurationPublishValidateCommandTests.cs | 6 +- .../Fusion/FusionPublishCommandTests.cs | 58 +++++++++---------- .../Fusion/FusionValidateCommandTests.cs | 10 ++-- ...PublishMcpFeatureCollectionCommandTests.cs | 12 ++-- ...alidateMcpFeatureCollectionCommandTests.cs | 4 +- .../PublishOpenApiCollectionCommandTests.cs | 12 ++-- .../ValidateOpenApiCollectionCommandTests.cs | 4 +- .../Schemas/PublishSchemaCommandTests.cs | 12 ++-- .../Schemas/ValidateSchemaCommandTests.cs | 4 +- 28 files changed, 104 insertions(+), 104 deletions(-) diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/Clients/PublishClientCommand.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/Clients/PublishClientCommand.cs index 976e2c543c7..1fd5a3a118f 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/Clients/PublishClientCommand.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/Clients/PublishClientCommand.cs @@ -142,9 +142,9 @@ private static async Task ExecuteAsync( } } - await activity.FailAllAsync(errorTree); + await activity.FailAllAsync(errorTree, "The new client version was rejected."); - throw new ExitException("Client publish failed."); + throw new ExitException("The new client version was rejected."); case IClientVersionPublishSuccess: activity.Success($"Published new client version '{tag.EscapeMarkup()}' to stage '{stage.EscapeMarkup()}'."); diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/Clients/ValidateClientCommand.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/Clients/ValidateClientCommand.cs index 502bfe1f42e..6f3531bb9a6 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/Clients/ValidateClientCommand.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/Clients/ValidateClientCommand.cs @@ -124,9 +124,9 @@ private static async Task ExecuteAsync( } } - await activity.FailAllAsync(errorTree); + await activity.FailAllAsync(errorTree, "Client failed validation."); - throw new ExitException("Client validation failed."); + throw new ExitException("Client failed validation."); case IClientVersionValidationSuccess: activity.Success($"Validated client against stage '{stage.EscapeMarkup()}'."); diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionPublishCommand.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionPublishCommand.cs index 9b9b00d4ac6..ca235ada67f 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionPublishCommand.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionPublishCommand.cs @@ -275,7 +275,7 @@ async Task ComposeAsync( } else { - await composeActivity.FailAllAsync(); + await composeActivity.FailAllAsync(message: "The Fusion configuration could not be composed."); console.WriteLine(); console.WriteLine("## Composition log"); @@ -374,7 +374,7 @@ await FusionPublishHelpers.ClaimDeploymentSlotAsync( // Write directly instead of throwing so the release-slot fallback // in the outer catch is not triggered — the publish hasn't actually // reserved any remote state that needs tearing down here. - console.Error.WriteErrorLine("Fusion configuration validation failed."); + console.Error.WriteErrorLine("Fusion configuration failed validation."); return ExitCodes.Error; } } diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionPublishHelpers.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionPublishHelpers.cs index 51f7ad82807..9eaba5d0f18 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionPublishHelpers.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionPublishHelpers.cs @@ -104,9 +104,9 @@ public static async Task RequestDeploymentSlotAsync( } } - await activity.FailAllAsync(errorTree); + await activity.FailAllAsync(errorTree, "The new Fusion configuration version was rejected."); - throw new ExitException("Your request has failed."); + throw new ExitException("The new Fusion configuration version was rejected."); case IFusionConfigurationPublishingSuccess: await subscriptionCancellation.CancelAsync(); @@ -227,8 +227,8 @@ public static async Task UploadFusionConfigurationAsync( } } - await activity.FailAllAsync(publishErrorTree); - throw new ExitException("Failed to publish the new configuration."); + await activity.FailAllAsync(publishErrorTree, "The new Fusion configuration version was rejected."); + throw new ExitException("The new Fusion configuration version was rejected."); case IFusionConfigurationPublishingSuccess: committed = true; @@ -378,7 +378,7 @@ public static async Task ValidateFusionConfigurationAsync( } } - activity.Fail(errorTree); + activity.Fail(errorTree, "Fusion configuration failed validation."); return false; diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionValidateCommand.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionValidateCommand.cs index 6641b8c618d..568ddea3fea 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionValidateCommand.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionValidateCommand.cs @@ -170,7 +170,7 @@ async Task ValidateWithSourceSchemaFiles() } else { - await composeActivity.FailAllAsync(); + await composeActivity.FailAllAsync(message: "The Fusion configuration could not be composed."); console.WriteLine(); console.WriteLine("## Composition log"); @@ -230,7 +230,7 @@ async Task ValidateAsync(INitroConsoleActivity activity, Stream archiveStre if (!isValid) { - throw new ExitException("Schema validation failed."); + throw new ExitException("Fusion configuration failed validation."); } return ExitCodes.Success; diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/PublishCommand/FusionConfigurationPublishValidateCommand.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/PublishCommand/FusionConfigurationPublishValidateCommand.cs index daf5870d761..f32895aaddd 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/PublishCommand/FusionConfigurationPublishValidateCommand.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/PublishCommand/FusionConfigurationPublishValidateCommand.cs @@ -63,7 +63,7 @@ await FusionConfigurationPublishingState.GetRequestId(fileSystem, cancellationTo if (!isValidArchive) { - throw new ExitException("Fusion configuration validation failed."); + throw new ExitException("Fusion configuration failed validation."); } activity.Success("Validated configuration."); diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/Mcp/PublishMcpFeatureCollectionCommand.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/Mcp/PublishMcpFeatureCollectionCommand.cs index e066924d425..fc341fede8e 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/Mcp/PublishMcpFeatureCollectionCommand.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/Mcp/PublishMcpFeatureCollectionCommand.cs @@ -143,9 +143,9 @@ private static async Task ExecuteAsync( } } - await activity.FailAllAsync(errorTree); + await activity.FailAllAsync(errorTree, "The new MCP feature collection version was rejected."); - throw new ExitException("MCP feature collection publish failed."); + throw new ExitException("The new MCP feature collection version was rejected."); case IMcpFeatureCollectionVersionPublishSuccess: activity.Success($"Published new version '{tag.EscapeMarkup()}' of MCP feature collection '{mcpFeatureCollectionId.EscapeMarkup()}' to stage '{stage.EscapeMarkup()}'."); diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/Mcp/ValidateMcpFeatureCollectionCommand.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/Mcp/ValidateMcpFeatureCollectionCommand.cs index ebfe5359b86..1ed700b08f5 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/Mcp/ValidateMcpFeatureCollectionCommand.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/Mcp/ValidateMcpFeatureCollectionCommand.cs @@ -139,9 +139,9 @@ await McpFeatureCollectionHelpers.BuildMcpFeatureCollectionArchive( } } - await activity.FailAllAsync(errorTree); + await activity.FailAllAsync(errorTree, "MCP feature collection failed validation."); - throw new ExitException("MCP feature collection validation failed."); + throw new ExitException("MCP feature collection failed validation."); case IMcpFeatureCollectionVersionValidationSuccess: activity.Success($"Validated MCP feature collection against stage '{stage.EscapeMarkup()}'."); diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/OpenApi/PublishOpenApiCollectionCommand.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/OpenApi/PublishOpenApiCollectionCommand.cs index 2244166759c..4ad2ba94c24 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/OpenApi/PublishOpenApiCollectionCommand.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/OpenApi/PublishOpenApiCollectionCommand.cs @@ -142,9 +142,9 @@ private static async Task ExecuteAsync( } } - await activity.FailAllAsync(errorTree); + await activity.FailAllAsync(errorTree, "The new OpenAPI collection version was rejected."); - throw new ExitException("OpenAPI collection publish failed."); + throw new ExitException("The new OpenAPI collection version was rejected."); case IOpenApiCollectionVersionPublishSuccess: activity.Success($"Published new version '{tag.EscapeMarkup()}' of OpenAPI collection '{openApiCollectionId.EscapeMarkup()}' to stage '{stage.EscapeMarkup()}'."); diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/OpenApi/ValidateOpenApiCollectionCommand.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/OpenApi/ValidateOpenApiCollectionCommand.cs index 4e5f9d09fc8..77306b6d867 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/OpenApi/ValidateOpenApiCollectionCommand.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/OpenApi/ValidateOpenApiCollectionCommand.cs @@ -131,9 +131,9 @@ await OpenApiCollectionHelpers.BuildOpenApiCollectionArchive( } } - await activity.FailAllAsync(errorTree); + await activity.FailAllAsync(errorTree, "OpenAPI collection failed validation."); - throw new ExitException("OpenAPI collection validation failed."); + throw new ExitException("OpenAPI collection failed validation."); case IOpenApiCollectionVersionValidationSuccess: activity.Success($"Validated OpenAPI collection against stage '{stage.EscapeMarkup()}'."); diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/Schemas/PublishSchemaCommand.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/Schemas/PublishSchemaCommand.cs index 2784472f88c..792ae53d304 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/Schemas/PublishSchemaCommand.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/Schemas/PublishSchemaCommand.cs @@ -164,9 +164,9 @@ private static async Task ExecuteAsync( } } - await activity.FailAllAsync(errorTree); + await activity.FailAllAsync(errorTree, "The new schema version was rejected."); - throw new ExitException("Schema publish failed."); + throw new ExitException("The new schema version was rejected."); case ISchemaVersionPublishSuccess: activity.Success($"Published new schema version '{tag.EscapeMarkup()}' to stage '{stage.EscapeMarkup()}'."); diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/Schemas/SchemaHelpers.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/Schemas/SchemaHelpers.cs index 59a132f0875..b9783917ada 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/Schemas/SchemaHelpers.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/Schemas/SchemaHelpers.cs @@ -96,7 +96,7 @@ public static async Task ValidateSchemaAsync( } } - await activity.FailAllAsync(errorTree); + await activity.FailAllAsync(errorTree, "Schema failed validation."); return false; diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/Schemas/ValidateSchemaCommand.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/Schemas/ValidateSchemaCommand.cs index 0a9732183b7..e7e87447c22 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/Schemas/ValidateSchemaCommand.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/Schemas/ValidateSchemaCommand.cs @@ -76,7 +76,7 @@ private static async Task ExecuteAsync( if (!isValid) { - throw new ExitException("Schema validation failed."); + throw new ExitException("Schema failed validation."); } return ExitCodes.Success; diff --git a/src/Nitro/CommandLine/src/CommandLine/Messages.cs b/src/Nitro/CommandLine/src/CommandLine/Messages.cs index 9d293443d7b..252446007d2 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Messages.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Messages.cs @@ -37,7 +37,7 @@ public static string UnexpectedMutationError(IError error) public const string ValidationPassed = "Validation successful."; - public const string ValidationFailed = "Validation failed."; + public const string ValidationFailed = "Validation did not pass."; public const string RequestReadyForProcessing = "Your request is ready for processing."; diff --git a/src/Nitro/CommandLine/src/CommandLine/Services/Console/INitroConsoleActivity.cs b/src/Nitro/CommandLine/src/CommandLine/Services/Console/INitroConsoleActivity.cs index e5e0d909c81..377a1def779 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Services/Console/INitroConsoleActivity.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Services/Console/INitroConsoleActivity.cs @@ -14,9 +14,9 @@ internal interface INitroConsoleActivity : IAsyncDisposable void Fail(); - void Fail(IRenderable details); + void Fail(IRenderable details, string? message = null); - ValueTask FailAllAsync(IRenderable? details = null); + ValueTask FailAllAsync(IRenderable? details = null, string? message = null); INitroConsoleActivity StartChildActivity(string title, string failureMessage); } diff --git a/src/Nitro/CommandLine/src/CommandLine/Services/Console/NitroConsoleActivity.cs b/src/Nitro/CommandLine/src/CommandLine/Services/Console/NitroConsoleActivity.cs index 90e1b6dab9c..bde6f2dfea3 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Services/Console/NitroConsoleActivity.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Services/Console/NitroConsoleActivity.cs @@ -70,14 +70,14 @@ public void Fail() Fail(_failureMessage); } - public void Fail(IRenderable details) + public void Fail(IRenderable details, string? message = null) { - Complete(_failureMessage, ActivityState.Failed, details); + Complete(message ?? _failureMessage, ActivityState.Failed, details); } - public async ValueTask FailAllAsync(IRenderable? details = null) + public async ValueTask FailAllAsync(IRenderable? details = null, string? message = null) { - Complete(_failureMessage, ActivityState.Failed, details); + Complete(message ?? _failureMessage, ActivityState.Failed, details); if (_parent is not null) { diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Clients/PublishClientCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Clients/PublishClientCommandTests.cs index 5ede31e0511..1fed1494fdb 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Clients/PublishClientCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Clients/PublishClientCommandTests.cs @@ -269,13 +269,13 @@ public async Task BreakingChanges_ReturnsError() """ Publishing new version 'v1' of client 'client-1' to stage 'dev' ├── Publication request created. (ID: request-1) - └── ✕ Failed to publish a new client version. + └── ✕ The new client version was rejected. └── Operation '6D12E4A815C50C504695E548EAF680BC8F337AC87E763E5689C685522A01BC59' (Deployed tags: 1.0.0) └── foo (10:10) """); result.StdErr.MatchInlineSnapshot( """ - Client publish failed. + The new client version was rejected. """); Assert.Equal(1, result.ExitCode); } @@ -337,7 +337,7 @@ public async Task WaitForApproval_BreakingChanges_Approved_ReturnsSuccess() """ Publishing new version 'v1' of client 'client-1' to stage 'dev' ├── Publication request created. (ID: request-1) - ├── ! Validation failed. + ├── ! Validation did not pass. │ └── Operation '6D12E4A815C50C504695E548EAF680BC8F337AC87E763E5689C685522A01BC59' (Deployed tags: 1.0.0) │ └── foo (10:10) ├── ⏳ Waiting for approval. Approve in Nitro to continue. @@ -370,17 +370,17 @@ public async Task WaitForApproval_BreakingChanges_NotApproved_ReturnsError() // assert result.StdErr.MatchInlineSnapshot( """ - Client publish failed. + The new client version was rejected. """); result.StdOut.MatchInlineSnapshot( """ Publishing new version 'v1' of client 'client-1' to stage 'dev' ├── Publication request created. (ID: request-1) - ├── ! Validation failed. + ├── ! Validation did not pass. │ └── Operation '6D12E4A815C50C504695E548EAF680BC8F337AC87E763E5689C685522A01BC59' (Deployed tags: 1.0.0) │ └── foo (10:10) ├── ⏳ Waiting for approval. Approve in Nitro to continue. - └── ✕ Failed to publish a new client version. + └── ✕ The new client version was rejected. """); Assert.Equal(1, result.ExitCode); } diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Clients/ValidateClientCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Clients/ValidateClientCommandTests.cs index 7f3a90b9298..44c85fea20f 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Clients/ValidateClientCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Clients/ValidateClientCommandTests.cs @@ -267,13 +267,13 @@ public async Task BreakingChanges_ReturnsError() """ Validating client 'client-1' against stage 'dev' ├── Validation request created. (ID: request-1) - └── ✕ Failed to validate the client. + └── ✕ Client failed validation. └── Operation '6D12E4A815C50C504695E548EAF680BC8F337AC87E763E5689C685522A01BC59' (Deployed tags: 1.0.0) └── foo (10:10) """); result.StdErr.MatchInlineSnapshot( """ - Client validation failed. + Client failed validation. """); Assert.Equal(1, result.ExitCode); } diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionConfigurationPublishCommitCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionConfigurationPublishCommitCommandTests.cs index c6372d43f17..3cfa5de309c 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionConfigurationPublishCommitCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionConfigurationPublishCommitCommandTests.cs @@ -305,12 +305,12 @@ public async Task Commit_Should_HandleSubscriptionEvents_When_PublishFails_Retur result.StdOut.MatchInlineSnapshot( """ Publishing Fusion configuration - └── ✕ Failed to publish a new Fusion configuration version. + └── ✕ The new Fusion configuration version was rejected. └── Deployment failed. """); result.StdErr.MatchInlineSnapshot( """ - Failed to publish the new configuration. + The new Fusion configuration version was rejected. """); Assert.Equal(1, result.ExitCode); } diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionConfigurationPublishValidateCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionConfigurationPublishValidateCommandTests.cs index 6872f9c17f7..1527e6a150b 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionConfigurationPublishValidateCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionConfigurationPublishValidateCommandTests.cs @@ -169,12 +169,12 @@ public async Task Subscription_ValidationFailed_ReturnsError() result.StdOut.MatchInlineSnapshot( """ Validating Fusion configuration - └── ✕ Failed to validate the Fusion configuration. + └── ✕ Fusion configuration failed validation. └── Something went wrong. """); result.StdErr.MatchInlineSnapshot( """ - Fusion configuration validation failed. + Fusion configuration failed validation. """); Assert.Equal(1, result.ExitCode); } @@ -365,7 +365,7 @@ Validating Fusion configuration """); result.StdErr.MatchInlineSnapshot( """ - Fusion configuration validation failed. + Fusion configuration failed validation. """); Assert.Equal(1, result.ExitCode); } diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionPublishCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionPublishCommandTests.cs index 4b7f5564981..99e2b3ca730 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionPublishCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionPublishCommandTests.cs @@ -647,7 +647,7 @@ public async Task WithArchive_BreakingChanges_ReturnsError() // assert result.StdErr.MatchInlineSnapshot( """ - Fusion configuration validation failed. + Fusion configuration failed validation. """); result.StdOut.MatchInlineSnapshot( """ @@ -659,7 +659,7 @@ Fusion configuration validation failed. │ └── ✓ Claimed deployment slot. ├── Validating configuration against 'dev' │ ├── Validating... - │ └── ✕ Failed to validate the new configuration. + │ └── ✕ Fusion configuration failed validation. │ ├── GraphQL schema changes │ │ ├── ✕ Directive foo was modified │ │ │ ├── ✓ Directive location FieldDefinition added @@ -730,7 +730,7 @@ public async Task WithArchive_BreakingChanges_Force_ReturnsSuccess() │ └── ✓ Claimed deployment slot. ├── Validating configuration against 'dev' │ ├── Validating... - │ └── ✕ Failed to validate the new configuration. + │ └── ✕ Fusion configuration failed validation. │ ├── GraphQL schema changes │ │ ├── ✕ Directive foo was modified │ │ │ ├── ✓ Directive location FieldDefinition added @@ -801,7 +801,7 @@ public async Task WithArchive_WaitForApproval_BreakingChanges_Approved_ReturnsSu ├── Claiming deployment slot │ └── ✓ Claimed deployment slot. ├── Uploading configuration to 'dev' - │ ├── ! Validation failed. + │ ├── ! Validation did not pass. │ │ ├── Invalid GraphQL schema │ │ │ └── There is no object type implementing interface `InterfaceWithoutImplementation`. (SCHEMA_INTERFACE_NO_IMPL) │ │ ├── Client 'TestClient' (ID: client-1) @@ -853,7 +853,7 @@ public async Task WithArchive_WaitForApproval_BreakingChanges_NotApproved_Return // assert result.StdErr.MatchInlineSnapshot( """ - Failed to publish the new configuration. + The new Fusion configuration version was rejected. """); result.StdOut.MatchInlineSnapshot( """ @@ -864,7 +864,7 @@ public async Task WithArchive_WaitForApproval_BreakingChanges_NotApproved_Return ├── Claiming deployment slot │ └── ✓ Claimed deployment slot. ├── Uploading configuration to 'dev' - │ ├── ! Validation failed. + │ ├── ! Validation did not pass. │ │ ├── Invalid GraphQL schema │ │ │ └── There is no object type implementing interface `InterfaceWithoutImplementation`. (SCHEMA_INTERFACE_NO_IMPL) │ │ ├── Client 'TestClient' (ID: client-1) @@ -877,7 +877,7 @@ public async Task WithArchive_WaitForApproval_BreakingChanges_NotApproved_Return │ │ └── Tool 'Fail' │ │ └── The field `person` does not exist on the type `Query`. (1:14) │ ├── ⏳ Waiting for approval. Approve in Nitro to continue. - │ └── ✕ Failed to upload the new configuration. + │ └── ✕ The new Fusion configuration version was rejected. └── ✕ Failed to publish a new Fusion configuration version. """); Assert.Equal(1, result.ExitCode); @@ -1014,7 +1014,7 @@ public async Task WithArchive_PublishingFailedWithErrors_ReturnsError() // assert result.StdErr.MatchInlineSnapshot( """ - Failed to publish the new configuration. + The new Fusion configuration version was rejected. """); result.StdOut.MatchInlineSnapshot( """ @@ -1028,7 +1028,7 @@ public async Task WithArchive_PublishingFailedWithErrors_ReturnsError() │ ├── Validating... │ └── ✓ Validated configuration. ├── Uploading configuration to 'dev' - │ └── ✕ Failed to upload the new configuration. + │ └── ✕ The new Fusion configuration version was rejected. │ ├── Invalid GraphQL schema │ │ └── Field 'Query.foo' has no type. (SCHEMA_ERROR) │ └── An error occurred. @@ -1507,7 +1507,7 @@ Source schema validation failed. ├── Downloading existing configuration from 'dev' │ └── ✓ Downloaded existing configuration from 'dev'. ├── Composing new configuration - │ └── ✕ Failed to compose new configuration. + │ └── ✕ The Fusion configuration could not be composed. └── ✕ Failed to publish a new Fusion configuration version. ## Composition log @@ -1650,7 +1650,7 @@ public async Task WithSourceSchemaFile_BreakingChanges_ReturnsError() // assert result.StdErr.MatchInlineSnapshot( """ - Fusion configuration validation failed. + Fusion configuration failed validation. """); result.StdOut.MatchInlineSnapshot( """ @@ -1666,7 +1666,7 @@ Fusion configuration validation failed. │ └── ✓ Composed new configuration. ├── Validating configuration against 'dev' │ ├── Validating... - │ └── ✕ Failed to validate the new configuration. + │ └── ✕ Fusion configuration failed validation. │ ├── GraphQL schema changes │ │ ├── ✕ Directive foo was modified │ │ │ ├── ✓ Directive location FieldDefinition added @@ -1742,7 +1742,7 @@ public async Task WithSourceSchemaFile_BreakingChanges_Force_ReturnsSuccess() │ └── ✓ Composed new configuration. ├── Validating configuration against 'dev' │ ├── Validating... - │ └── ✕ Failed to validate the new configuration. + │ └── ✕ Fusion configuration failed validation. │ ├── GraphQL schema changes │ │ ├── ✕ Directive foo was modified │ │ │ ├── ✓ Directive location FieldDefinition added @@ -1866,7 +1866,7 @@ public async Task WithSourceSchemaFile_WaitForApproval_BreakingChanges_Approved_ ├── Composing new configuration │ └── ✓ Composed new configuration. ├── Uploading configuration to 'dev' - │ ├── ! Validation failed. + │ ├── ! Validation did not pass. │ │ ├── Invalid GraphQL schema │ │ │ └── There is no object type implementing interface `InterfaceWithoutImplementation`. (SCHEMA_INTERFACE_NO_IMPL) │ │ ├── Client 'TestClient' (ID: client-1) @@ -1919,7 +1919,7 @@ public async Task WithSourceSchemaFile_WaitForApproval_BreakingChanges_NotApprov // assert result.StdErr.MatchInlineSnapshot( """ - Failed to publish the new configuration. + The new Fusion configuration version was rejected. """); result.StdOut.MatchInlineSnapshot( """ @@ -1934,7 +1934,7 @@ public async Task WithSourceSchemaFile_WaitForApproval_BreakingChanges_NotApprov ├── Composing new configuration │ └── ✓ Composed new configuration. ├── Uploading configuration to 'dev' - │ ├── ! Validation failed. + │ ├── ! Validation did not pass. │ │ ├── Invalid GraphQL schema │ │ │ └── There is no object type implementing interface `InterfaceWithoutImplementation`. (SCHEMA_INTERFACE_NO_IMPL) │ │ ├── Client 'TestClient' (ID: client-1) @@ -1947,7 +1947,7 @@ public async Task WithSourceSchemaFile_WaitForApproval_BreakingChanges_NotApprov │ │ └── Tool 'Fail' │ │ └── The field `person` does not exist on the type `Query`. (1:14) │ ├── ⏳ Waiting for approval. Approve in Nitro to continue. - │ └── ✕ Failed to upload the new configuration. + │ └── ✕ The new Fusion configuration version was rejected. └── ✕ Failed to publish a new Fusion configuration version. """); Assert.Equal(1, result.ExitCode); @@ -2095,7 +2095,7 @@ public async Task WithSourceSchemaFile_PublishingFailedWithErrors_ReturnsError() // assert result.StdErr.MatchInlineSnapshot( """ - Failed to publish the new configuration. + The new Fusion configuration version was rejected. """); result.StdOut.MatchInlineSnapshot( """ @@ -2113,7 +2113,7 @@ public async Task WithSourceSchemaFile_PublishingFailedWithErrors_ReturnsError() │ ├── Validating... │ └── ✓ Validated configuration. ├── Uploading configuration to 'dev' - │ └── ✕ Failed to upload the new configuration. + │ └── ✕ The new Fusion configuration version was rejected. │ ├── Invalid GraphQL schema │ │ └── Field 'Query.foo' has no type. (SCHEMA_ERROR) │ └── An error occurred. @@ -2654,7 +2654,7 @@ Source schema validation failed. ├── Downloading existing configuration from 'dev' │ └── ✓ Downloaded existing configuration from 'dev'. ├── Composing new configuration - │ └── ✕ Failed to compose new configuration. + │ └── ✕ The Fusion configuration could not be composed. └── ✕ Failed to publish a new Fusion configuration version. ## Composition log @@ -2847,7 +2847,7 @@ public async Task WithSourceSchema_BreakingChanges_ReturnsError() // assert result.StdErr.MatchInlineSnapshot( """ - Fusion configuration validation failed. + Fusion configuration failed validation. """); result.StdOut.MatchInlineSnapshot( """ @@ -2865,7 +2865,7 @@ Fusion configuration validation failed. │ └── ✓ Composed new configuration. ├── Validating configuration against 'dev' │ ├── Validating... - │ └── ✕ Failed to validate the new configuration. + │ └── ✕ Fusion configuration failed validation. │ ├── GraphQL schema changes │ │ ├── ✕ Directive foo was modified │ │ │ ├── ✓ Directive location FieldDefinition added @@ -2943,7 +2943,7 @@ public async Task WithSourceSchema_BreakingChanges_Force_ReturnsSuccess() │ └── ✓ Composed new configuration. ├── Validating configuration against 'dev' │ ├── Validating... - │ └── ✕ Failed to validate the new configuration. + │ └── ✕ Fusion configuration failed validation. │ ├── GraphQL schema changes │ │ ├── ✕ Directive foo was modified │ │ │ ├── ✓ Directive location FieldDefinition added @@ -3071,7 +3071,7 @@ public async Task WithSourceSchema_WaitForApproval_BreakingChanges_Approved_Retu ├── Composing new configuration │ └── ✓ Composed new configuration. ├── Uploading configuration to 'dev' - │ ├── ! Validation failed. + │ ├── ! Validation did not pass. │ │ ├── Invalid GraphQL schema │ │ │ └── There is no object type implementing interface `InterfaceWithoutImplementation`. (SCHEMA_INTERFACE_NO_IMPL) │ │ ├── Client 'TestClient' (ID: client-1) @@ -3124,7 +3124,7 @@ public async Task WithSourceSchema_WaitForApproval_BreakingChanges_NotApproved_R // assert result.StdErr.MatchInlineSnapshot( """ - Failed to publish the new configuration. + The new Fusion configuration version was rejected. """); result.StdOut.MatchInlineSnapshot( """ @@ -3141,7 +3141,7 @@ public async Task WithSourceSchema_WaitForApproval_BreakingChanges_NotApproved_R ├── Composing new configuration │ └── ✓ Composed new configuration. ├── Uploading configuration to 'dev' - │ ├── ! Validation failed. + │ ├── ! Validation did not pass. │ │ ├── Invalid GraphQL schema │ │ │ └── There is no object type implementing interface `InterfaceWithoutImplementation`. (SCHEMA_INTERFACE_NO_IMPL) │ │ ├── Client 'TestClient' (ID: client-1) @@ -3154,7 +3154,7 @@ public async Task WithSourceSchema_WaitForApproval_BreakingChanges_NotApproved_R │ │ └── Tool 'Fail' │ │ └── The field `person` does not exist on the type `Query`. (1:14) │ ├── ⏳ Waiting for approval. Approve in Nitro to continue. - │ └── ✕ Failed to upload the new configuration. + │ └── ✕ The new Fusion configuration version was rejected. └── ✕ Failed to publish a new Fusion configuration version. """); Assert.Equal(1, result.ExitCode); @@ -3306,7 +3306,7 @@ public async Task WithSourceSchema_PublishingFailedWithErrors_ReturnsError() // assert result.StdErr.MatchInlineSnapshot( """ - Failed to publish the new configuration. + The new Fusion configuration version was rejected. """); result.StdOut.MatchInlineSnapshot( """ @@ -3326,7 +3326,7 @@ public async Task WithSourceSchema_PublishingFailedWithErrors_ReturnsError() │ ├── Validating... │ └── ✓ Validated configuration. ├── Uploading configuration to 'dev' - │ └── ✕ Failed to upload the new configuration. + │ └── ✕ The new Fusion configuration version was rejected. │ ├── Invalid GraphQL schema │ │ └── Field 'Query.foo' has no type. (SCHEMA_ERROR) │ └── An error occurred. diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionValidateCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionValidateCommandTests.cs index 3e18b0d5487..06eb27a448f 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionValidateCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionValidateCommandTests.cs @@ -326,7 +326,7 @@ public async Task WithArchive_BreakingChanges_ReturnsError() // assert result.StdErr.MatchInlineSnapshot( """ - Schema validation failed. + Fusion configuration failed validation. """); result.StdOut.MatchInlineSnapshot( """ @@ -334,7 +334,7 @@ Validating Fusion configuration of API 'api-1' against stage 'dev' ├── Validation request created. (ID: request-id) ├── Validating... ├── Validating... - └── ✕ Failed to validate the Fusion configuration. + └── ✕ Schema failed validation. ├── GraphQL schema changes │ ├── ✕ Directive foo was modified │ │ ├── ✓ Directive location FieldDefinition added @@ -560,7 +560,7 @@ public async Task WithSourceSchemaFile_BreakingChanges_ReturnsError() // assert result.StdErr.MatchInlineSnapshot( """ - Schema validation failed. + Fusion configuration failed validation. """); result.StdOut.MatchInlineSnapshot( """ @@ -572,7 +572,7 @@ Validating Fusion configuration of API 'api-1' against stage 'dev' ├── Validation request created. (ID: request-id) ├── Validating... ├── Validating... - └── ✕ Failed to validate the Fusion configuration. + └── ✕ Schema failed validation. ├── GraphQL schema changes │ ├── ✕ Directive foo was modified │ │ ├── ✓ Directive location FieldDefinition added @@ -663,7 +663,7 @@ Validating Fusion configuration of API 'api-1' against stage 'dev' ├── Downloading existing Fusion configuration │ └── ✓ Downloaded existing configuration from 'dev'. ├── Composing new Fusion configuration - │ └── ✕ Failed to compose new Fusion configuration. + │ └── ✕ The Fusion configuration could not be composed. └── ✕ Failed to validate the Fusion configuration. ## Composition log diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Mcp/PublishMcpFeatureCollectionCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Mcp/PublishMcpFeatureCollectionCommandTests.cs index 22aaec91411..bb739bc1777 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Mcp/PublishMcpFeatureCollectionCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Mcp/PublishMcpFeatureCollectionCommandTests.cs @@ -269,12 +269,12 @@ public async Task BreakingChanges_ReturnsError() """ Publishing new version 'v1' of MCP feature collection 'mcp-1' to stage 'dev' ├── Publication request created. (ID: request-1) - └── ✕ Failed to publish a new MCP feature collection version. + └── ✕ The new MCP feature collection version was rejected. └── Something went wrong during publish. """); result.StdErr.MatchInlineSnapshot( """ - MCP feature collection publish failed. + The new MCP feature collection version was rejected. """); Assert.Equal(1, result.ExitCode); } @@ -336,7 +336,7 @@ public async Task WaitForApproval_BreakingChanges_Approved_ReturnsSuccess() """ Publishing new version 'v1' of MCP feature collection 'mcp-1' to stage 'dev' ├── Publication request created. (ID: request-1) - ├── ! Validation failed. + ├── ! Validation did not pass. │ └── MCP Feature Collection 'mcp-collection' (ID: mcp-1) │ └── Tool 'Fail' │ └── The field `person` does not exist on the type `Query`. (1:14) @@ -370,18 +370,18 @@ public async Task WaitForApproval_BreakingChanges_NotApproved_ReturnsError() // assert result.StdErr.MatchInlineSnapshot( """ - MCP feature collection publish failed. + The new MCP feature collection version was rejected. """); result.StdOut.MatchInlineSnapshot( """ Publishing new version 'v1' of MCP feature collection 'mcp-1' to stage 'dev' ├── Publication request created. (ID: request-1) - ├── ! Validation failed. + ├── ! Validation did not pass. │ └── MCP Feature Collection 'mcp-collection' (ID: mcp-1) │ └── Tool 'Fail' │ └── The field `person` does not exist on the type `Query`. (1:14) ├── ⏳ Waiting for approval. Approve in Nitro to continue. - └── ✕ Failed to publish a new MCP feature collection version. + └── ✕ The new MCP feature collection version was rejected. """); Assert.Equal(1, result.ExitCode); } diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Mcp/ValidateMcpFeatureCollectionCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Mcp/ValidateMcpFeatureCollectionCommandTests.cs index 58e99f346f1..45d2416cd29 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Mcp/ValidateMcpFeatureCollectionCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Mcp/ValidateMcpFeatureCollectionCommandTests.cs @@ -265,14 +265,14 @@ public async Task BreakingChanges_ReturnsError() Validating MCP feature collection 'mcp-1' against stage 'dev' ├── Found 1 prompt(s) and 1 tool(s). ├── Validation request created. (ID: request-1) - └── ✕ Failed to validate the MCP feature collection. + └── ✕ MCP feature collection failed validation. └── MCP Feature Collection 'mcp-collection' (ID: mcp-1) └── Tool 'Fail' └── Invalid tool definition. (1:14) """); result.StdErr.MatchInlineSnapshot( """ - MCP feature collection validation failed. + MCP feature collection failed validation. """); Assert.Equal(1, result.ExitCode); } diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/OpenApi/PublishOpenApiCollectionCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/OpenApi/PublishOpenApiCollectionCommandTests.cs index f2a2e9383ed..b69a45a68fd 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/OpenApi/PublishOpenApiCollectionCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/OpenApi/PublishOpenApiCollectionCommandTests.cs @@ -269,12 +269,12 @@ public async Task BreakingChanges_ReturnsError() """ Publishing new version 'v1' of OpenAPI collection 'oa-1' to stage 'dev' ├── Publication request created. (ID: request-1) - └── ✕ Failed to publish a new OpenAPI collection version. + └── ✕ The new OpenAPI collection version was rejected. └── Something went wrong during publish. """); result.StdErr.MatchInlineSnapshot( """ - OpenAPI collection publish failed. + The new OpenAPI collection version was rejected. """); Assert.Equal(1, result.ExitCode); } @@ -336,7 +336,7 @@ public async Task WaitForApproval_BreakingChanges_Approved_ReturnsSuccess() """ Publishing new version 'v1' of OpenAPI collection 'oa-1' to stage 'dev' ├── Publication request created. (ID: request-1) - ├── ! Validation failed. + ├── ! Validation did not pass. │ └── OpenAPI collection 'petstore' (ID: collection-1) │ └── Endpoint 'GET /fail' │ └── The field `person` does not exist on the type `Query`. (1:14) @@ -370,18 +370,18 @@ public async Task WaitForApproval_BreakingChanges_NotApproved_ReturnsError() // assert result.StdErr.MatchInlineSnapshot( """ - OpenAPI collection publish failed. + The new OpenAPI collection version was rejected. """); result.StdOut.MatchInlineSnapshot( """ Publishing new version 'v1' of OpenAPI collection 'oa-1' to stage 'dev' ├── Publication request created. (ID: request-1) - ├── ! Validation failed. + ├── ! Validation did not pass. │ └── OpenAPI collection 'petstore' (ID: collection-1) │ └── Endpoint 'GET /fail' │ └── The field `person` does not exist on the type `Query`. (1:14) ├── ⏳ Waiting for approval. Approve in Nitro to continue. - └── ✕ Failed to publish a new OpenAPI collection version. + └── ✕ The new OpenAPI collection version was rejected. """); Assert.Equal(1, result.ExitCode); } diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/OpenApi/ValidateOpenApiCollectionCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/OpenApi/ValidateOpenApiCollectionCommandTests.cs index 95b1a7440b6..530e99268db 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/OpenApi/ValidateOpenApiCollectionCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/OpenApi/ValidateOpenApiCollectionCommandTests.cs @@ -248,14 +248,14 @@ public async Task BreakingChanges_ReturnsError() Validating OpenAPI collection 'oa-1' against stage 'dev' ├── Found 1 document(s). ├── Validation request created. (ID: request-1) - └── ✕ Failed to validate the OpenAPI collection. + └── ✕ OpenAPI collection failed validation. └── OpenAPI collection 'petstore' (ID: collection-1) └── Endpoint 'GET /fail' └── The field `person` does not exist on the type `Query`. (1:14) """); result.StdErr.MatchInlineSnapshot( """ - OpenAPI collection validation failed. + OpenAPI collection failed validation. """); Assert.Equal(1, result.ExitCode); } diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Schemas/PublishSchemaCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Schemas/PublishSchemaCommandTests.cs index 571bb0c941f..57ae4177609 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Schemas/PublishSchemaCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Schemas/PublishSchemaCommandTests.cs @@ -282,12 +282,12 @@ public async Task BreakingChanges_ReturnsError() """ Publishing new schema version 'v1' of API 'api-1' to stage 'dev' ├── Publication request created. (ID: request-id) - └── ✕ Failed to publish a new schema version. + └── ✕ The new schema version was rejected. └── Something went wrong during publish. """); result.StdErr.MatchInlineSnapshot( """ - Schema publish failed. + The new schema version was rejected. """); Assert.Equal(1, result.ExitCode); } @@ -349,7 +349,7 @@ public async Task WaitForApproval_BreakingChanges_Approved_ReturnsSuccess() """ Publishing new schema version 'v1' of API 'api-1' to stage 'dev' ├── Publication request created. (ID: request-id) - ├── ! Validation failed. + ├── ! Validation did not pass. │ ├── Invalid GraphQL schema │ │ └── There is no object type implementing interface `InterfaceWithoutImplementation`. (SCHEMA_INTERFACE_NO_IMPL) │ ├── GraphQL schema changes @@ -405,13 +405,13 @@ public async Task WaitForApproval_BreakingChanges_NotApproved_ReturnsError() // assert result.StdErr.MatchInlineSnapshot( """ - Schema publish failed. + The new schema version was rejected. """); result.StdOut.MatchInlineSnapshot( """ Publishing new schema version 'v1' of API 'api-1' to stage 'dev' ├── Publication request created. (ID: request-id) - ├── ! Validation failed. + ├── ! Validation did not pass. │ ├── Invalid GraphQL schema │ │ └── There is no object type implementing interface `InterfaceWithoutImplementation`. (SCHEMA_INTERFACE_NO_IMPL) │ ├── GraphQL schema changes @@ -438,7 +438,7 @@ Schema publish failed. │ ├── There was a syntax error in your schema document. │ └── Operations are not allowed in a schema document. ├── ⏳ Waiting for approval. Approve in Nitro to continue. - └── ✕ Failed to publish a new schema version. + └── ✕ The new schema version was rejected. """); Assert.Equal(1, result.ExitCode); } diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Schemas/ValidateSchemaCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Schemas/ValidateSchemaCommandTests.cs index 4b3158cc57a..756f7dd119e 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Schemas/ValidateSchemaCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Schemas/ValidateSchemaCommandTests.cs @@ -279,7 +279,7 @@ public async Task BreakingChanges_ReturnsError() // assert result.StdErr.MatchInlineSnapshot( """ - Schema validation failed. + Schema failed validation. """); result.StdOut.MatchInlineSnapshot( """ @@ -287,7 +287,7 @@ Validating schema of API 'api-1' against stage 'dev' ├── Validation request created. (ID: request-id) ├── Validating... ├── Validating... - └── ✕ Failed to validate the schema. + └── ✕ Schema failed validation. ├── GraphQL schema changes │ ├── ✕ Directive foo was modified │ │ ├── ✓ Directive location FieldDefinition added From 5ec8b6659795a99d928394d58d0e7ba33272cf92 Mon Sep 17 00:00:00 2001 From: tobias-tengler <45513122+tobias-tengler@users.noreply.github.com> Date: Fri, 17 Apr 2026 22:08:03 +0200 Subject: [PATCH 2/3] More improvements --- .../Commands/Clients/ValidateClientCommand.cs | 2 +- .../Commands/Fusion/FusionPublishCommand.cs | 2 +- .../Commands/Fusion/FusionValidateCommand.cs | 8 +++- ...sionConfigurationPublishValidateCommand.cs | 2 +- .../ValidateMcpFeatureCollectionCommand.cs | 2 +- .../ValidateOpenApiCollectionCommand.cs | 2 +- .../Commands/Schemas/SchemaHelpers.cs | 29 +++++++----- .../Commands/Schemas/ValidateSchemaCommand.cs | 8 +++- .../CommandLine/src/CommandLine/Messages.cs | 4 +- .../Clients/PublishClientCommandTests.cs | 4 +- .../Clients/ValidateClientCommandTests.cs | 4 +- ...onfigurationPublishValidateCommandTests.cs | 4 +- .../Fusion/FusionPublishCommandTests.cs | 44 +++++++++---------- .../Fusion/FusionValidateCommandTests.cs | 12 ++--- ...PublishMcpFeatureCollectionCommandTests.cs | 4 +- ...alidateMcpFeatureCollectionCommandTests.cs | 4 +- .../PublishOpenApiCollectionCommandTests.cs | 4 +- .../ValidateOpenApiCollectionCommandTests.cs | 4 +- .../Schemas/PublishSchemaCommandTests.cs | 4 +- .../Schemas/ValidateSchemaCommandTests.cs | 4 +- 20 files changed, 84 insertions(+), 67 deletions(-) diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/Clients/ValidateClientCommand.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/Clients/ValidateClientCommand.cs index 6f3531bb9a6..cad9607f267 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/Clients/ValidateClientCommand.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/Clients/ValidateClientCommand.cs @@ -129,7 +129,7 @@ private static async Task ExecuteAsync( throw new ExitException("Client failed validation."); case IClientVersionValidationSuccess: - activity.Success($"Validated client against stage '{stage.EscapeMarkup()}'."); + activity.Success("Client passed validation."); return ExitCodes.Success; diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionPublishCommand.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionPublishCommand.cs index ca235ada67f..7853100cded 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionPublishCommand.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionPublishCommand.cs @@ -367,7 +367,7 @@ await FusionPublishHelpers.ClaimDeploymentSlotAsync( if (isValidArchive) { - validationActivity.Success("Validated configuration."); + validationActivity.Success("Fusion configuration passed validation."); } else if (!force) { diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionValidateCommand.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionValidateCommand.cs index 568ddea3fea..292313b9e27 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionValidateCommand.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionValidateCommand.cs @@ -218,7 +218,7 @@ async Task ValidateAsync(INitroConsoleActivity activity, Stream archiveStre try { - var isValid = await SchemaHelpers.ValidateSchemaAsync( + var validationResult = await SchemaHelpers.ValidateSchemaAsync( activity, console, schemasClient, @@ -228,11 +228,15 @@ async Task ValidateAsync(INitroConsoleActivity activity, Stream archiveStre source: null, ct); - if (!isValid) + if (validationResult is SchemaValidationResult.Failed failed) { + activity.Fail(failed.Details, "Fusion configuration failed validation."); + throw new ExitException("Fusion configuration failed validation."); } + activity.Success("Fusion configuration passed validation."); + return ExitCodes.Success; } finally diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/PublishCommand/FusionConfigurationPublishValidateCommand.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/PublishCommand/FusionConfigurationPublishValidateCommand.cs index f32895aaddd..c0989ab0e36 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/PublishCommand/FusionConfigurationPublishValidateCommand.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/PublishCommand/FusionConfigurationPublishValidateCommand.cs @@ -66,7 +66,7 @@ await FusionConfigurationPublishingState.GetRequestId(fileSystem, cancellationTo throw new ExitException("Fusion configuration failed validation."); } - activity.Success("Validated configuration."); + activity.Success("Fusion configuration passed validation."); return ExitCodes.Success; } diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/Mcp/ValidateMcpFeatureCollectionCommand.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/Mcp/ValidateMcpFeatureCollectionCommand.cs index 1ed700b08f5..7e807e3a8a5 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/Mcp/ValidateMcpFeatureCollectionCommand.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/Mcp/ValidateMcpFeatureCollectionCommand.cs @@ -144,7 +144,7 @@ await McpFeatureCollectionHelpers.BuildMcpFeatureCollectionArchive( throw new ExitException("MCP feature collection failed validation."); case IMcpFeatureCollectionVersionValidationSuccess: - activity.Success($"Validated MCP feature collection against stage '{stage.EscapeMarkup()}'."); + activity.Success("MCP feature collection passed validation."); return ExitCodes.Success; case IOperationInProgress: diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/OpenApi/ValidateOpenApiCollectionCommand.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/OpenApi/ValidateOpenApiCollectionCommand.cs index 77306b6d867..c2f42620369 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/OpenApi/ValidateOpenApiCollectionCommand.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/OpenApi/ValidateOpenApiCollectionCommand.cs @@ -136,7 +136,7 @@ await OpenApiCollectionHelpers.BuildOpenApiCollectionArchive( throw new ExitException("OpenAPI collection failed validation."); case IOpenApiCollectionVersionValidationSuccess: - activity.Success($"Validated OpenAPI collection against stage '{stage.EscapeMarkup()}'."); + activity.Success("OpenAPI collection passed validation."); return ExitCodes.Success; case IOperationInProgress: diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/Schemas/SchemaHelpers.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/Schemas/SchemaHelpers.cs index b9783917ada..1394867f682 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/Schemas/SchemaHelpers.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/Schemas/SchemaHelpers.cs @@ -1,12 +1,13 @@ using ChilliCream.Nitro.Client; using ChilliCream.Nitro.Client.Schemas; using ChilliCream.Nitro.CommandLine.Helpers; +using Spectre.Console.Rendering; namespace ChilliCream.Nitro.CommandLine.Commands.Schemas; internal static class SchemaHelpers { - public static async Task ValidateSchemaAsync( + public static async Task ValidateSchemaAsync( INitroConsoleActivity activity, INitroConsole console, ISchemasClient client, @@ -25,8 +26,6 @@ public static async Task ValidateSchemaAsync( if (result.Errors?.Count > 0) { - await activity.FailAllAsync(); - foreach (var error in result.Errors) { var errorMessage = error switch @@ -96,14 +95,10 @@ public static async Task ValidateSchemaAsync( } } - await activity.FailAllAsync(errorTree, "Schema failed validation."); - - return false; + return new SchemaValidationResult.Failed(errorTree); case ISchemaVersionValidationSuccess: - activity.Success("Schema validation successful."); - - return true; + return SchemaValidationResult.Success.Instance; case IOperationInProgress: case IValidationInProgress: @@ -116,6 +111,20 @@ public static async Task ValidateSchemaAsync( } } - return false; + throw new ExitException(Messages.UnknownServerResponse); + } +} + +internal abstract record SchemaValidationResult +{ + public sealed record Success : SchemaValidationResult + { + public static readonly Success Instance = new(); + + private Success() + { + } } + + public sealed record Failed(IRenderable Details) : SchemaValidationResult; } diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/Schemas/ValidateSchemaCommand.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/Schemas/ValidateSchemaCommand.cs index e7e87447c22..17ffae4cc1b 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/Schemas/ValidateSchemaCommand.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/Schemas/ValidateSchemaCommand.cs @@ -64,7 +64,7 @@ private static async Task ExecuteAsync( await using var stream = fileSystem.OpenReadStream(schemaFilePath); - var isValid = await SchemaHelpers.ValidateSchemaAsync( + var validationResult = await SchemaHelpers.ValidateSchemaAsync( activity, console, client, @@ -74,11 +74,15 @@ private static async Task ExecuteAsync( source, ct); - if (!isValid) + if (validationResult is SchemaValidationResult.Failed failed) { + activity.Fail(failed.Details, "Schema failed validation."); + throw new ExitException("Schema failed validation."); } + activity.Success("Schema passed validation."); + return ExitCodes.Success; } } diff --git a/src/Nitro/CommandLine/src/CommandLine/Messages.cs b/src/Nitro/CommandLine/src/CommandLine/Messages.cs index 252446007d2..5bc3790f714 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Messages.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Messages.cs @@ -35,9 +35,9 @@ public static string UnexpectedMutationError(IError error) public const string Validating = "Validating..."; - public const string ValidationPassed = "Validation successful."; + public const string ValidationPassed = "Passed validation."; - public const string ValidationFailed = "Validation did not pass."; + public const string ValidationFailed = "Failed validation."; public const string RequestReadyForProcessing = "Your request is ready for processing."; diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Clients/PublishClientCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Clients/PublishClientCommandTests.cs index 1fed1494fdb..111acf741ba 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Clients/PublishClientCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Clients/PublishClientCommandTests.cs @@ -337,7 +337,7 @@ public async Task WaitForApproval_BreakingChanges_Approved_ReturnsSuccess() """ Publishing new version 'v1' of client 'client-1' to stage 'dev' ├── Publication request created. (ID: request-1) - ├── ! Validation did not pass. + ├── ! Failed validation. │ └── Operation '6D12E4A815C50C504695E548EAF680BC8F337AC87E763E5689C685522A01BC59' (Deployed tags: 1.0.0) │ └── foo (10:10) ├── ⏳ Waiting for approval. Approve in Nitro to continue. @@ -376,7 +376,7 @@ public async Task WaitForApproval_BreakingChanges_NotApproved_ReturnsError() """ Publishing new version 'v1' of client 'client-1' to stage 'dev' ├── Publication request created. (ID: request-1) - ├── ! Validation did not pass. + ├── ! Failed validation. │ └── Operation '6D12E4A815C50C504695E548EAF680BC8F337AC87E763E5689C685522A01BC59' (Deployed tags: 1.0.0) │ └── foo (10:10) ├── ⏳ Waiting for approval. Approve in Nitro to continue. diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Clients/ValidateClientCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Clients/ValidateClientCommandTests.cs index 44c85fea20f..e3ddae978e6 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Clients/ValidateClientCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Clients/ValidateClientCommandTests.cs @@ -212,7 +212,7 @@ public async Task ReturnsSuccess() """ Validating client 'client-1' against stage 'dev' ├── Validation request created. (ID: request-1) - └── ✓ Validated client against stage 'dev'. + └── ✓ Client passed validation. """); } @@ -238,7 +238,7 @@ public async Task WithEnvVars_ReturnsSuccess() """ Validating client 'client-1' against stage 'dev' ├── Validation request created. (ID: request-1) - └── ✓ Validated client against stage 'dev'. + └── ✓ Client passed validation. """); } diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionConfigurationPublishValidateCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionConfigurationPublishValidateCommandTests.cs index 1527e6a150b..0dd66268975 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionConfigurationPublishValidateCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionConfigurationPublishValidateCommandTests.cs @@ -131,7 +131,7 @@ public async Task Subscription_ValidationSuccess_ReturnsSuccess() result.AssertSuccess( """ Validating Fusion configuration - └── ✓ Validated configuration. + └── ✓ Fusion configuration passed validation. """); } @@ -330,7 +330,7 @@ public async Task Subscription_InProgressThenSuccess_ReturnsSuccess() Validating Fusion configuration ├── Validating... ├── Validating... - └── ✓ Validated configuration. + └── ✓ Fusion configuration passed validation. """); } diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionPublishCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionPublishCommandTests.cs index 99e2b3ca730..9753537807c 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionPublishCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionPublishCommandTests.cs @@ -275,7 +275,7 @@ public async Task WithArchive_ReturnsSuccess() │ └── ✓ Claimed deployment slot. ├── Validating configuration against 'dev' │ ├── Validating... - │ └── ✓ Validated configuration. + │ └── ✓ Fusion configuration passed validation. ├── Uploading configuration to 'dev' │ └── ✓ Uploaded configuration. └── ✓ Published configuration 'v1' to 'dev'. @@ -316,7 +316,7 @@ public async Task WithArchive_WithEnvVars_ReturnsSuccess() │ └── ✓ Claimed deployment slot. ├── Validating configuration against 'dev' │ ├── Validating... - │ └── ✓ Validated configuration. + │ └── ✓ Fusion configuration passed validation. ├── Uploading configuration to 'dev' │ └── ✓ Uploaded configuration. └── ✓ Published configuration 'v1' to 'dev'. @@ -801,7 +801,7 @@ public async Task WithArchive_WaitForApproval_BreakingChanges_Approved_ReturnsSu ├── Claiming deployment slot │ └── ✓ Claimed deployment slot. ├── Uploading configuration to 'dev' - │ ├── ! Validation did not pass. + │ ├── ! Failed validation. │ │ ├── Invalid GraphQL schema │ │ │ └── There is no object type implementing interface `InterfaceWithoutImplementation`. (SCHEMA_INTERFACE_NO_IMPL) │ │ ├── Client 'TestClient' (ID: client-1) @@ -864,7 +864,7 @@ public async Task WithArchive_WaitForApproval_BreakingChanges_NotApproved_Return ├── Claiming deployment slot │ └── ✓ Claimed deployment slot. ├── Uploading configuration to 'dev' - │ ├── ! Validation did not pass. + │ ├── ! Failed validation. │ │ ├── Invalid GraphQL schema │ │ │ └── There is no object type implementing interface `InterfaceWithoutImplementation`. (SCHEMA_INTERFACE_NO_IMPL) │ │ ├── Client 'TestClient' (ID: client-1) @@ -927,7 +927,7 @@ public async Task WithArchive_UploadHasErrors_ReturnsError( │ └── ✓ Claimed deployment slot. ├── Validating configuration against 'dev' │ ├── Validating... - │ └── ✓ Validated configuration. + │ └── ✓ Fusion configuration passed validation. ├── Uploading configuration to 'dev' │ └── ✕ Failed to upload the new configuration. └── ✕ Failed to publish a new Fusion configuration version. @@ -976,7 +976,7 @@ public async Task WithArchive_UploadThrows_ReturnsError() │ └── ✓ Claimed deployment slot. ├── Validating configuration against 'dev' │ ├── Validating... - │ └── ✓ Validated configuration. + │ └── ✓ Fusion configuration passed validation. ├── Uploading configuration to 'dev' │ └── ✕ Failed to upload the new configuration. └── ✕ Failed to publish a new Fusion configuration version. @@ -1026,7 +1026,7 @@ public async Task WithArchive_PublishingFailedWithErrors_ReturnsError() │ └── ✓ Claimed deployment slot. ├── Validating configuration against 'dev' │ ├── Validating... - │ └── ✓ Validated configuration. + │ └── ✓ Fusion configuration passed validation. ├── Uploading configuration to 'dev' │ └── ✕ The new Fusion configuration version was rejected. │ ├── Invalid GraphQL schema @@ -1207,7 +1207,7 @@ public async Task WithSourceSchemaFile_ReturnsSuccess() │ └── ✓ Composed new configuration. ├── Validating configuration against 'dev' │ ├── Validating... - │ └── ✓ Validated configuration. + │ └── ✓ Fusion configuration passed validation. ├── Uploading configuration to 'dev' │ └── ✓ Uploaded configuration. └── ✓ Published configuration 'v1' to 'dev'. @@ -1256,7 +1256,7 @@ public async Task WithSourceSchemaFile_WithEnvVars_ReturnsSuccess() │ └── ✓ Composed new configuration. ├── Validating configuration against 'dev' │ ├── Validating... - │ └── ✓ Validated configuration. + │ └── ✓ Fusion configuration passed validation. ├── Uploading configuration to 'dev' │ └── ✓ Uploaded configuration. └── ✓ Published configuration 'v1' to 'dev'. @@ -1866,7 +1866,7 @@ public async Task WithSourceSchemaFile_WaitForApproval_BreakingChanges_Approved_ ├── Composing new configuration │ └── ✓ Composed new configuration. ├── Uploading configuration to 'dev' - │ ├── ! Validation did not pass. + │ ├── ! Failed validation. │ │ ├── Invalid GraphQL schema │ │ │ └── There is no object type implementing interface `InterfaceWithoutImplementation`. (SCHEMA_INTERFACE_NO_IMPL) │ │ ├── Client 'TestClient' (ID: client-1) @@ -1934,7 +1934,7 @@ public async Task WithSourceSchemaFile_WaitForApproval_BreakingChanges_NotApprov ├── Composing new configuration │ └── ✓ Composed new configuration. ├── Uploading configuration to 'dev' - │ ├── ! Validation did not pass. + │ ├── ! Failed validation. │ │ ├── Invalid GraphQL schema │ │ │ └── There is no object type implementing interface `InterfaceWithoutImplementation`. (SCHEMA_INTERFACE_NO_IMPL) │ │ ├── Client 'TestClient' (ID: client-1) @@ -2002,7 +2002,7 @@ public async Task WithSourceSchemaFile_UploadHasErrors_ReturnsError( │ └── ✓ Composed new configuration. ├── Validating configuration against 'dev' │ ├── Validating... - │ └── ✓ Validated configuration. + │ └── ✓ Fusion configuration passed validation. ├── Uploading configuration to 'dev' │ └── ✕ Failed to upload the new configuration. └── ✕ Failed to publish a new Fusion configuration version. @@ -2056,7 +2056,7 @@ public async Task WithSourceSchemaFile_UploadThrows_ReturnsError() │ └── ✓ Composed new configuration. ├── Validating configuration against 'dev' │ ├── Validating... - │ └── ✓ Validated configuration. + │ └── ✓ Fusion configuration passed validation. ├── Uploading configuration to 'dev' │ └── ✕ Failed to upload the new configuration. └── ✕ Failed to publish a new Fusion configuration version. @@ -2111,7 +2111,7 @@ public async Task WithSourceSchemaFile_PublishingFailedWithErrors_ReturnsError() │ └── ✓ Composed new configuration. ├── Validating configuration against 'dev' │ ├── Validating... - │ └── ✓ Validated configuration. + │ └── ✓ Fusion configuration passed validation. ├── Uploading configuration to 'dev' │ └── ✕ The new Fusion configuration version was rejected. │ ├── Invalid GraphQL schema @@ -2331,7 +2331,7 @@ public async Task WithSourceSchema_ReturnsSuccess() │ └── ✓ Composed new configuration. ├── Validating configuration against 'dev' │ ├── Validating... - │ └── ✓ Validated configuration. + │ └── ✓ Fusion configuration passed validation. ├── Uploading configuration to 'dev' │ └── ✓ Uploaded configuration. └── ✓ Published configuration 'v1' to 'dev'. @@ -2382,7 +2382,7 @@ public async Task WithSourceSchema_WithEnvVars_ReturnsSuccess() │ └── ✓ Composed new configuration. ├── Validating configuration against 'dev' │ ├── Validating... - │ └── ✓ Validated configuration. + │ └── ✓ Fusion configuration passed validation. ├── Uploading configuration to 'dev' │ └── ✓ Uploaded configuration. └── ✓ Published configuration 'v1' to 'dev'. @@ -2437,7 +2437,7 @@ public async Task WithSourceSchema_WithExplicitSourceSchemaVersion_ReturnsSucces │ └── ✓ Composed new configuration. ├── Validating configuration against 'dev' │ ├── Validating... - │ └── ✓ Validated configuration. + │ └── ✓ Fusion configuration passed validation. ├── Uploading configuration to 'dev' │ └── ✓ Uploaded configuration. └── ✓ Published configuration 'v1' to 'dev'. @@ -3071,7 +3071,7 @@ public async Task WithSourceSchema_WaitForApproval_BreakingChanges_Approved_Retu ├── Composing new configuration │ └── ✓ Composed new configuration. ├── Uploading configuration to 'dev' - │ ├── ! Validation did not pass. + │ ├── ! Failed validation. │ │ ├── Invalid GraphQL schema │ │ │ └── There is no object type implementing interface `InterfaceWithoutImplementation`. (SCHEMA_INTERFACE_NO_IMPL) │ │ ├── Client 'TestClient' (ID: client-1) @@ -3141,7 +3141,7 @@ public async Task WithSourceSchema_WaitForApproval_BreakingChanges_NotApproved_R ├── Composing new configuration │ └── ✓ Composed new configuration. ├── Uploading configuration to 'dev' - │ ├── ! Validation did not pass. + │ ├── ! Failed validation. │ │ ├── Invalid GraphQL schema │ │ │ └── There is no object type implementing interface `InterfaceWithoutImplementation`. (SCHEMA_INTERFACE_NO_IMPL) │ │ ├── Client 'TestClient' (ID: client-1) @@ -3211,7 +3211,7 @@ public async Task WithSourceSchema_UploadHasErrors_ReturnsError( │ └── ✓ Composed new configuration. ├── Validating configuration against 'dev' │ ├── Validating... - │ └── ✓ Validated configuration. + │ └── ✓ Fusion configuration passed validation. ├── Uploading configuration to 'dev' │ └── ✕ Failed to upload the new configuration. └── ✕ Failed to publish a new Fusion configuration version. @@ -3267,7 +3267,7 @@ public async Task WithSourceSchema_UploadThrows_ReturnsError() │ └── ✓ Composed new configuration. ├── Validating configuration against 'dev' │ ├── Validating... - │ └── ✓ Validated configuration. + │ └── ✓ Fusion configuration passed validation. ├── Uploading configuration to 'dev' │ └── ✕ Failed to upload the new configuration. └── ✕ Failed to publish a new Fusion configuration version. @@ -3324,7 +3324,7 @@ public async Task WithSourceSchema_PublishingFailedWithErrors_ReturnsError() │ └── ✓ Composed new configuration. ├── Validating configuration against 'dev' │ ├── Validating... - │ └── ✓ Validated configuration. + │ └── ✓ Fusion configuration passed validation. ├── Uploading configuration to 'dev' │ └── ✕ The new Fusion configuration version was rejected. │ ├── Invalid GraphQL schema diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionValidateCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionValidateCommandTests.cs index 06eb27a448f..275d7ec63c1 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionValidateCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionValidateCommandTests.cs @@ -206,7 +206,7 @@ public async Task WithArchive_ReturnsSuccess() """ Validating Fusion configuration of API 'api-1' against stage 'dev' ├── Validation request created. (ID: request-id) - └── ✓ Schema validation successful. + └── ✓ Fusion configuration passed validation. """); AssertSchemaUpload(capturedStream); } @@ -233,7 +233,7 @@ public async Task WithArchive_WithEnvVars_ReturnsSuccess() """ Validating Fusion configuration of API 'api-1' against stage 'dev' ├── Validation request created. (ID: request-id) - └── ✓ Schema validation successful. + └── ✓ Fusion configuration passed validation. """); AssertSchemaUpload(capturedStream); } @@ -334,7 +334,7 @@ Validating Fusion configuration of API 'api-1' against stage 'dev' ├── Validation request created. (ID: request-id) ├── Validating... ├── Validating... - └── ✕ Schema failed validation. + └── ✕ Fusion configuration failed validation. ├── GraphQL schema changes │ ├── ✕ Directive foo was modified │ │ ├── ✓ Directive location FieldDefinition added @@ -424,7 +424,7 @@ Validating Fusion configuration of API 'api-1' against stage 'dev' ├── Composing new Fusion configuration │ └── ✓ Composed new configuration. ├── Validation request created. (ID: request-id) - └── ✓ Schema validation successful. + └── ✓ Fusion configuration passed validation. """); AssertSchemaUploadAfterCompose(capturedStream); } @@ -457,7 +457,7 @@ Validating Fusion configuration of API 'api-1' against stage 'dev' ├── Composing new Fusion configuration │ └── ✓ Composed new configuration. ├── Validation request created. (ID: request-id) - └── ✓ Schema validation successful. + └── ✓ Fusion configuration passed validation. """); AssertSchemaUploadAfterCompose(capturedStream); } @@ -572,7 +572,7 @@ Validating Fusion configuration of API 'api-1' against stage 'dev' ├── Validation request created. (ID: request-id) ├── Validating... ├── Validating... - └── ✕ Schema failed validation. + └── ✕ Fusion configuration failed validation. ├── GraphQL schema changes │ ├── ✕ Directive foo was modified │ │ ├── ✓ Directive location FieldDefinition added diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Mcp/PublishMcpFeatureCollectionCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Mcp/PublishMcpFeatureCollectionCommandTests.cs index bb739bc1777..54356d0814b 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Mcp/PublishMcpFeatureCollectionCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Mcp/PublishMcpFeatureCollectionCommandTests.cs @@ -336,7 +336,7 @@ public async Task WaitForApproval_BreakingChanges_Approved_ReturnsSuccess() """ Publishing new version 'v1' of MCP feature collection 'mcp-1' to stage 'dev' ├── Publication request created. (ID: request-1) - ├── ! Validation did not pass. + ├── ! Failed validation. │ └── MCP Feature Collection 'mcp-collection' (ID: mcp-1) │ └── Tool 'Fail' │ └── The field `person` does not exist on the type `Query`. (1:14) @@ -376,7 +376,7 @@ public async Task WaitForApproval_BreakingChanges_NotApproved_ReturnsError() """ Publishing new version 'v1' of MCP feature collection 'mcp-1' to stage 'dev' ├── Publication request created. (ID: request-1) - ├── ! Validation did not pass. + ├── ! Failed validation. │ └── MCP Feature Collection 'mcp-collection' (ID: mcp-1) │ └── Tool 'Fail' │ └── The field `person` does not exist on the type `Query`. (1:14) diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Mcp/ValidateMcpFeatureCollectionCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Mcp/ValidateMcpFeatureCollectionCommandTests.cs index 45d2416cd29..bdc98541aba 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Mcp/ValidateMcpFeatureCollectionCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Mcp/ValidateMcpFeatureCollectionCommandTests.cs @@ -202,7 +202,7 @@ public async Task ReturnsSuccess() Validating MCP feature collection 'mcp-1' against stage 'dev' ├── Found 1 prompt(s) and 1 tool(s). ├── Validation request created. (ID: request-1) - └── ✓ Validated MCP feature collection against stage 'dev'. + └── ✓ MCP feature collection passed validation. """); } @@ -233,7 +233,7 @@ public async Task WithEnvVars_ReturnsSuccess() Validating MCP feature collection 'mcp-1' against stage 'dev' ├── Found 1 prompt(s) and 1 tool(s). ├── Validation request created. (ID: request-1) - └── ✓ Validated MCP feature collection against stage 'dev'. + └── ✓ MCP feature collection passed validation. """); } diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/OpenApi/PublishOpenApiCollectionCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/OpenApi/PublishOpenApiCollectionCommandTests.cs index b69a45a68fd..e2360a839f8 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/OpenApi/PublishOpenApiCollectionCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/OpenApi/PublishOpenApiCollectionCommandTests.cs @@ -336,7 +336,7 @@ public async Task WaitForApproval_BreakingChanges_Approved_ReturnsSuccess() """ Publishing new version 'v1' of OpenAPI collection 'oa-1' to stage 'dev' ├── Publication request created. (ID: request-1) - ├── ! Validation did not pass. + ├── ! Failed validation. │ └── OpenAPI collection 'petstore' (ID: collection-1) │ └── Endpoint 'GET /fail' │ └── The field `person` does not exist on the type `Query`. (1:14) @@ -376,7 +376,7 @@ public async Task WaitForApproval_BreakingChanges_NotApproved_ReturnsError() """ Publishing new version 'v1' of OpenAPI collection 'oa-1' to stage 'dev' ├── Publication request created. (ID: request-1) - ├── ! Validation did not pass. + ├── ! Failed validation. │ └── OpenAPI collection 'petstore' (ID: collection-1) │ └── Endpoint 'GET /fail' │ └── The field `person` does not exist on the type `Query`. (1:14) diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/OpenApi/ValidateOpenApiCollectionCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/OpenApi/ValidateOpenApiCollectionCommandTests.cs index 530e99268db..81e165882ab 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/OpenApi/ValidateOpenApiCollectionCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/OpenApi/ValidateOpenApiCollectionCommandTests.cs @@ -189,7 +189,7 @@ public async Task ReturnsSuccess() Validating OpenAPI collection 'oa-1' against stage 'dev' ├── Found 1 document(s). ├── Validation request created. (ID: request-1) - └── ✓ Validated OpenAPI collection against stage 'dev'. + └── ✓ OpenAPI collection passed validation. """); } @@ -218,7 +218,7 @@ public async Task WithEnvVars_ReturnsSuccess() Validating OpenAPI collection 'oa-1' against stage 'dev' ├── Found 1 document(s). ├── Validation request created. (ID: request-1) - └── ✓ Validated OpenAPI collection against stage 'dev'. + └── ✓ OpenAPI collection passed validation. """); } diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Schemas/PublishSchemaCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Schemas/PublishSchemaCommandTests.cs index 57ae4177609..a1486c4a810 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Schemas/PublishSchemaCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Schemas/PublishSchemaCommandTests.cs @@ -349,7 +349,7 @@ public async Task WaitForApproval_BreakingChanges_Approved_ReturnsSuccess() """ Publishing new schema version 'v1' of API 'api-1' to stage 'dev' ├── Publication request created. (ID: request-id) - ├── ! Validation did not pass. + ├── ! Failed validation. │ ├── Invalid GraphQL schema │ │ └── There is no object type implementing interface `InterfaceWithoutImplementation`. (SCHEMA_INTERFACE_NO_IMPL) │ ├── GraphQL schema changes @@ -411,7 +411,7 @@ public async Task WaitForApproval_BreakingChanges_NotApproved_ReturnsError() """ Publishing new schema version 'v1' of API 'api-1' to stage 'dev' ├── Publication request created. (ID: request-id) - ├── ! Validation did not pass. + ├── ! Failed validation. │ ├── Invalid GraphQL schema │ │ └── There is no object type implementing interface `InterfaceWithoutImplementation`. (SCHEMA_INTERFACE_NO_IMPL) │ ├── GraphQL schema changes diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Schemas/ValidateSchemaCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Schemas/ValidateSchemaCommandTests.cs index 756f7dd119e..25581f25b78 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Schemas/ValidateSchemaCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Schemas/ValidateSchemaCommandTests.cs @@ -224,7 +224,7 @@ public async Task ReturnsSuccess() """ Validating schema of API 'api-1' against stage 'dev' ├── Validation request created. (ID: request-id) - └── ✓ Schema validation successful. + └── ✓ Schema passed validation. """); } @@ -250,7 +250,7 @@ public async Task WithEnvVars_ReturnsSuccess() """ Validating schema of API 'api-1' against stage 'dev' ├── Validation request created. (ID: request-id) - └── ✓ Schema validation successful. + └── ✓ Schema passed validation. """); } From c884b8de364d9f67e8eb9888caa2a7a7cf437dd0 Mon Sep 17 00:00:00 2001 From: tobias-tengler <45513122+tobias-tengler@users.noreply.github.com> Date: Fri, 17 Apr 2026 22:23:01 +0200 Subject: [PATCH 3/3] More wording improvements --- .../Commands/Clients/PublishClientCommand.cs | 4 +-- .../Commands/Fusion/FusionPublishCommand.cs | 2 +- .../Commands/Fusion/FusionPublishHelpers.cs | 8 +++--- .../Commands/Fusion/FusionValidateCommand.cs | 2 +- .../Mcp/PublishMcpFeatureCollectionCommand.cs | 4 +-- .../PublishOpenApiCollectionCommand.cs | 4 +-- .../Commands/Schemas/PublishSchemaCommand.cs | 4 +-- .../Clients/PublishClientCommandTests.cs | 8 +++--- ...nConfigurationPublishCommitCommandTests.cs | 4 +-- .../Fusion/FusionPublishCommandTests.cs | 28 +++++++++---------- .../Fusion/FusionValidateCommandTests.cs | 2 +- ...PublishMcpFeatureCollectionCommandTests.cs | 8 +++--- .../PublishOpenApiCollectionCommandTests.cs | 8 +++--- .../Schemas/PublishSchemaCommandTests.cs | 8 +++--- 14 files changed, 47 insertions(+), 47 deletions(-) diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/Clients/PublishClientCommand.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/Clients/PublishClientCommand.cs index 1fd5a3a118f..66fbe602f13 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/Clients/PublishClientCommand.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/Clients/PublishClientCommand.cs @@ -142,9 +142,9 @@ private static async Task ExecuteAsync( } } - await activity.FailAllAsync(errorTree, "The new client version was rejected."); + await activity.FailAllAsync(errorTree, "Client version was rejected."); - throw new ExitException("The new client version was rejected."); + throw new ExitException("Client version was rejected."); case IClientVersionPublishSuccess: activity.Success($"Published new client version '{tag.EscapeMarkup()}' to stage '{stage.EscapeMarkup()}'."); diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionPublishCommand.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionPublishCommand.cs index 7853100cded..9dc343abe29 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionPublishCommand.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionPublishCommand.cs @@ -275,7 +275,7 @@ async Task ComposeAsync( } else { - await composeActivity.FailAllAsync(message: "The Fusion configuration could not be composed."); + await composeActivity.FailAllAsync(message: "Fusion configuration could not be composed."); console.WriteLine(); console.WriteLine("## Composition log"); diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionPublishHelpers.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionPublishHelpers.cs index 9eaba5d0f18..e38ac134ac7 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionPublishHelpers.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionPublishHelpers.cs @@ -104,9 +104,9 @@ public static async Task RequestDeploymentSlotAsync( } } - await activity.FailAllAsync(errorTree, "The new Fusion configuration version was rejected."); + await activity.FailAllAsync(errorTree, "Fusion configuration version was rejected."); - throw new ExitException("The new Fusion configuration version was rejected."); + throw new ExitException("Fusion configuration version was rejected."); case IFusionConfigurationPublishingSuccess: await subscriptionCancellation.CancelAsync(); @@ -227,8 +227,8 @@ public static async Task UploadFusionConfigurationAsync( } } - await activity.FailAllAsync(publishErrorTree, "The new Fusion configuration version was rejected."); - throw new ExitException("The new Fusion configuration version was rejected."); + await activity.FailAllAsync(publishErrorTree, "Fusion configuration version was rejected."); + throw new ExitException("Fusion configuration version was rejected."); case IFusionConfigurationPublishingSuccess: committed = true; diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionValidateCommand.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionValidateCommand.cs index 292313b9e27..5b4ee2a0c76 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionValidateCommand.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionValidateCommand.cs @@ -170,7 +170,7 @@ async Task ValidateWithSourceSchemaFiles() } else { - await composeActivity.FailAllAsync(message: "The Fusion configuration could not be composed."); + await composeActivity.FailAllAsync(message: "Fusion configuration could not be composed."); console.WriteLine(); console.WriteLine("## Composition log"); diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/Mcp/PublishMcpFeatureCollectionCommand.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/Mcp/PublishMcpFeatureCollectionCommand.cs index fc341fede8e..e52067d7dac 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/Mcp/PublishMcpFeatureCollectionCommand.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/Mcp/PublishMcpFeatureCollectionCommand.cs @@ -143,9 +143,9 @@ private static async Task ExecuteAsync( } } - await activity.FailAllAsync(errorTree, "The new MCP feature collection version was rejected."); + await activity.FailAllAsync(errorTree, "MCP feature collection version was rejected."); - throw new ExitException("The new MCP feature collection version was rejected."); + throw new ExitException("MCP feature collection version was rejected."); case IMcpFeatureCollectionVersionPublishSuccess: activity.Success($"Published new version '{tag.EscapeMarkup()}' of MCP feature collection '{mcpFeatureCollectionId.EscapeMarkup()}' to stage '{stage.EscapeMarkup()}'."); diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/OpenApi/PublishOpenApiCollectionCommand.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/OpenApi/PublishOpenApiCollectionCommand.cs index 4ad2ba94c24..a84d7aff819 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/OpenApi/PublishOpenApiCollectionCommand.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/OpenApi/PublishOpenApiCollectionCommand.cs @@ -142,9 +142,9 @@ private static async Task ExecuteAsync( } } - await activity.FailAllAsync(errorTree, "The new OpenAPI collection version was rejected."); + await activity.FailAllAsync(errorTree, "OpenAPI collection version was rejected."); - throw new ExitException("The new OpenAPI collection version was rejected."); + throw new ExitException("OpenAPI collection version was rejected."); case IOpenApiCollectionVersionPublishSuccess: activity.Success($"Published new version '{tag.EscapeMarkup()}' of OpenAPI collection '{openApiCollectionId.EscapeMarkup()}' to stage '{stage.EscapeMarkup()}'."); diff --git a/src/Nitro/CommandLine/src/CommandLine/Commands/Schemas/PublishSchemaCommand.cs b/src/Nitro/CommandLine/src/CommandLine/Commands/Schemas/PublishSchemaCommand.cs index 792ae53d304..e239db1056c 100644 --- a/src/Nitro/CommandLine/src/CommandLine/Commands/Schemas/PublishSchemaCommand.cs +++ b/src/Nitro/CommandLine/src/CommandLine/Commands/Schemas/PublishSchemaCommand.cs @@ -164,9 +164,9 @@ private static async Task ExecuteAsync( } } - await activity.FailAllAsync(errorTree, "The new schema version was rejected."); + await activity.FailAllAsync(errorTree, "Schema version was rejected."); - throw new ExitException("The new schema version was rejected."); + throw new ExitException("Schema version was rejected."); case ISchemaVersionPublishSuccess: activity.Success($"Published new schema version '{tag.EscapeMarkup()}' to stage '{stage.EscapeMarkup()}'."); diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Clients/PublishClientCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Clients/PublishClientCommandTests.cs index 111acf741ba..2a293ba7515 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Clients/PublishClientCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Clients/PublishClientCommandTests.cs @@ -269,13 +269,13 @@ public async Task BreakingChanges_ReturnsError() """ Publishing new version 'v1' of client 'client-1' to stage 'dev' ├── Publication request created. (ID: request-1) - └── ✕ The new client version was rejected. + └── ✕ Client version was rejected. └── Operation '6D12E4A815C50C504695E548EAF680BC8F337AC87E763E5689C685522A01BC59' (Deployed tags: 1.0.0) └── foo (10:10) """); result.StdErr.MatchInlineSnapshot( """ - The new client version was rejected. + Client version was rejected. """); Assert.Equal(1, result.ExitCode); } @@ -370,7 +370,7 @@ public async Task WaitForApproval_BreakingChanges_NotApproved_ReturnsError() // assert result.StdErr.MatchInlineSnapshot( """ - The new client version was rejected. + Client version was rejected. """); result.StdOut.MatchInlineSnapshot( """ @@ -380,7 +380,7 @@ public async Task WaitForApproval_BreakingChanges_NotApproved_ReturnsError() │ └── Operation '6D12E4A815C50C504695E548EAF680BC8F337AC87E763E5689C685522A01BC59' (Deployed tags: 1.0.0) │ └── foo (10:10) ├── ⏳ Waiting for approval. Approve in Nitro to continue. - └── ✕ The new client version was rejected. + └── ✕ Client version was rejected. """); Assert.Equal(1, result.ExitCode); } diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionConfigurationPublishCommitCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionConfigurationPublishCommitCommandTests.cs index 3cfa5de309c..fe8dc4a1306 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionConfigurationPublishCommitCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionConfigurationPublishCommitCommandTests.cs @@ -305,12 +305,12 @@ public async Task Commit_Should_HandleSubscriptionEvents_When_PublishFails_Retur result.StdOut.MatchInlineSnapshot( """ Publishing Fusion configuration - └── ✕ The new Fusion configuration version was rejected. + └── ✕ Fusion configuration version was rejected. └── Deployment failed. """); result.StdErr.MatchInlineSnapshot( """ - The new Fusion configuration version was rejected. + Fusion configuration version was rejected. """); Assert.Equal(1, result.ExitCode); } diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionPublishCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionPublishCommandTests.cs index 9753537807c..94f10ad730c 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionPublishCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionPublishCommandTests.cs @@ -853,7 +853,7 @@ public async Task WithArchive_WaitForApproval_BreakingChanges_NotApproved_Return // assert result.StdErr.MatchInlineSnapshot( """ - The new Fusion configuration version was rejected. + Fusion configuration version was rejected. """); result.StdOut.MatchInlineSnapshot( """ @@ -877,7 +877,7 @@ public async Task WithArchive_WaitForApproval_BreakingChanges_NotApproved_Return │ │ └── Tool 'Fail' │ │ └── The field `person` does not exist on the type `Query`. (1:14) │ ├── ⏳ Waiting for approval. Approve in Nitro to continue. - │ └── ✕ The new Fusion configuration version was rejected. + │ └── ✕ Fusion configuration version was rejected. └── ✕ Failed to publish a new Fusion configuration version. """); Assert.Equal(1, result.ExitCode); @@ -1014,7 +1014,7 @@ public async Task WithArchive_PublishingFailedWithErrors_ReturnsError() // assert result.StdErr.MatchInlineSnapshot( """ - The new Fusion configuration version was rejected. + Fusion configuration version was rejected. """); result.StdOut.MatchInlineSnapshot( """ @@ -1028,7 +1028,7 @@ public async Task WithArchive_PublishingFailedWithErrors_ReturnsError() │ ├── Validating... │ └── ✓ Fusion configuration passed validation. ├── Uploading configuration to 'dev' - │ └── ✕ The new Fusion configuration version was rejected. + │ └── ✕ Fusion configuration version was rejected. │ ├── Invalid GraphQL schema │ │ └── Field 'Query.foo' has no type. (SCHEMA_ERROR) │ └── An error occurred. @@ -1507,7 +1507,7 @@ Source schema validation failed. ├── Downloading existing configuration from 'dev' │ └── ✓ Downloaded existing configuration from 'dev'. ├── Composing new configuration - │ └── ✕ The Fusion configuration could not be composed. + │ └── ✕ Fusion configuration could not be composed. └── ✕ Failed to publish a new Fusion configuration version. ## Composition log @@ -1919,7 +1919,7 @@ public async Task WithSourceSchemaFile_WaitForApproval_BreakingChanges_NotApprov // assert result.StdErr.MatchInlineSnapshot( """ - The new Fusion configuration version was rejected. + Fusion configuration version was rejected. """); result.StdOut.MatchInlineSnapshot( """ @@ -1947,7 +1947,7 @@ public async Task WithSourceSchemaFile_WaitForApproval_BreakingChanges_NotApprov │ │ └── Tool 'Fail' │ │ └── The field `person` does not exist on the type `Query`. (1:14) │ ├── ⏳ Waiting for approval. Approve in Nitro to continue. - │ └── ✕ The new Fusion configuration version was rejected. + │ └── ✕ Fusion configuration version was rejected. └── ✕ Failed to publish a new Fusion configuration version. """); Assert.Equal(1, result.ExitCode); @@ -2095,7 +2095,7 @@ public async Task WithSourceSchemaFile_PublishingFailedWithErrors_ReturnsError() // assert result.StdErr.MatchInlineSnapshot( """ - The new Fusion configuration version was rejected. + Fusion configuration version was rejected. """); result.StdOut.MatchInlineSnapshot( """ @@ -2113,7 +2113,7 @@ public async Task WithSourceSchemaFile_PublishingFailedWithErrors_ReturnsError() │ ├── Validating... │ └── ✓ Fusion configuration passed validation. ├── Uploading configuration to 'dev' - │ └── ✕ The new Fusion configuration version was rejected. + │ └── ✕ Fusion configuration version was rejected. │ ├── Invalid GraphQL schema │ │ └── Field 'Query.foo' has no type. (SCHEMA_ERROR) │ └── An error occurred. @@ -2654,7 +2654,7 @@ Source schema validation failed. ├── Downloading existing configuration from 'dev' │ └── ✓ Downloaded existing configuration from 'dev'. ├── Composing new configuration - │ └── ✕ The Fusion configuration could not be composed. + │ └── ✕ Fusion configuration could not be composed. └── ✕ Failed to publish a new Fusion configuration version. ## Composition log @@ -3124,7 +3124,7 @@ public async Task WithSourceSchema_WaitForApproval_BreakingChanges_NotApproved_R // assert result.StdErr.MatchInlineSnapshot( """ - The new Fusion configuration version was rejected. + Fusion configuration version was rejected. """); result.StdOut.MatchInlineSnapshot( """ @@ -3154,7 +3154,7 @@ public async Task WithSourceSchema_WaitForApproval_BreakingChanges_NotApproved_R │ │ └── Tool 'Fail' │ │ └── The field `person` does not exist on the type `Query`. (1:14) │ ├── ⏳ Waiting for approval. Approve in Nitro to continue. - │ └── ✕ The new Fusion configuration version was rejected. + │ └── ✕ Fusion configuration version was rejected. └── ✕ Failed to publish a new Fusion configuration version. """); Assert.Equal(1, result.ExitCode); @@ -3306,7 +3306,7 @@ public async Task WithSourceSchema_PublishingFailedWithErrors_ReturnsError() // assert result.StdErr.MatchInlineSnapshot( """ - The new Fusion configuration version was rejected. + Fusion configuration version was rejected. """); result.StdOut.MatchInlineSnapshot( """ @@ -3326,7 +3326,7 @@ public async Task WithSourceSchema_PublishingFailedWithErrors_ReturnsError() │ ├── Validating... │ └── ✓ Fusion configuration passed validation. ├── Uploading configuration to 'dev' - │ └── ✕ The new Fusion configuration version was rejected. + │ └── ✕ Fusion configuration version was rejected. │ ├── Invalid GraphQL schema │ │ └── Field 'Query.foo' has no type. (SCHEMA_ERROR) │ └── An error occurred. diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionValidateCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionValidateCommandTests.cs index 275d7ec63c1..81ca25ba197 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionValidateCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionValidateCommandTests.cs @@ -663,7 +663,7 @@ Validating Fusion configuration of API 'api-1' against stage 'dev' ├── Downloading existing Fusion configuration │ └── ✓ Downloaded existing configuration from 'dev'. ├── Composing new Fusion configuration - │ └── ✕ The Fusion configuration could not be composed. + │ └── ✕ Fusion configuration could not be composed. └── ✕ Failed to validate the Fusion configuration. ## Composition log diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Mcp/PublishMcpFeatureCollectionCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Mcp/PublishMcpFeatureCollectionCommandTests.cs index 54356d0814b..5e1b1624fce 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Mcp/PublishMcpFeatureCollectionCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Mcp/PublishMcpFeatureCollectionCommandTests.cs @@ -269,12 +269,12 @@ public async Task BreakingChanges_ReturnsError() """ Publishing new version 'v1' of MCP feature collection 'mcp-1' to stage 'dev' ├── Publication request created. (ID: request-1) - └── ✕ The new MCP feature collection version was rejected. + └── ✕ MCP feature collection version was rejected. └── Something went wrong during publish. """); result.StdErr.MatchInlineSnapshot( """ - The new MCP feature collection version was rejected. + MCP feature collection version was rejected. """); Assert.Equal(1, result.ExitCode); } @@ -370,7 +370,7 @@ public async Task WaitForApproval_BreakingChanges_NotApproved_ReturnsError() // assert result.StdErr.MatchInlineSnapshot( """ - The new MCP feature collection version was rejected. + MCP feature collection version was rejected. """); result.StdOut.MatchInlineSnapshot( """ @@ -381,7 +381,7 @@ public async Task WaitForApproval_BreakingChanges_NotApproved_ReturnsError() │ └── Tool 'Fail' │ └── The field `person` does not exist on the type `Query`. (1:14) ├── ⏳ Waiting for approval. Approve in Nitro to continue. - └── ✕ The new MCP feature collection version was rejected. + └── ✕ MCP feature collection version was rejected. """); Assert.Equal(1, result.ExitCode); } diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/OpenApi/PublishOpenApiCollectionCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/OpenApi/PublishOpenApiCollectionCommandTests.cs index e2360a839f8..9f0bbcdad41 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/OpenApi/PublishOpenApiCollectionCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/OpenApi/PublishOpenApiCollectionCommandTests.cs @@ -269,12 +269,12 @@ public async Task BreakingChanges_ReturnsError() """ Publishing new version 'v1' of OpenAPI collection 'oa-1' to stage 'dev' ├── Publication request created. (ID: request-1) - └── ✕ The new OpenAPI collection version was rejected. + └── ✕ OpenAPI collection version was rejected. └── Something went wrong during publish. """); result.StdErr.MatchInlineSnapshot( """ - The new OpenAPI collection version was rejected. + OpenAPI collection version was rejected. """); Assert.Equal(1, result.ExitCode); } @@ -370,7 +370,7 @@ public async Task WaitForApproval_BreakingChanges_NotApproved_ReturnsError() // assert result.StdErr.MatchInlineSnapshot( """ - The new OpenAPI collection version was rejected. + OpenAPI collection version was rejected. """); result.StdOut.MatchInlineSnapshot( """ @@ -381,7 +381,7 @@ public async Task WaitForApproval_BreakingChanges_NotApproved_ReturnsError() │ └── Endpoint 'GET /fail' │ └── The field `person` does not exist on the type `Query`. (1:14) ├── ⏳ Waiting for approval. Approve in Nitro to continue. - └── ✕ The new OpenAPI collection version was rejected. + └── ✕ OpenAPI collection version was rejected. """); Assert.Equal(1, result.ExitCode); } diff --git a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Schemas/PublishSchemaCommandTests.cs b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Schemas/PublishSchemaCommandTests.cs index a1486c4a810..84602951193 100644 --- a/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Schemas/PublishSchemaCommandTests.cs +++ b/src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Schemas/PublishSchemaCommandTests.cs @@ -282,12 +282,12 @@ public async Task BreakingChanges_ReturnsError() """ Publishing new schema version 'v1' of API 'api-1' to stage 'dev' ├── Publication request created. (ID: request-id) - └── ✕ The new schema version was rejected. + └── ✕ Schema version was rejected. └── Something went wrong during publish. """); result.StdErr.MatchInlineSnapshot( """ - The new schema version was rejected. + Schema version was rejected. """); Assert.Equal(1, result.ExitCode); } @@ -405,7 +405,7 @@ public async Task WaitForApproval_BreakingChanges_NotApproved_ReturnsError() // assert result.StdErr.MatchInlineSnapshot( """ - The new schema version was rejected. + Schema version was rejected. """); result.StdOut.MatchInlineSnapshot( """ @@ -438,7 +438,7 @@ public async Task WaitForApproval_BreakingChanges_NotApproved_ReturnsError() │ ├── There was a syntax error in your schema document. │ └── Operations are not allowed in a schema document. ├── ⏳ Waiting for approval. Approve in Nitro to continue. - └── ✕ The new schema version was rejected. + └── ✕ Schema version was rejected. """); Assert.Equal(1, result.ExitCode); }