Adding coverage for MetricProvider
authormanojna v <manojna.vijayakrishna@ericsson.com>
Wed, 8 Aug 2018 08:28:18 +0000 (13:58 +0530)
committerAnil Belur <abelur@linuxfoundation.org>
Thu, 7 Oct 2021 05:19:58 +0000 (15:19 +1000)
Change-Id: I3948497978ff639b76f6032c664b5d16ed162dfc
Signed-off-by: manojna v <manojna.vijayakrishna@ericsson.com>
metrics/impl/src/test/java/org/opendaylight/infrautils/metrics/tests/MetricProviderTest.java

index 2cc848c9162ba2ba03bedee00e8bc2c4beef88c1..03f937ebc1d66a55b5cd248a4070014cb82ea180 100644 (file)
@@ -71,6 +71,51 @@ public class MetricProviderTest {
         assertThat(againMeterA.get()).isEqualTo(3);
     }
 
+    @Test
+    public void testMeterWith4Labels() {
+        Labeled<Labeled<Labeled<Labeled<Meter>>>> meterWith4Labels = (Labeled<Labeled<Labeled<Labeled<Meter>>>>) metrics
+                .newMeter(MetricDescriptor.builder().anchor(this).project("infrautils")
+                                .module("metrics").id("test_meter4").build(),
+                        "label1", "label2", "label3", "label4");
+        Meter meterA = meterWith4Labels.label("l1").label("l2").label("l3")
+                .label("l4");
+        meterA.mark(4);
+        assertThat(meterA.get()).isEqualTo(4);
+
+        Meter meterB = meterWith4Labels.label("l1value").label("l2value").label("l3value")
+                .label("l4value");
+        meterB.mark(1);
+        assertThat(meterB.get()).isEqualTo(1);
+        assertThat(meterA.get()).isEqualTo(4);
+
+        Meter againMeterA = meterWith4Labels.label("l1").label("l2").label("l3")
+                .label("l4");
+        assertThat(againMeterA.get()).isEqualTo(4);
+    }
+
+    @Test
+    public void testMeterWith5Labels() {
+        Labeled<Labeled<Labeled<Labeled<Labeled<Meter>>>>> meterWith5Lables = metrics
+                .newMeter(MetricDescriptor.builder().anchor(this).project("infrautils")
+                                .module("metrics").id("test_meter5").build(),
+                        "label1", "label2", "label3",
+                        "label4", "label5");
+        Meter meterA = meterWith5Lables.label("l1").label("l2").label("l3")
+                .label("l4").label("l5");
+        meterA.mark(5);
+        assertThat(meterA.get()).isEqualTo(5);
+
+        Meter meterB = meterWith5Lables.label("l1value").label("l2value").label("l3value")
+                .label("l4value").label("l5value");
+        meterB.mark(1);
+        assertThat(meterB.get()).isEqualTo(1);
+        assertThat(meterA.get()).isEqualTo(5);
+
+        Meter againMeterA = meterWith5Lables.label("l1").label("l2").label("l3")
+                .label("l4").label("l5");
+        assertThat(againMeterA.get()).isEqualTo(5);
+    }
+
     @Test
     public void testCounterWith2Labels() {
         Labeled<Labeled<Counter>> counterWithTwoLabels = metrics.newCounter(MetricDescriptor.builder().anchor(this)