Remove utility method for testing if clients are using libsignal networking

This commit is contained in:
Jon Chambers
2026-02-17 17:02:12 -05:00
committed by Jon Chambers
parent 5850eeb87b
commit d659af566b
8 changed files with 74 additions and 94 deletions

View File

@@ -104,7 +104,6 @@ public class MetricServerInterceptorTest {
final Tags commonTags = Tags.of(
"platform", "android",
"libsignal", "true",
"grpcService", "org.signal.chat.rpc.EchoService",
"method", "echo");

View File

@@ -157,14 +157,13 @@ class MetricsHttpChannelListenerIntegrationTest {
tags.add(tag);
}
assertEquals(6, tags.size());
assertTrue(tags.contains(Tag.of(MetricsHttpChannelListener.PATH_TAG, expectedTagPath)));
assertTrue(tags.contains(Tag.of(MetricsHttpChannelListener.METHOD_TAG, "GET")));
assertTrue(tags.contains(Tag.of(MetricsHttpChannelListener.STATUS_CODE_TAG, String.valueOf(expectedStatus))));
assertTrue(
tags.contains(Tag.of(MetricsHttpChannelListener.TRAFFIC_SOURCE_TAG, TRAFFIC_SOURCE.name().toLowerCase())));
assertTrue(tags.contains(Tag.of(UserAgentTagUtil.PLATFORM_TAG, "android")));
assertTrue(tags.contains(Tag.of(UserAgentTagUtil.LIBSIGNAL_TAG, "false")));
assertEquals(Set.of(
Tag.of(MetricsHttpChannelListener.PATH_TAG, expectedTagPath),
Tag.of(MetricsHttpChannelListener.METHOD_TAG, "GET"),
Tag.of(MetricsHttpChannelListener.STATUS_CODE_TAG, String.valueOf(expectedStatus)),
Tag.of(MetricsHttpChannelListener.TRAFFIC_SOURCE_TAG, TRAFFIC_SOURCE.name().toLowerCase()),
Tag.of(UserAgentTagUtil.PLATFORM_TAG, "android")),
tags);
}
@@ -221,14 +220,13 @@ class MetricsHttpChannelListenerIntegrationTest {
tags.add(tag);
}
assertEquals(6, tags.size());
assertTrue(tags.contains(Tag.of(MetricsHttpChannelListener.PATH_TAG, "/v1/websocket")));
assertTrue(tags.contains(Tag.of(MetricsHttpChannelListener.METHOD_TAG, "GET")));
assertTrue(tags.contains(Tag.of(MetricsHttpChannelListener.STATUS_CODE_TAG, String.valueOf(101))));
assertTrue(
tags.contains(Tag.of(MetricsHttpChannelListener.TRAFFIC_SOURCE_TAG, TRAFFIC_SOURCE.name().toLowerCase())));
assertTrue(tags.contains(Tag.of(UserAgentTagUtil.PLATFORM_TAG, "android")));
assertTrue(tags.contains(Tag.of(UserAgentTagUtil.LIBSIGNAL_TAG, "false")));
assertEquals(Set.of(
Tag.of(MetricsHttpChannelListener.PATH_TAG, "/v1/websocket"),
Tag.of(MetricsHttpChannelListener.METHOD_TAG, "GET"),
Tag.of(MetricsHttpChannelListener.STATUS_CODE_TAG, String.valueOf(101)),
Tag.of(MetricsHttpChannelListener.TRAFFIC_SOURCE_TAG, TRAFFIC_SOURCE.name().toLowerCase()),
Tag.of(UserAgentTagUtil.PLATFORM_TAG, "android")),
tags);
}
}

View File

