U:调整Config模块功能调整Server模块集成效果
This commit is contained in:
1 parent
b14721d79e
commit
53d1dd2dbf
17 files changed
+123
-87
No files matched your search
@@ -10,6 +10,7 @@
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0"/>
|
||||
<PackageReference Include="MSTest" Version="3.6.4"/>
|
||||
<PackageReference Include="MSTest.TestFramework" Version="3.6.4" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -115,6 +115,44 @@ namespace Config.Test
|
||||
Assert.AreEqual("fromToml", settings.RequiredField);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void ConfigDefaults_Fluent_WithToml_AndOtherFormats_Works()
|
||||
{
|
||||
using var scope = new TempDirScope();
|
||||
|
||||
File.WriteAllText(scope.PathOf("appsettings.json"),
|
||||
"{ \"Name\": \"default\", \"Port\": 20 }",
|
||||
new UTF8Encoding(false));
|
||||
|
||||
File.WriteAllText(scope.PathOf("settings.ini"),
|
||||
"[Database]\nHost=iniHost\nUser=iniUser\n",
|
||||
new UTF8Encoding(false));
|
||||
|
||||
File.WriteAllText(scope.PathOf("extra.xml"),
|
||||
"<settings><ValidPort>8080</ValidPort></settings>",
|
||||
new UTF8Encoding(false));
|
||||
|
||||
File.WriteAllText(scope.PathOf("feature.toml"),
|
||||
"RequiredField = \"fromToml\"\n",
|
||||
new UTF8Encoding(false));
|
||||
|
||||
var settings = ConfigDefaults.Load<AppSettings>(defaults =>
|
||||
{
|
||||
defaults.BasePath = scope.Dir;
|
||||
defaults.IncludeEnvironmentVariables = false;
|
||||
defaults.WithIni("settings.ini")
|
||||
.WithXml("extra.xml")
|
||||
.WithToml("feature.toml");
|
||||
});
|
||||
|
||||
Assert.AreEqual("default", settings.Name);
|
||||
Assert.AreEqual(20, settings.Port);
|
||||
Assert.AreEqual(8080, settings.ValidPort);
|
||||
Assert.AreEqual("iniHost", settings.Database.Host);
|
||||
Assert.AreEqual("iniUser", settings.Database.User);
|
||||
Assert.AreEqual("fromToml", settings.RequiredField);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void Validation_Fails_On_Missing_Required()
|
||||
{
|
||||
@@ -245,7 +283,10 @@ namespace Config.Test
|
||||
_ = cm.LoadFromFile<AppSettings>(toml, ConfigFormat.Toml);
|
||||
});
|
||||
|
||||
var cmToml = ConfigBuilder.BuildFromFiles(new[] { "a.toml" }, basePath: scope.Dir);
|
||||
var cmToml = ConfigBuilder.BuildFromFiles(
|
||||
new[] { "a.toml" },
|
||||
basePath: scope.Dir,
|
||||
includeEnvironment: false);
|
||||
var tomlBack = cmToml.Get<AppSettings>();
|
||||
Assert.AreEqual("save", tomlBack.Name);
|
||||
Assert.AreEqual("db", tomlBack.Database.Host);
|
||||
@@ -281,4 +322,4 @@ namespace Config.Test
|
||||
Assert.AreEqual("hookName", s.Name, "Hook 未按预期覆盖前序配置源");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user