Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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());
        }
Exemplo n.º 4
0
        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));
        }