@@ -18,18 +18,17 @@ import com.google.common.net.HttpHeaders;
import io.micrometer.core.instrument.Counter;
import io.micrometer.core.instrument.MeterRegistry;
import io.micrometer.core.instrument.Tag;
import io.micrometer.core.instrument.Tags;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import io.micrometer.core.instrument.Tags;
import org.eclipse.jetty.http.HttpURI;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.Response;
import org.glassfish.jersey.server.ExtendedUriInfo;
import org.glassfish.jersey.uri.UriTemplate;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
import org.mockito.ArgumentCaptor;
@@ -113,15 +112,18 @@ class MetricsHttpChannelListenerTest {
tags.add(tag);
}
assertEquals(versionActive ? 7 : 6, tags.size());
assertTrue(tags.contains(Tag.of(MetricsHttpChannelListener.PATH_TAG, path)));
assertTrue(tags.contains(Tag.of(MetricsHttpChannelListener.METHOD_TAG, method)));
assertTrue(tags.contains(Tag.of(MetricsHttpChannelListener.STATUS_CODE_TAG, String.valueOf(statusCode))));
assertTrue(
tags.contains(Tag.of(MetricsHttpChannelListener.TRAFFIC_SOURCE_TAG, TrafficSource.HTTP.name().toLowerCase())));
assertTrue(tags.contains(Tag.of(UserAgentTagUtil.PLATFORM_TAG, "android")));
assertTrue(tags.contains(Tag.of(UserAgentTagUtil.LIBSIGNAL_TAG, "false")));
assertEquals(versionActive, tags.contains(Tag.of(UserAgentTagUtil.VERSION_TAG, "6.53.7")));
final Set<Tag> expectedTags = new HashSet<>(Set.of(
Tag.of(MetricsHttpChannelListener.PATH_TAG, path),
Tag.of(MetricsHttpChannelListener.METHOD_TAG, method),
Tag.of(MetricsHttpChannelListener.STATUS_CODE_TAG, String.valueOf(statusCode)),
Tag.of(MetricsHttpChannelListener.TRAFFIC_SOURCE_TAG, TrafficSource.HTTP.name().toLowerCase()),
Tag.of(UserAgentTagUtil.PLATFORM_TAG, "android")));
if (versionActive) {
expectedTags.add(Tag.of(UserAgentTagUtil.VERSION_TAG, "6.53.7"));
}
assertEquals(expectedTags, tags);
}
@ParameterizedTest

View File

