using Quadarax.Application.QLiberace.Common.Configuration; using Quadarax.Application.QLiberace.Common.Tests.Configuration.Fakes; namespace Quadarax.Application.QLiberace.Common.Tests.Configuration { [TestFixture(Category = "Configuration")] public class QlbrcConfigurationTest { private const string CfgFileName = "qlbrc.test.json"; [SetUp] public void Setup() { OlbrcConfiguration.ConfigurationFileName = CfgFileName; } [Test(TestOf = typeof(OlbrcConfiguration))] public void GetNotNullOk() { OlbrcConfiguration.ConfigurationFileName = CfgFileName; var settings = OlbrcConfiguration.Get(); Assert.NotNull(settings); } [Test(TestOf = typeof(OlbrcConfiguration))] public void GetNullOk() { OlbrcConfiguration.ConfigurationFileName = "xxx"; var settings = OlbrcConfiguration.Get(); Assert.IsNull(settings); } [Test(TestOf = typeof(OlbrcConfiguration))] public void GetDeserializationOk() { OlbrcConfiguration.ConfigurationFileName = CfgFileName; var newSetting = new SettingsFake(); newSetting.Reset(); var settings = OlbrcConfiguration.Get(); Assert.IsNotNull(settings); var modulesLeft = settings.Modules.Select(x => x.Code + x.ConnectionString).ToArray(); var modulesRight = newSetting.Modules.Select(x => x.Code + x.ConnectionString).ToArray(); Assert.That(modulesRight, Is.EquivalentTo(modulesLeft)); } [Test(TestOf = typeof(OlbrcConfiguration))] public void GetModuleOk() { OlbrcConfiguration.ConfigurationFileName = CfgFileName; var mod = OlbrcConfiguration.Get(SettingsFake.DefModule2.ToUpper()); Assert.IsNotNull(mod); Assert.That(mod.ConnectionString, Is.EqualTo(SettingsFake.DefModule2Cs)); } [Test(TestOf = typeof(OlbrcConfiguration))] public void GetModuleConfigurationMissingFail() { OlbrcConfiguration.ConfigurationFileName = "xxx"; var ex = Assert.Throws(delegate { OlbrcConfiguration.Get(SettingsFake.DefModule2.ToUpper()); }); Assert.IsNotNull(ex); Assert.IsTrue(ex.Message.StartsWith("Cannot obtain")); } [Test(TestOf = typeof(OlbrcConfiguration))] public void GetModuleMissingFail() { OlbrcConfiguration.ConfigurationFileName = CfgFileName; var ex = Assert.Throws(delegate { OlbrcConfiguration.Get("fofo"); }); Assert.IsNotNull(ex); Assert.IsTrue(ex.Message.StartsWith("Module '")); } } }