42 lines
1.4 KiB
C#
42 lines
1.4 KiB
C#
using System.Text;
|
|
using Microsoft.Extensions.Configuration;
|
|
using ZB.MOM.WW.CBDDC.Network;
|
|
|
|
namespace ZB.MOM.WW.CBDDC.Sample.Console.Tests;
|
|
|
|
public class MultiDatasetConfigParsingTests
|
|
{
|
|
/// <summary>
|
|
/// Verifies multi-dataset section binds runtime options from JSON.
|
|
/// </summary>
|
|
[Fact]
|
|
public void MultiDatasetSection_ShouldBindRuntimeOptions()
|
|
{
|
|
const string json = """
|
|
{
|
|
"CBDDC": {
|
|
"MultiDataset": {
|
|
"EnableMultiDatasetSync": true,
|
|
"EnableDatasetPrimary": true,
|
|
"EnableDatasetLogs": true,
|
|
"EnableDatasetTimeseries": false
|
|
}
|
|
}
|
|
}
|
|
""";
|
|
|
|
using var stream = new MemoryStream(Encoding.UTF8.GetBytes(json));
|
|
var config = new ConfigurationBuilder()
|
|
.AddJsonStream(stream)
|
|
.Build();
|
|
|
|
var options = config.GetSection("CBDDC:MultiDataset").Get<MultiDatasetRuntimeOptions>();
|
|
|
|
options.ShouldNotBeNull();
|
|
options.EnableMultiDatasetSync.ShouldBeTrue();
|
|
options.EnableDatasetPrimary.ShouldBeTrue();
|
|
options.EnableDatasetLogs.ShouldBeTrue();
|
|
options.EnableDatasetTimeseries.ShouldBeFalse();
|
|
}
|
|
}
|