@@ -7,7 +7,6 @@ package org.whispersystems.textsecuregcm.metrics;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.mock;
@@ -142,15 +141,19 @@ class MetricsRequestEventListenerTest {
tags.add(tag);
}
assertEquals(versionActive ? 8 : 7, tags.size());
assertTrue(tags.contains(Tag.of(MetricsRequestEventListener.PATH_TAG, path)));
assertTrue(tags.contains(Tag.of(MetricsRequestEventListener.METHOD_TAG, method)));
assertTrue(tags.contains(Tag.of(MetricsRequestEventListener.STATUS_CODE_TAG, String.valueOf(statusCode))));
assertTrue(tags.contains(Tag.of(MetricsRequestEventListener.TRAFFIC_SOURCE_TAG, TRAFFIC_SOURCE.name().toLowerCase())));
assertTrue(tags.contains(Tag.of(MetricsRequestEventListener.AUTHENTICATED_TAG, "false")));
assertTrue(tags.contains(Tag.of(UserAgentTagUtil.PLATFORM_TAG, "android")));
assertTrue(tags.contains(Tag.of(UserAgentTagUtil.LIBSIGNAL_TAG, "true")));
assertEquals(versionActive, tags.contains(Tag.of(UserAgentTagUtil.VERSION_TAG, "7.6.2")));
final Set<Tag> expectedTags = new HashSet<>(Set.of(
Tag.of(MetricsRequestEventListener.PATH_TAG, path),
Tag.of(MetricsRequestEventListener.METHOD_TAG, method),
Tag.of(MetricsRequestEventListener.STATUS_CODE_TAG, String.valueOf(statusCode)),
Tag.of(MetricsRequestEventListener.TRAFFIC_SOURCE_TAG, TRAFFIC_SOURCE.name().toLowerCase()),
Tag.of(MetricsRequestEventListener.AUTHENTICATED_TAG, "false"),
Tag.of(UserAgentTagUtil.PLATFORM_TAG, "android")));
if (versionActive) {
expectedTags.add(Tag.of(UserAgentTagUtil.VERSION_TAG, "7.6.2"));
}
assertEquals(expectedTags, tags);
}
@Test
@@ -211,15 +214,15 @@ class MetricsRequestEventListenerTest {
tags.add(tag);
}
assertEquals(8, tags.size());
assertTrue(tags.contains(Tag.of(MetricsRequestEventListener.PATH_TAG, "/v1/test/hello")));
assertTrue(tags.contains(Tag.of(MetricsRequestEventListener.METHOD_TAG, "GET")));
assertTrue(tags.contains(Tag.of(MetricsRequestEventListener.STATUS_CODE_TAG, String.valueOf(200))));
assertTrue(tags.contains(Tag.of(MetricsRequestEventListener.TRAFFIC_SOURCE_TAG, TRAFFIC_SOURCE.name().toLowerCase())));
assertTrue(tags.contains(Tag.of(MetricsRequestEventListener.AUTHENTICATED_TAG, "true")));
assertTrue(tags.contains(Tag.of(MetricsRequestEventListener.LISTEN_PORT_TAG, Integer.toString(LISTEN_PORT))));
assertTrue(tags.contains(Tag.of(UserAgentTagUtil.PLATFORM_TAG, "android")));
assertTrue(tags.contains(Tag.of(UserAgentTagUtil.LIBSIGNAL_TAG, "false")));
assertEquals(Set.of(
Tag.of(MetricsRequestEventListener.PATH_TAG, "/v1/test/hello"),
Tag.of(MetricsRequestEventListener.METHOD_TAG, "GET"),
Tag.of(MetricsRequestEventListener.STATUS_CODE_TAG, String.valueOf(200)),
Tag.of(MetricsRequestEventListener.TRAFFIC_SOURCE_TAG, TRAFFIC_SOURCE.name().toLowerCase()),
Tag.of(MetricsRequestEventListener.AUTHENTICATED_TAG, "true"),
Tag.of(MetricsRequestEventListener.LISTEN_PORT_TAG, Integer.toString(LISTEN_PORT)),
Tag.of(UserAgentTagUtil.PLATFORM_TAG, "android")),
tags);
}
@Test
@@ -278,15 +281,15 @@ class MetricsRequestEventListenerTest {
tags.add(tag);
}
assertEquals(8, tags.size());
assertTrue(tags.contains(Tag.of(MetricsRequestEventListener.PATH_TAG, "/v1/test/hello")));
assertTrue(tags.contains(Tag.of(MetricsRequestEventListener.METHOD_TAG, "GET")));
assertTrue(tags.contains(Tag.of(MetricsRequestEventListener.STATUS_CODE_TAG, String.valueOf(200))));
assertTrue(tags.contains(Tag.of(MetricsRequestEventListener.TRAFFIC_SOURCE_TAG, TRAFFIC_SOURCE.name().toLowerCase())));
assertTrue(tags.contains(Tag.of(MetricsRequestEventListener.AUTHENTICATED_TAG, "true")));
assertTrue(tags.contains(Tag.of(MetricsRequestEventListener.LISTEN_PORT_TAG, Integer.toString(LISTEN_PORT))));
assertTrue(tags.contains(Tag.of(UserAgentTagUtil.PLATFORM_TAG, "unrecognized")));
assertTrue(tags.contains(Tag.of(UserAgentTagUtil.LIBSIGNAL_TAG, "false")));
assertEquals(Set.of(
Tag.of(MetricsRequestEventListener.PATH_TAG, "/v1/test/hello"),
Tag.of(MetricsRequestEventListener.METHOD_TAG, "GET"),
Tag.of(MetricsRequestEventListener.STATUS_CODE_TAG, String.valueOf(200)),
Tag.of(MetricsRequestEventListener.TRAFFIC_SOURCE_TAG, TRAFFIC_SOURCE.name().toLowerCase()),
Tag.of(MetricsRequestEventListener.AUTHENTICATED_TAG, "true"),
Tag.of(MetricsRequestEventListener.LISTEN_PORT_TAG, Integer.toString(LISTEN_PORT)),
Tag.of(UserAgentTagUtil.PLATFORM_TAG, "unrecognized")),
tags);
}
@@ -348,15 +351,15 @@ class MetricsRequestEventListenerTest {
tags.add(tag);
}
assertEquals(8, tags.size());
assertTrue(tags.contains(Tag.of(MetricsRequestEventListener.PATH_TAG, "/v1/test/hello")));
assertTrue(tags.contains(Tag.of(MetricsRequestEventListener.METHOD_TAG, "GET")));
assertTrue(tags.contains(Tag.of(MetricsRequestEventListener.STATUS_CODE_TAG, String.valueOf(200))));
assertTrue(tags.contains(Tag.of(MetricsRequestEventListener.TRAFFIC_SOURCE_TAG, TRAFFIC_SOURCE.name().toLowerCase())));
assertTrue(tags.contains(Tag.of(MetricsRequestEventListener.AUTHENTICATED_TAG, String.valueOf(authenticated))));
assertTrue(tags.contains(Tag.of(MetricsRequestEventListener.LISTEN_PORT_TAG, Integer.toString(LISTEN_PORT))));
assertTrue(tags.contains(Tag.of(UserAgentTagUtil.PLATFORM_TAG, "unrecognized")));
assertTrue(tags.contains(Tag.of(UserAgentTagUtil.LIBSIGNAL_TAG, "false")));
assertEquals(Set.of(
Tag.of(MetricsRequestEventListener.PATH_TAG, "/v1/test/hello"),
Tag.of(MetricsRequestEventListener.METHOD_TAG, "GET"),
Tag.of(MetricsRequestEventListener.STATUS_CODE_TAG, String.valueOf(200)),
Tag.of(MetricsRequestEventListener.TRAFFIC_SOURCE_TAG, TRAFFIC_SOURCE.name().toLowerCase()),
Tag.of(MetricsRequestEventListener.AUTHENTICATED_TAG, String.valueOf(authenticated)),
Tag.of(MetricsRequestEventListener.LISTEN_PORT_TAG, Integer.toString(LISTEN_PORT)),
Tag.of(UserAgentTagUtil.PLATFORM_TAG, "unrecognized")),
tags);
}
private static SubProtocol.WebSocketResponseMessage getResponse(ArgumentCaptor<ByteBuffer> responseCaptor)