aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/test/scala/kamon/metric/RecorderRegistrySpec.scala
diff options
context:
space:
mode:
Diffstat (limited to 'kamon-core/src/test/scala/kamon/metric/RecorderRegistrySpec.scala')
-rw-r--r--kamon-core/src/test/scala/kamon/metric/RecorderRegistrySpec.scala43
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)
+ }
+ }
+}