From 73a36c047c979469d756804ab0120955cd4ea110 Mon Sep 17 00:00:00 2001 From: Arne H Juul Date: Thu, 3 Nov 2016 13:10:32 +0100 Subject: make a simple mock for unit testing --- .../com/yahoo/metrics/simple/MetricReceiver.java | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'simplemetrics/src') diff --git a/simplemetrics/src/main/java/com/yahoo/metrics/simple/MetricReceiver.java b/simplemetrics/src/main/java/com/yahoo/metrics/simple/MetricReceiver.java index c45d50db065..0cb67351b9f 100644 --- a/simplemetrics/src/main/java/com/yahoo/metrics/simple/MetricReceiver.java +++ b/simplemetrics/src/main/java/com/yahoo/metrics/simple/MetricReceiver.java @@ -74,6 +74,29 @@ public class MetricReceiver { } } + public static final class MockReceiver extends MetricReceiver { + private final ThreadLocalDirectory collection; + private MockReceiver(ThreadLocalDirectory collection) { + super(collection, null); + this.collection = collection; + } + public MockReceiver() { + this(new ThreadLocalDirectory<>(new MetricUpdater())); + } + /** gathers all data since last snapshot */ + public Bucket getSnapshot() { + final Bucket merged = new Bucket(); + for (Bucket b : collection.fetch()) { + merged.merge(b, true); + } + return merged; + } + /** utility method for testing */ + public Point point(String dim, String val) { + return pointBuilder().set(dim, val).build(); + } + } + private static final class NullReceiver extends MetricReceiver { NullReceiver() { super(null, null); -- cgit v1.2.3