using System.Text;
using Microsoft.Extensions.Configuration;
using ZB.MOM.WW.CBDDC.Network;
namespace ZB.MOM.WW.CBDDC.Sample.Console.Tests;
public class MultiDatasetConfigParsingTests
{
///
/// Verifies multi-dataset section binds runtime options from JSON.
///
[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();
options.ShouldNotBeNull();
options.EnableMultiDatasetSync.ShouldBeTrue();
options.EnableDatasetPrimary.ShouldBeTrue();
options.EnableDatasetLogs.ShouldBeTrue();
options.EnableDatasetTimeseries.ShouldBeFalse();
}
}