Răsfoiți Sursa

Add timescale config parse test

Nick Babcock 6 ani în urmă
părinte
comite
822cb67525

+ 16 - 0
OhmGraphite.Test/ConfigTest.cs

@@ -69,5 +69,21 @@ namespace OhmGraphite.Test
             Assert.Equal(4446, results.Prometheus.Port);
             Assert.Equal("127.0.0.1", results.Prometheus.Host);
         }
+
+        [Fact]
+        public void CanParseTimescaleConfig()
+        {
+            var configMap = new ExeConfigurationFileMap { ExeConfigFilename = "timescale.config" };
+            var config = ConfigurationManager.OpenMappedExeConfiguration(configMap, ConfigurationUserLevel.None);
+            var customConfig = new CustomConfig(config);
+            var results = MetricConfig.ParseAppSettings(customConfig);
+
+            Assert.Null(results.Graphite);
+            Assert.Null(results.Influx);
+            Assert.Null(results.Prometheus);
+            Assert.NotNull(results.Timescale);
+            Assert.Equal("Host=vm-ubuntu;Username=ohm;Password=123456", results.Timescale.Connection);
+            Assert.False(results.Timescale.SetupTable);
+        }
     }
 }

+ 5 - 12
OhmGraphite.Test/OhmGraphite.Test.csproj

@@ -20,18 +20,11 @@
   </ItemGroup>
 
   <ItemGroup>
-    <None Update="prometheus.config">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </None>
-    <None Update="influxtest.config">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </None>
-    <None Update="testdefault.config">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </None>
-    <None Update="test.config">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </None>
+    <None Update="timescale.config" CopyToOutputDirectory="PreserveNewest" />
+    <None Update="prometheus.config" CopyToOutputDirectory="PreserveNewest" />
+    <None Update="influxtest.config" CopyToOutputDirectory="PreserveNewest" />
+    <None Update="testdefault.config" CopyToOutputDirectory="PreserveNewest" />
+    <None Update="test.config" CopyToOutputDirectory="PreserveNewest" />
   </ItemGroup>
 
 </Project>

+ 8 - 0
OhmGraphite.Test/timescale.config

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+  <appSettings>
+    <add key="type" value="timescale" />
+    <add key="timescale_connection" value="Host=vm-ubuntu;Username=ohm;Password=123456" />
+    <add key="timescale_setup" value="false" />
+  </appSettings>
+</configuration>