diff options
author | Ivan Topolnjak <ivantopo@gmail.com> | 2017-05-20 14:06:03 +0200 |
---|---|---|
committer | Ivan Topolnjak <ivantopo@gmail.com> | 2017-05-20 14:06:03 +0200 |
commit | e1e7853255131f26702229735e37e160c38f2d08 (patch) | |
tree | 98202bb2b62a9c0dd29d0fb7f020da232703844a /kamon-core/src/test/scala/kamon/metric/RecorderRegistrySpec.scala | |
parent | 77f2666650726352a9e15dcf6019064d91393b2e (diff) | |
download | Kamon-e1e7853255131f26702229735e37e160c38f2d08.tar.gz Kamon-e1e7853255131f26702229735e37e160c38f2d08.tar.bz2 Kamon-e1e7853255131f26702229735e37e160c38f2d08.zip |
implement entity filters
Diffstat (limited to 'kamon-core/src/test/scala/kamon/metric/RecorderRegistrySpec.scala')
-rw-r--r-- | kamon-core/src/test/scala/kamon/metric/RecorderRegistrySpec.scala | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/kamon-core/src/test/scala/kamon/metric/RecorderRegistrySpec.scala b/kamon-core/src/test/scala/kamon/metric/RecorderRegistrySpec.scala new file mode 100644 index 00000000..28402d7c --- /dev/null +++ b/kamon-core/src/test/scala/kamon/metric/RecorderRegistrySpec.scala @@ -0,0 +1,43 @@ +package kamon.metric + +import com.typesafe.config.ConfigFactory +import org.scalatest.{Matchers, WordSpec} + +class RecorderRegistrySpec extends WordSpec with Matchers { + private val testConfig = ConfigFactory.parseString( + """ + |kamon.metric.filters { + | accept-unmatched = false + | + | my-category { + | includes = ["**"] + | excludes = ["excluded"] + | } + |} + """.stripMargin + ) + private val recorderRegistry = new RecorderRegistryImpl(testConfig.withFallback(ConfigFactory.load())) + + + "the RecorderRegistry" should { + "create entity recorders as requested and always return the same instance for a given entity" in { + val myFirstEntityRecorder = recorderRegistry.getRecorder(Entity("my-entity", "my-category", Map.empty)) + val mySecondEntityRecorder = recorderRegistry.getRecorder(Entity("my-entity", "my-category", Map.empty)) + mySecondEntityRecorder shouldBe theSameInstanceAs(myFirstEntityRecorder) + } + + "properly advice regarding entity filtering read from configuration" in { + recorderRegistry.shouldTrack(Entity("my-entity", "my-category", Map.empty)) shouldBe true + recorderRegistry.shouldTrack(Entity("other-eny", "my-category", Map.empty)) shouldBe true + recorderRegistry.shouldTrack(Entity("excluded", "my-category", Map.empty)) shouldBe false + } + + "allow removing entities" in { + val myFirstEntityRecorder = recorderRegistry.getRecorder(Entity("my-entity", "my-category", Map.empty)) + recorderRegistry.removeRecorder(Entity("my-entity", "my-category", Map.empty)) + + val mySecondEntityRecorder = recorderRegistry.getRecorder(Entity("my-entity", "my-category", Map.empty)) + mySecondEntityRecorder shouldNot be theSameInstanceAs(myFirstEntityRecorder) + } + } +} |