[hotfix][metrics] Refactor CheckpointStatsTrackerTest

Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/5a545dbf
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/5a545dbf
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/5a545dbf

Branch: refs/heads/master
Commit: 5a545dbf16272c36c0e8efbbc07b1aed3c0290b9
Parents: 0bf0fdc
Author: zentol <[email protected]>
Authored: Wed Dec 6 14:59:18 2017 +0100
Committer: zentol <[email protected]>
Committed: Tue Dec 12 19:09:17 2017 +0100

----------------------------------------------------------------------
 .../checkpoint/CheckpointStatsTrackerTest.java  | 128 ++++---------------
 1 file changed, 27 insertions(+), 101 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/5a545dbf/flink-runtime/src/test/java/org/apache/flink/runtime/checkpoint/CheckpointStatsTrackerTest.java
----------------------------------------------------------------------
diff --git 
a/flink-runtime/src/test/java/org/apache/flink/runtime/checkpoint/CheckpointStatsTrackerTest.java
 
b/flink-runtime/src/test/java/org/apache/flink/runtime/checkpoint/CheckpointStatsTrackerTest.java
index e7a1d7b..0d19cd5 100644
--- 
a/flink-runtime/src/test/java/org/apache/flink/runtime/checkpoint/CheckpointStatsTrackerTest.java
+++ 
b/flink-runtime/src/test/java/org/apache/flink/runtime/checkpoint/CheckpointStatsTrackerTest.java
@@ -23,22 +23,17 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
-import org.apache.flink.metrics.CharacterFilter;
-import org.apache.flink.metrics.Counter;
 import org.apache.flink.metrics.Gauge;
-import org.apache.flink.metrics.Histogram;
-import org.apache.flink.metrics.Meter;
 import org.apache.flink.metrics.MetricGroup;
 import org.apache.flink.metrics.groups.UnregisteredMetricsGroup;
 import org.apache.flink.runtime.executiongraph.ExecutionJobVertex;
