aboutsummaryrefslogtreecommitdiffstats
path: root/application/src/test/java/com/yahoo/application/ApplicationTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'application/src/test/java/com/yahoo/application/ApplicationTest.java')
-rw-r--r--application/src/test/java/com/yahoo/application/ApplicationTest.java22
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()