public void Test_CanRead_ConnStringOnly() { ReasonableStakhanoviseDefaultsProvider reasonableDefaultsProvider = new ReasonableStakhanoviseDefaultsProvider(); NetCoreConfigurationStakhanoviseDefaultsProvider provider = new NetCoreConfigurationStakhanoviseDefaultsProvider(TestDataDirectory, SampleSettingsFileConnStringOnly, "Lvd.Stakhanovise.Net.Config"); StakhanoviseSetupDefaults defaults = provider.GetDefaults(); StakhanoviseSetupDefaults reasonableDefaults = reasonableDefaultsProvider.GetDefaults(); Assert.NotNull(defaults); AssertDefaultsFromConfigMatchReasonableDefaults(defaults, reasonableDefaults); AssertExecutorAssembliesMatchReasonableDefaultsAssemblies(defaults, reasonableDefaults); AssertConnectionStringCorrect(defaults); AssertMappingMatchesReasonableDefaultsMapping(defaults, reasonableDefaults); }
public void Test_CanRead_FullConfig() { NetCoreConfigurationStakhanoviseDefaultsProvider provider = new NetCoreConfigurationStakhanoviseDefaultsProvider(TestDataDirectory, SampleSettingsFileFull, "Lvd.Stakhanovise.Net.Config"); StakhanoviseSetupDefaults defaults = provider.GetDefaults(); Assert.NotNull(defaults); Assert.AreEqual(12, defaults.WorkerCount); Assert.AreEqual(13, defaults.FaultErrorThresholdCount); Assert.AreEqual(1234, defaults.AppMetricsCollectionIntervalMilliseconds); Assert.AreEqual(true, defaults.AppMetricsMonitoringEnabled); Assert.AreEqual(true, defaults.SetupBuiltInDbAsssets); AssertExecutorAssembliesMatchTestAssemblies(defaults); Assert.NotNull(defaults.CalculateDelayMillisecondsTaskAfterFailure); AssertCalculateDelayTicksTaskAfterFailureFnCorrect(defaults, expected: (token) => ( long )Math.Ceiling(Math.Exp(token.LastQueuedTaskResult.ErrorCount + 1)), numberOfRuns: 100); Assert.NotNull(defaults.IsTaskErrorRecoverable); AssertIsTaskErrorRecoverableFnCorrect(defaults, expected: (task, exc) => !(exc is NullReferenceException) && !(exc is ArgumentException) && !(exc is ApplicationException), numberOfRuns: 100); AssertConnectionStringCorrect(defaults); AssertMappingMatchesNonDefaultTestMapping(defaults); }