@@ -287,7 +282,17 @@ public class CheckpointStatsTrackerTest {
         */
        @Test
        public void testMetricsRegistration() throws Exception {
-               MetricGroup metricGroup = mock(MetricGroup.class);
+               final Collection<String> registeredGaugeNames = new 
ArrayList<>();
+
+               MetricGroup metricGroup = new UnregisteredMetricsGroup() {
+                       @Override
+                       public <T, G extends Gauge<T>> G gauge(String name, G 
gauge) {
+                               if (gauge != null) {
+                                       registeredGaugeNames.add(name);
+                               }
+                               return gauge;
+                       }
+               };
 
                ExecutionJobVertex jobVertex = mock(ExecutionJobVertex.class);
                when(jobVertex.getJobVertexId()).thenReturn(new JobVertexID());
@@ -299,18 +304,19 @@ public class CheckpointStatsTrackerTest {
                        mock(CheckpointCoordinatorConfiguration.class),
                        metricGroup);
 
-               verify(metricGroup, 
times(1)).gauge(eq(CheckpointStatsTracker.NUMBER_OF_CHECKPOINTS_METRIC), 
any(Gauge.class));
-               verify(metricGroup, 
times(1)).gauge(eq(CheckpointStatsTracker.NUMBER_OF_IN_PROGRESS_CHECKPOINTS_METRIC),
 any(Gauge.class));
-               verify(metricGroup, 
times(1)).gauge(eq(CheckpointStatsTracker.NUMBER_OF_COMPLETED_CHECKPOINTS_METRIC),
 any(Gauge.class));
-               verify(metricGroup, 
times(1)).gauge(eq(CheckpointStatsTracker.NUMBER_OF_FAILED_CHECKPOINTS_METRIC), 
any(Gauge.class));
-               verify(metricGroup, 
times(1)).gauge(eq(CheckpointStatsTracker.LATEST_RESTORED_CHECKPOINT_TIMESTAMP_METRIC),
 any(Gauge.class));
-               verify(metricGroup, 
times(1)).gauge(eq(CheckpointStatsTracker.LATEST_COMPLETED_CHECKPOINT_SIZE_METRIC),
 any(Gauge.class));
-               verify(metricGroup, 
times(1)).gauge(eq(CheckpointStatsTracker.LATEST_COMPLETED_CHECKPOINT_DURATION_METRIC),
 any(Gauge.class));
-               verify(metricGroup, 
times(1)).gauge(eq(CheckpointStatsTracker.LATEST_COMPLETED_CHECKPOINT_ALIGNMENT_BUFFERED_METRIC),
 any(Gauge.class));
-               verify(metricGroup, 
times(1)).gauge(eq(CheckpointStatsTracker.LATEST_COMPLETED_CHECKPOINT_EXTERNAL_PATH_METRIC),
 any(Gauge.class));
-
                // Make sure this test is adjusted when further metrics are 
added
-               verify(metricGroup, times(9)).gauge(any(String.class), 
any(Gauge.class));
+               assertTrue(registeredGaugeNames.containsAll(Arrays.asList(
+                       CheckpointStatsTracker.NUMBER_OF_CHECKPOINTS_METRIC,
+                       
CheckpointStatsTracker.NUMBER_OF_IN_PROGRESS_CHECKPOINTS_METRIC,
+                       
CheckpointStatsTracker.NUMBER_OF_COMPLETED_CHECKPOINTS_METRIC,
+                       
CheckpointStatsTracker.NUMBER_OF_FAILED_CHECKPOINTS_METRIC,
+                       
CheckpointStatsTracker.LATEST_RESTORED_CHECKPOINT_TIMESTAMP_METRIC,
+                       
CheckpointStatsTracker.LATEST_COMPLETED_CHECKPOINT_SIZE_METRIC,
+                       
CheckpointStatsTracker.LATEST_COMPLETED_CHECKPOINT_DURATION_METRIC,
+                       
CheckpointStatsTracker.LATEST_COMPLETED_CHECKPOINT_ALIGNMENT_BUFFERED_METRIC,
+                       
CheckpointStatsTracker.LATEST_COMPLETED_CHECKPOINT_EXTERNAL_PATH_METRIC
+               )));
+               assertEquals(9, registeredGaugeNames.size());
        }
 
        /**
@@ -322,92 +328,12 @@ public class CheckpointStatsTrackerTest {
        public void testMetricsAreUpdated() throws Exception {
                final Map<String, Gauge<?>> registeredGauges = new HashMap<>();
 
-               MetricGroup metricGroup = new MetricGroup() {
-                       @Override
-                       public Counter counter(int name) {
-                               throw new UnsupportedOperationException("Not 
expected in this test");
-                       }
-
-                       @Override
-                       public Counter counter(String name) {
-                               throw new UnsupportedOperationException("Not 
expected in this test");
-                       }
-
-                       @Override
-                       public <C extends Counter> C counter(int name, C 
counter) {
-                               throw new UnsupportedOperationException("Not 
expected in this test");
-                       }
-
-                       @Override
-                       public <C extends Counter> C counter(String name, C 
counter) {
-                               throw new UnsupportedOperationException("Not 
expected in this test");
-                       }
-
-                       @Override
-                       public <T, G extends Gauge<T>> G gauge(int name, G 
gauge) {
-                               throw new UnsupportedOperationException("Not 
expected in this test");
-                       }
-
+               MetricGroup metricGroup = new UnregisteredMetricsGroup() {
                        @Override
                        public <T, G extends Gauge<T>> G gauge(String name, G 
gauge) {
                                registeredGauges.put(name, gauge);
                                return gauge;
                        }
-
-                       @Override
-                       public <H extends Histogram> H histogram(String name, H 
histogram) {
-                               throw new UnsupportedOperationException("Not 
expected in this test");
-                       }
-
-                       @Override
-                       public <H extends Histogram> H histogram(int name, H 
histogram) {
-                               throw new UnsupportedOperationException("Not 
expected in this test");
-                       }
-
-                       @Override
-                       public <M extends Meter> M meter(String name, M meter) {
-                               throw new UnsupportedOperationException("Not 
expected in this test");
-                       }
-
-                       @Override
-                       public <M extends Meter> M meter(int name, M meter) {
-                               throw new UnsupportedOperationException("Not 
expected in this test");
-                       }
-
-                       @Override
-                       public MetricGroup addGroup(int name) {
-                               throw new UnsupportedOperationException("Not 
expected in this test");
-                       }
-
-                       @Override
-                       public MetricGroup addGroup(String name) {
-                               throw new UnsupportedOperationException("Not 
expected in this test");
-                       }
-
-                       @Override
-                       public MetricGroup addGroup(String key, String value) {
-                               throw new UnsupportedOperationException("Not 
expected in this test");
-                       }
-
-                       @Override
-                       public String[] getScopeComponents() {
-                               throw new UnsupportedOperationException("Not 
expected in this test");
-                       }
-
-                       @Override
-                       public Map<String, String> getAllVariables() {
-                               throw new UnsupportedOperationException("Not 
expected in this test");
-                       }
-
-                       @Override
-                       public String getMetricIdentifier(String metricName) {
-                               throw new UnsupportedOperationException("Not 
expected in this test");
-                       }
-
-                       @Override
-                       public String getMetricIdentifier(String metricName, 
CharacterFilter filter) {
-                               throw new UnsupportedOperationException("Not 
expected in this test");
-                       }
                };
 
                ExecutionJobVertex jobVertex = mock(ExecutionJobVertex.class);

Reply via email to