summaryrefslogtreecommitdiffstats
path: root/jrt/tests
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@oath.com>2018-12-17 16:58:18 +0100
committerBjørn Christian Seime <bjorncs@oath.com>2019-01-08 13:46:43 +0100
commit7839b72766082427e8bfe1190e03bd3069911764 (patch)
tree309ba0b79253bd28790ff3672281547f71f9abfa /jrt/tests
parentdd49544fc92bb977389ea43b661246df08b9ad44 (diff)
Add metrics for jrt transport
Diffstat (limited to 'jrt/tests')
-rw-r--r--jrt/tests/com/yahoo/jrt/EchoTest.java43
1 files changed, 38 insertions, 5 deletions
diff --git a/jrt/tests/com/yahoo/jrt/EchoTest.java b/jrt/tests/com/yahoo/jrt/EchoTest.java
index 09841cb3c04..1c600e0918c 100644
--- a/jrt/tests/com/yahoo/jrt/EchoTest.java
+++ b/jrt/tests/com/yahoo/jrt/EchoTest.java
@@ -10,6 +10,7 @@ import org.junit.runners.Parameterized.Parameter;
import org.junit.runners.Parameterized.Parameters;
import static com.yahoo.jrt.CryptoUtils.createTestTlsContext;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@RunWith(Parameterized.class)
@@ -21,11 +22,41 @@ public class EchoTest {
Target target;
Values refValues;
- @Parameter public CryptoEngine crypto;
+ private interface MetricsAssertions {
+ void assertMetrics(TransportMetrics serverMetrics, TransportMetrics clientMetrics) throws AssertionError;
+ }
+
+ @Parameter(value = 0) public CryptoEngine crypto;
+ @Parameter(value = 1) public MetricsAssertions metricsAssertions;
+
+
@Parameters(name = "{0}") public static Object[] engines() {
- return new Object[] { new NullCryptoEngine(), new XorCryptoEngine(), new TlsCryptoEngine(createTestTlsContext()),
- new MaybeTlsCryptoEngine(new TlsCryptoEngine(createTestTlsContext()), false),
- new MaybeTlsCryptoEngine(new TlsCryptoEngine(createTestTlsContext()), true) };
+ return new Object[][] {
+ {
+ new NullCryptoEngine(),
+ (MetricsAssertions) (serverMetrics, clientMetrics) -> {
+ assertEquals(1, serverMetrics.serverUnencryptedConnectionsEstablished());
+ assertEquals(1, clientMetrics.clientUnencryptedConnectionsEstablished());
+ }},
+ {new XorCryptoEngine(), null},
+ {
+ new TlsCryptoEngine(createTestTlsContext()),
+ (MetricsAssertions) (serverMetrics, clientMetrics) -> {
+ assertEquals(1, serverMetrics.serverTlsConnectionsEstablished());
+ assertEquals(1, clientMetrics.clientTlsConnectionsEstablished());
+ }},
+ {
+ new MaybeTlsCryptoEngine(new TlsCryptoEngine(createTestTlsContext()), false),
+ (MetricsAssertions) (serverMetrics, clientMetrics) -> {
+ assertEquals(1, serverMetrics.serverUnencryptedConnectionsEstablished());
+ assertEquals(1, clientMetrics.clientUnencryptedConnectionsEstablished());
+ }},
+ {
+ new MaybeTlsCryptoEngine(new TlsCryptoEngine(createTestTlsContext()), true),
+ (MetricsAssertions) (serverMetrics, clientMetrics) -> {
+ assertEquals(1, serverMetrics.serverTlsConnectionsEstablished());
+ assertEquals(1, clientMetrics.clientTlsConnectionsEstablished());
+ }}};
}
@Before
@@ -99,6 +130,8 @@ public class EchoTest {
assertTrue(Test.equals(req.returnValues(), req.parameters()));
assertTrue(Test.equals(req.returnValues(), refValues));
assertTrue(Test.equals(req.parameters(), refValues));
+ if (metricsAssertions != null) {
+ metricsAssertions.assertMetrics(server.transport().metrics(), client.transport().metrics());
+ }
}
-
}