using NATS.Server.Configuration; namespace NATS.Server.Core.Tests.Configuration; public class ConfigWarningsParityBatch1Tests { [Fact] public void Config_warning_types_expose_message_and_source() { var warning = new ConfigWarningException("warn", "conf:1:2"); var unknown = new UnknownConfigFieldWarning("mystery_field", "conf:3:1"); warning.Message.ShouldBe("warn"); warning.SourceLocation.ShouldBe("conf:1:2"); unknown.Field.ShouldBe("mystery_field"); unknown.SourceLocation.ShouldBe("conf:3:1"); unknown.Message.ShouldContain("unknown field"); } [Fact] public void ProcessConfig_collects_unknown_field_warnings_when_errors_are_present() { var ex = Should.Throw(() => ConfigProcessor.ProcessConfig(""" max_sub_tokens: 300 totally_unknown_field: 1 """)); ex.Errors.ShouldNotBeEmpty(); ex.Warnings.ShouldContain(w => w.Contains("unknown field totally_unknown_field", StringComparison.Ordinal)); } }