QlbrcConfigurationTest.cs 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. using Quadarax.Application.QLiberace.Common.Configuration;
  2. using Quadarax.Application.QLiberace.Common.Tests.Configuration.Fakes;
  3. namespace Quadarax.Application.QLiberace.Common.Tests.Configuration
  4. {
  5. [TestFixture(Category = "Configuration")]
  6. public class QlbrcConfigurationTest
  7. {
  8. private const string CfgFileName = "qlbrc.test.json";
  9. [SetUp]
  10. public void Setup()
  11. {
  12. OlbrcConfiguration.ConfigurationFileName = CfgFileName;
  13. }
  14. [Test(TestOf = typeof(OlbrcConfiguration))]
  15. public void GetNotNullOk()
  16. {
  17. OlbrcConfiguration.ConfigurationFileName = CfgFileName;
  18. var settings = OlbrcConfiguration.Get();
  19. Assert.NotNull(settings);
  20. }
  21. [Test(TestOf = typeof(OlbrcConfiguration))]
  22. public void GetNullOk()
  23. {
  24. OlbrcConfiguration.ConfigurationFileName = "xxx";
  25. var settings = OlbrcConfiguration.Get();
  26. Assert.IsNull(settings);
  27. }
  28. [Test(TestOf = typeof(OlbrcConfiguration))]
  29. public void GetDeserializationOk()
  30. {
  31. OlbrcConfiguration.ConfigurationFileName = CfgFileName;
  32. var newSetting = new SettingsFake();
  33. newSetting.Reset();
  34. var settings = OlbrcConfiguration.Get();
  35. Assert.IsNotNull(settings);
  36. var modulesLeft = settings.Modules.Select(x => x.Code + x.ConnectionString).ToArray();
  37. var modulesRight = newSetting.Modules.Select(x => x.Code + x.ConnectionString).ToArray();
  38. Assert.That(modulesRight, Is.EquivalentTo(modulesLeft));
  39. }
  40. [Test(TestOf = typeof(OlbrcConfiguration))]
  41. public void GetModuleOk()
  42. {
  43. OlbrcConfiguration.ConfigurationFileName = CfgFileName;
  44. var mod = OlbrcConfiguration.Get(SettingsFake.DefModule2.ToUpper());
  45. Assert.IsNotNull(mod);
  46. Assert.That(mod.ConnectionString, Is.EqualTo(SettingsFake.DefModule2Cs));
  47. }
  48. [Test(TestOf = typeof(OlbrcConfiguration))]
  49. public void GetModuleConfigurationMissingFail()
  50. {
  51. OlbrcConfiguration.ConfigurationFileName = "xxx";
  52. var ex = Assert.Throws<InvalidOperationException>(delegate
  53. {
  54. OlbrcConfiguration.Get(SettingsFake.DefModule2.ToUpper());
  55. });
  56. Assert.IsNotNull(ex);
  57. Assert.IsTrue(ex.Message.StartsWith("Cannot obtain"));
  58. }
  59. [Test(TestOf = typeof(OlbrcConfiguration))]
  60. public void GetModuleMissingFail()
  61. {
  62. OlbrcConfiguration.ConfigurationFileName = CfgFileName;
  63. var ex = Assert.Throws<InvalidOperationException>(delegate
  64. {
  65. OlbrcConfiguration.Get("fofo");
  66. });
  67. Assert.IsNotNull(ex);
  68. Assert.IsTrue(ex.Message.StartsWith("Module '"));
  69. }
  70. }
  71. }