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();
+  }
 }
