@Test public void testSuccess_ConnectionMetrics_twoConnections() { assertThat(channel.isActive()).isTrue(); verify(metrics).registerActiveConnection(PROTOCOL, CLIENT_HASH, channel); // Setup second channel. WhoisServiceHandler whoisServiceHandler2 = new WhoisServiceHandler(RELAY_HOST, RELAY_PATH, () -> ACCESS_TOKEN, metrics); EmbeddedChannel channel2 = // We need a new channel id so that it has a different hash code. // This only is needed for EmbeddedChannel because it has a dummy hash code implementation. new EmbeddedChannel(DefaultChannelId.newInstance(), whoisServiceHandler2); assertThat(channel2.isActive()).isTrue(); verify(metrics).registerActiveConnection(PROTOCOL, CLIENT_HASH, channel2); verifyNoMoreInteractions(metrics); }
public static void main(String[] args) { //Force to use slf4j DefaultChannelId.newInstance(); System.setProperty("vertx.logger-delegate-factory-class-name", "io.vertx.core.logging.SLF4JLogDelegateFactory"); new Launcher().dispatch(args); }
private EmbeddedChannel setUpNewChannel(EppServiceHandler handler) throws Exception { return new EmbeddedChannel( DefaultChannelId.newInstance(), new ChannelInitializer<EmbeddedChannel>() { @Override protected void initChannel(EmbeddedChannel ch) throws Exception { ch.attr(REMOTE_ADDRESS_KEY).set(CLIENT_ADDRESS); ch.attr(CLIENT_CERTIFICATE_PROMISE_KEY).set(ch.eventLoop().newPromise()); ch.pipeline().addLast(handler); } }); }
public static void initChannelId(Channel channel) { channel.attr(CHANNEL_ID_ATTRIBUTE).set(new DefaultChannelId()); }
@Test public void testSuccess_twoConnections_sameClient() { EmbeddedChannel channel1 = new EmbeddedChannel(); EmbeddedChannel channel2 = new EmbeddedChannel(DefaultChannelId.newInstance()); metrics.registerActiveConnection(PROTOCOL, CERT_HASH, channel1); assertThat(channel1.isActive()).isTrue(); assertThat(FrontendMetrics.activeConnectionsGauge) .hasValueForLabels(1, PROTOCOL, CERT_HASH) .and() .hasNoOtherValues(); assertThat(FrontendMetrics.totalConnectionsCounter) .hasValueForLabels(1, PROTOCOL, CERT_HASH) .and() .hasNoOtherValues(); metrics.registerActiveConnection(PROTOCOL, CERT_HASH, channel2); assertThat(channel2.isActive()).isTrue(); assertThat(FrontendMetrics.activeConnectionsGauge) .hasValueForLabels(2, PROTOCOL, CERT_HASH) .and() .hasNoOtherValues(); assertThat(FrontendMetrics.totalConnectionsCounter) .hasValueForLabels(2, PROTOCOL, CERT_HASH) .and() .hasNoOtherValues(); ChannelFuture unusedFuture = channel1.close(); assertThat(channel1.isActive()).isFalse(); assertThat(FrontendMetrics.activeConnectionsGauge) .hasValueForLabels(1, PROTOCOL, CERT_HASH) .and() .hasNoOtherValues(); assertThat(FrontendMetrics.totalConnectionsCounter) .hasValueForLabels(2, PROTOCOL, CERT_HASH) .and() .hasNoOtherValues(); unusedFuture = channel2.close(); assertThat(channel2.isActive()).isFalse(); assertThat(FrontendMetrics.activeConnectionsGauge).hasNoOtherValues(); assertThat(FrontendMetrics.totalConnectionsCounter) .hasValueForLabels(2, PROTOCOL, CERT_HASH) .and() .hasNoOtherValues(); }
@Test public void testSuccess_twoConnections_differentClients() { EmbeddedChannel channel1 = new EmbeddedChannel(); EmbeddedChannel channel2 = new EmbeddedChannel(DefaultChannelId.newInstance()); String certHash2 = "blahblah_lol_234"; metrics.registerActiveConnection(PROTOCOL, CERT_HASH, channel1); assertThat(channel1.isActive()).isTrue(); assertThat(FrontendMetrics.activeConnectionsGauge) .hasValueForLabels(1, PROTOCOL, CERT_HASH) .and() .hasNoOtherValues(); assertThat(FrontendMetrics.totalConnectionsCounter) .hasValueForLabels(1, PROTOCOL, CERT_HASH) .and() .hasNoOtherValues(); metrics.registerActiveConnection(PROTOCOL, certHash2, channel2); assertThat(channel2.isActive()).isTrue(); assertThat(FrontendMetrics.activeConnectionsGauge) .hasValueForLabels(1, PROTOCOL, CERT_HASH) .and() .hasValueForLabels(1, PROTOCOL, certHash2) .and() .hasNoOtherValues(); assertThat(FrontendMetrics.totalConnectionsCounter) .hasValueForLabels(1, PROTOCOL, CERT_HASH) .and() .hasValueForLabels(1, PROTOCOL, certHash2) .and() .hasNoOtherValues(); ChannelFuture unusedFuture = channel1.close(); assertThat(channel1.isActive()).isFalse(); assertThat(FrontendMetrics.activeConnectionsGauge) .hasValueForLabels(1, PROTOCOL, certHash2) .and() .hasNoOtherValues(); assertThat(FrontendMetrics.totalConnectionsCounter) .hasValueForLabels(1, PROTOCOL, CERT_HASH) .and() .hasValueForLabels(1, PROTOCOL, certHash2) .and() .hasNoOtherValues(); unusedFuture = channel2.close(); assertThat(channel2.isActive()).isFalse(); assertThat(FrontendMetrics.activeConnectionsGauge).hasNoOtherValues(); assertThat(FrontendMetrics.totalConnectionsCounter) .hasValueForLabels(1, PROTOCOL, CERT_HASH) .and() .hasValueForLabels(1, PROTOCOL, certHash2) .and() .hasNoOtherValues(); }