aboutsummaryrefslogtreecommitdiffstats
path: root/api/src/test
diff options
context:
space:
mode:
authorKristen Kozak <sebright@google.com>2017-11-08 18:03:44 -0800
committerKristen Kozak <sebright@google.com>2017-11-14 13:40:09 -0800
commit1c58c313c0b13d9ef781436572645f699a2c286d (patch)
tree7a9ebddc6db1f6776c893588ac12fb003fd4bc5c /api/src/test
parent9b50fa085c73ada5452e286cb030a33252d96cb4 (diff)
downloadplatform_external_opencensus-java-1c58c313c0b13d9ef781436572645f699a2c286d.tar.gz
platform_external_opencensus-java-1c58c313c0b13d9ef781436572645f699a2c286d.tar.bz2
platform_external_opencensus-java-1c58c313c0b13d9ef781436572645f699a2c286d.zip
Add ViewManager.getAllExportedViews().
This method currently returns all registered cumulative views. We could add a way to specify which views should be exported later. The API is currently needed for the StackDriver exporter. The NoopViewManager also returns all cumulative views. However, the exporter could choose to not export data when stats collection isn't enabled.
Diffstat (limited to 'api/src/test')
-rw-r--r--api/src/test/java/io/opencensus/stats/NoopViewManagerTest.java63
1 files changed, 63 insertions, 0 deletions
diff --git a/api/src/test/java/io/opencensus/stats/NoopViewManagerTest.java b/api/src/test/java/io/opencensus/stats/NoopViewManagerTest.java
index 24d1b14a..4aaa60dc 100644
--- a/api/src/test/java/io/opencensus/stats/NoopViewManagerTest.java
+++ b/api/src/test/java/io/opencensus/stats/NoopViewManagerTest.java
@@ -29,6 +29,7 @@ import io.opencensus.stats.ViewData.AggregationWindowData.CumulativeData;
import io.opencensus.stats.ViewData.AggregationWindowData.IntervalData;
import io.opencensus.tags.TagKey;
import java.util.Arrays;
+import java.util.Set;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
@@ -128,4 +129,66 @@ public final class NoopViewManagerTest {
thrown.expect(NullPointerException.class);
viewManager.getView(null);
}
+
+ @Test
+ public void getAllExportedViews() {
+ ViewManager viewManager = NoopStats.newNoopViewManager();
+ assertThat(viewManager.getAllExportedViews()).isEmpty();
+ View cumulativeView1 =
+ View.create(
+ View.Name.create("View 1"),
+ VIEW_DESCRIPTION,
+ MEASURE,
+ AGGREGATION,
+ Arrays.asList(KEY),
+ CUMULATIVE);
+ View cumulativeView2 =
+ View.create(
+ View.Name.create("View 2"),
+ VIEW_DESCRIPTION,
+ MEASURE,
+ AGGREGATION,
+ Arrays.asList(KEY),
+ CUMULATIVE);
+ View intervalView =
+ View.create(
+ View.Name.create("View 3"),
+ VIEW_DESCRIPTION,
+ MEASURE,
+ AGGREGATION,
+ Arrays.asList(KEY),
+ INTERVAL);
+ viewManager.registerView(cumulativeView1);
+ viewManager.registerView(cumulativeView2);
+ viewManager.registerView(intervalView);
+
+ // Only cumulative views should be exported.
+ assertThat(viewManager.getAllExportedViews()).containsExactly(cumulativeView1, cumulativeView2);
+ }
+
+ @Test
+ public void getAllExportedViews_ResultIsUnmodifiable() {
+ ViewManager viewManager = NoopStats.newNoopViewManager();
+ View view1 =
+ View.create(
+ View.Name.create("View 1"),
+ VIEW_DESCRIPTION,
+ MEASURE,
+ AGGREGATION,
+ Arrays.asList(KEY),
+ CUMULATIVE);
+ viewManager.registerView(view1);
+ Set<View> exported = viewManager.getAllExportedViews();
+
+ View view2 =
+ View.create(
+ View.Name.create("View 2"),
+ VIEW_DESCRIPTION,
+ MEASURE,
+ AGGREGATION,
+ Arrays.asList(KEY),
+ CUMULATIVE);
+ thrown.expect(UnsupportedOperationException.class);
+ exported.add(view2);
+ }
}