AMBARI-23811. TimelineMetricsFilterTest fails if dir name contains @ (#1237)
diff --git a/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/TimelineMetricsFilterTest.java b/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/TimelineMetricsFilterTest.java
index d64bf7c..9a5ae47 100644
--- a/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/TimelineMetricsFilterTest.java
+++ b/ambari-metrics-timelineservice/src/test/java/org/apache/ambari/metrics/core/timeline/TimelineMetricsFilterTest.java
@@ -26,6 +26,7 @@
import org.easymock.EasyMock;
import org.junit.Test;
+import java.net.URISyntaxException;
import java.net.URL;
import java.util.HashSet;
import java.util.Set;
@@ -64,9 +65,7 @@
expect(configuration.isWhitelistingEnabled()).andReturn(true).anyTimes();
replay(configuration);
- URL fileUrl = ClassLoader.getSystemResource("test_data/metric_whitelist.dat");
-
- metricsConf.set("timeline.metrics.whitelist.file", fileUrl.getPath());
+ metricsConf.set("timeline.metrics.whitelist.file", getTestWhitelistFilePath());
TimelineMetricsFilter.initializeMetricFilter(configuration);
TimelineMetric timelineMetric = new TimelineMetric();
@@ -93,8 +92,7 @@
expect(configuration.getMetricsConf()).andReturn(metricsConf).once();
replay(configuration);
- URL fileUrl = ClassLoader.getSystemResource("test_data/metric_whitelist.dat");
- metricsConf.set("timeline.metrics.whitelist.file", fileUrl.getPath());
+ metricsConf.set("timeline.metrics.whitelist.file", getTestWhitelistFilePath());
TimelineMetricsFilter.initializeMetricFilter(configuration);
@@ -161,11 +159,10 @@
Configuration metricsConf = new Configuration();
metricsConf.set("timeline.metrics.apps.whitelist", "namenode,nimbus");
metricsConf.set("timeline.metrics.apps.blacklist", "datanode,kafka_broker");
- URL fileUrl = ClassLoader.getSystemResource("test_data/metric_whitelist.dat");
- metricsConf.set("timeline.metrics.whitelist.file", fileUrl.getPath());
+ metricsConf.set("timeline.metrics.whitelist.file", getTestWhitelistFilePath());
expect(configuration.getMetricsConf()).andReturn(metricsConf).once();
- Set<String> whitelist = new HashSet();
+ Set<String> whitelist = new HashSet<>();
whitelist.add("regionserver.Server.Delete_99th_percentile");
whitelist.add("regionserver.Server.Delete_max");
whitelist.add("regionserver.Server.Delete_mean");
@@ -220,4 +217,8 @@
timelineMetric.setAppId("hbase");
Assert.assertFalse(TimelineMetricsFilter.acceptMetric(timelineMetric));
}
+
+ private static String getTestWhitelistFilePath() throws URISyntaxException {
+ return ClassLoader.getSystemResource("test_data/metric_whitelist.dat").toURI().getPath();
+ }
}