diff options
Diffstat (limited to 'application/src/test/java/com/yahoo/application/ApplicationTest.java')
-rw-r--r-- | application/src/test/java/com/yahoo/application/ApplicationTest.java | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/application/src/test/java/com/yahoo/application/ApplicationTest.java b/application/src/test/java/com/yahoo/application/ApplicationTest.java index 5b4a68756f0..6b394cdebd9 100644 --- a/application/src/test/java/com/yahoo/application/ApplicationTest.java +++ b/application/src/test/java/com/yahoo/application/ApplicationTest.java @@ -2,6 +2,7 @@ package com.yahoo.application; import com.yahoo.application.container.MockServer; +import com.yahoo.application.container.components.ComponentWithMetrics; import com.yahoo.application.container.docprocs.MockDocproc; import com.yahoo.application.container.handler.Request; import com.yahoo.application.container.handler.Response; @@ -15,6 +16,8 @@ import com.yahoo.docproc.Processing; import com.yahoo.document.DocumentRemove; import com.yahoo.document.DocumentType; import com.yahoo.jdisc.handler.RequestHandler; +import com.yahoo.metrics.simple.Bucket; +import com.yahoo.metrics.simple.jdisc.SimpleMetricConsumer; import com.yahoo.search.Query; import com.yahoo.search.Result; import com.yahoo.search.handler.SearchHandler; @@ -263,6 +266,25 @@ public class ApplicationTest { } @Test + void application_generation_metric() throws Exception { + try (ApplicationFacade app = new ApplicationFacade(Application.fromBuilder(new Application.Builder().container("default", new Application.Builder.Container() + .component(ComponentWithMetrics.class))))) { + var component = (ComponentWithMetrics)app.getComponentById(ComponentWithMetrics.class.getName()); + assertNotNull(component); + var metrics = (SimpleMetricConsumer)component.metrics().newInstance(); // not actually a new instance + assertNotNull(metrics); + int maxWaitMs = 10000; + Bucket snapshot = null; + while (maxWaitMs-- > 0 && ( snapshot = metrics.receiver().getSnapshot() ) == null) { + Thread.sleep(1); + } + assertNotNull(snapshot); + assertEquals(1, snapshot.getValuesForMetric("application_generation").size()); + assertEquals(0, snapshot.getValuesForMetric("application_generation").iterator().next().getValue().getLast()); + } + } + + @Test void component_with_config() throws Exception { MockApplicationConfig config = new MockApplicationConfig(new MockApplicationConfig.Builder().mystruct(new MockApplicationConfig.Mystruct.Builder().id("foo").value("bar"))); try (ApplicationFacade app = new ApplicationFacade(Application.fromBuilder(new Application.Builder().container("default", new Application.Builder.Container() |