public void ReferencedKeyCanContainComplexKey(string complexKey) { var healthReporterMock = new Mock <IHealthReporter>(); var configurationSource = new Dictionary <string, string>() { ["alpha"] = "Alpha", [$"bravo:{complexKey}"] = "Delta", ["delta"] = $"servicefabric:/bravo/{complexKey}" }; IConfigurationRoot configuration = (new ConfigurationBuilder()).AddInMemoryCollection(configurationSource).Build(); ServiceFabricDiagnosticPipelineFactory.ApplyFabricConfigurationOverrides(configuration, "unused-configuration-package-path", healthReporterMock.Object); healthReporterMock.Verify(o => o.ReportProblem(It.IsAny <string>(), It.IsAny <string>()), Times.Never()); healthReporterMock.Verify(o => o.ReportWarning(It.IsAny <string>(), It.IsAny <string>()), Times.Never()); string verificationError; bool isOK = VerifyConfguration(configuration.AsEnumerable(), configurationSource, out verificationError); Assert.False(isOK, verificationError); configurationSource["delta"] = "Delta"; isOK = VerifyConfguration(configuration.AsEnumerable(), configurationSource, out verificationError); Assert.True(isOK, verificationError); }
public void ConfigurationUpdatedWithFileReferences() { var healthReporterMock = new Mock <IHealthReporter>(); var configurationSource = new Dictionary <string, string>() { ["alpha"] = "Alpha", ["bravo:charlie"] = "BravoCharlie", ["delta"] = "servicefabricfile:/ApplicationInsights.config" }; IConfigurationRoot configuration = (new ConfigurationBuilder()).AddInMemoryCollection(configurationSource).Build(); ServiceFabricDiagnosticPipelineFactory.ApplyFabricConfigurationOverrides(configuration, @"C:\FabricCluster\work\Config\AppInstance00", healthReporterMock.Object); healthReporterMock.Verify(o => o.ReportProblem(It.IsAny <string>(), It.IsAny <string>()), Times.Never()); healthReporterMock.Verify(o => o.ReportWarning(It.IsAny <string>(), It.IsAny <string>()), Times.Never()); string verificationError; bool isOK = VerifyConfguration(configuration.AsEnumerable(), configurationSource, out verificationError); Assert.False(isOK, verificationError); configurationSource["delta"] = @"C:\FabricCluster\work\Config\AppInstance00\ApplicationInsights.config"; isOK = VerifyConfguration(configuration.AsEnumerable(), configurationSource, out verificationError); Assert.True(isOK, verificationError); }
public void ConfigurationIsNotChangedIfNoValueReferencesExist() { var healthReporterMock = new Mock <IHealthReporter>(); var configurationSource = new Dictionary <string, string>() { ["alpha"] = "Alpha", ["bravo:charlie"] = "BravoCharlie" }; IConfigurationRoot configuration = (new ConfigurationBuilder()).AddInMemoryCollection(configurationSource).Build(); ServiceFabricDiagnosticPipelineFactory.ApplyFabricConfigurationOverrides(configuration, "unused-configuration-package-path", healthReporterMock.Object); string verificationError; bool isOK = VerifyConfguration(configuration.AsEnumerable(), configurationSource, out verificationError); Assert.True(isOK, verificationError); healthReporterMock.Verify(o => o.ReportProblem(It.IsAny <string>(), It.IsAny <string>()), Times.Never()); healthReporterMock.Verify(o => o.ReportWarning(It.IsAny <string>(), It.IsAny <string>()), Times.Never()); }
public void ConfigurationIsNotChangedIfValueReferenceNotResolved() { var healthReporterMock = new Mock <IHealthReporter>(); var configurationSource = new Dictionary <string, string>() { ["alpha"] = "Alpha", ["bravo:charlie"] = "BravoCharlie", ["delta"] = "servicefabric:/bravo/foxtrot" }; IConfigurationRoot configuration = (new ConfigurationBuilder()).AddInMemoryCollection(configurationSource).Build(); ServiceFabricDiagnosticPipelineFactory.ApplyFabricConfigurationOverrides(configuration, "unused-configuration-package-path", healthReporterMock.Object); string verificationError; bool isOK = VerifyConfguration(configuration.AsEnumerable(), configurationSource, out verificationError); Assert.True(isOK, verificationError); healthReporterMock.Verify(o => o.ReportWarning( It.Is <string>(s => s.Contains("no corresponding configuration value was found")), It.Is <string>(s => s == EventFlowContextIdentifiers.Configuration)), Times.Exactly(1)); }