package kamon package metric import com.typesafe.config.ConfigFactory import org.scalatest.{Matchers, WordSpec} //class FilterSpec extends WordSpec with Matchers { // val testConfig = ConfigFactory.parseString( // """ // |kamon.metric.filters { // | accept-unmatched-categories = false // | // | some-category { // | includes = ["**"] // | excludes = ["not-me"] // | } // | // | only-includes { // | includes = ["only-me"] // | } // | // | only-excludes { // | excludes = ["not-me"] // | } // | // | specific-rules { // | includes = ["glob:/user/**", "regex:test-[0-5]"] // | } // |} // """.stripMargin // ) // // "the entity filters" should { // "use the accept-unmatched-categories setting when there is no configuration for a given category" in { // val acceptUnmatched = Filter.fromConfig(ConfigFactory.parseString("kamon.metric.filters.accept-unmatched-categories=true")) // val rejectUnmatched = Filter.fromConfig(ConfigFactory.parseString("kamon.metric.filters.accept-unmatched-categories=false")) // // acceptUnmatched.accept(Entity("a", "b", Map.empty)) shouldBe true // rejectUnmatched.accept(Entity("a", "b", Map.empty)) shouldBe false // } // // "accept entities that are matched by any include and none exclude filters" in { // val entityFilter = Filter.fromConfig(testConfig) // // entityFilter.accept(Entity("anything", "anything", Map.empty)) shouldBe false // entityFilter.accept(Entity("anything", "some-category", Map.empty)) shouldBe true // entityFilter.accept(Entity("not-me", "some-category", Map.empty)) shouldBe false // } // // "allow configuring includes only or excludes only for any category" in { // val entityFilter = Filter.fromConfig(testConfig) // // entityFilter.accept(Entity("only-me", "only-includes", Map.empty)) shouldBe true // entityFilter.accept(Entity("anything", "only-includes", Map.empty)) shouldBe false // entityFilter.accept(Entity("any-other", "only-excludes", Map.empty)) shouldBe false // entityFilter.accept(Entity("not-me", "only-excludes", Map.empty)) shouldBe false // } // // "allow to explicitly decide whether patterns are treated as Glob or Regex" in { // val entityFilter = Filter.fromConfig(testConfig) // // entityFilter.accept(Entity("/user/accepted", "specific-rules", Map.empty)) shouldBe true // entityFilter.accept(Entity("/other/rejected/", "specific-rules", Map.empty)) shouldBe false // entityFilter.accept(Entity("test-5", "specific-rules", Map.empty)) shouldBe true // entityFilter.accept(Entity("test-6", "specific-rules", Map.empty)) shouldBe false // } // } //}