diff options
author | Arne H Juul <arnej@yahoo-inc.com> | 2016-11-03 13:10:32 +0100 |
---|---|---|
committer | Arne H Juul <arnej@yahoo-inc.com> | 2016-11-03 13:10:32 +0100 |
commit | 73a36c047c979469d756804ab0120955cd4ea110 (patch) | |
tree | 6e3f27c06f51c50d7911ebaa71ced1e66dc67eba /simplemetrics | |
parent | 6db5c7649be957e34a66d4fe6dc1abd99bccd965 (diff) |
make a simple mock for unit testing
Diffstat (limited to 'simplemetrics')
-rw-r--r-- | simplemetrics/src/main/java/com/yahoo/metrics/simple/MetricReceiver.java | 23 |
1 files changed, 23 insertions, 0 deletions
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<Bucket, Sample> collection; + private MockReceiver(ThreadLocalDirectory<Bucket, Sample> 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); |