Skip to content

Commit bbfe5a6

Browse files
authored
port 8080 was blocked (#11375)
1 parent 974b28e commit bbfe5a6

File tree

4 files changed

+30
-73
lines changed

4 files changed

+30
-73
lines changed

smoke-tests-otel-starter/spring-boot-3/src/main/java/io/opentelemetry/spring/smoketest/RestClientSmokeTestController.java

Lines changed: 0 additions & 35 deletions
This file was deleted.

smoke-tests-otel-starter/spring-boot-3/src/test/java/io/opentelemetry/spring/smoketest/OtelSpringStarterSmokeTest.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,13 @@
55

66
package io.opentelemetry.spring.smoketest;
77

8+
import static org.assertj.core.api.Assertions.assertThat;
9+
810
import org.junit.jupiter.api.Test;
11+
import org.springframework.beans.factory.annotation.Autowired;
912
import org.springframework.boot.test.context.SpringBootTest;
13+
import org.springframework.boot.test.web.server.LocalServerPort;
14+
import org.springframework.web.client.RestClient;
1015

1116
@SpringBootTest(
1217
classes = {
@@ -21,8 +26,21 @@
2126
})
2227
class OtelSpringStarterSmokeTest extends AbstractOtelSpringStarterSmokeTest {
2328

29+
@Autowired RestClient.Builder restClientBuilder;
30+
@LocalServerPort private int port;
31+
2432
@Test
2533
void restClient() {
26-
assertClient(OtelSpringStarterSmokeTestController.REST_CLIENT);
34+
testing.clearAllExportedData();
35+
36+
RestClient client = restClientBuilder.baseUrl("http://localhost:" + port).build();
37+
assertThat(
38+
client
39+
.get()
40+
.uri(OtelSpringStarterSmokeTestController.PING)
41+
.retrieve()
42+
.body(String.class))
43+
.isEqualTo("pong");
44+
assertClient();
2745
}
2846
}

smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/AbstractOtelSpringStarterSmokeTest.java

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,15 @@
3535
import org.springframework.beans.factory.annotation.Autowired;
3636
import org.springframework.boot.context.event.ApplicationReadyEvent;
3737
import org.springframework.boot.test.web.client.TestRestTemplate;
38+
import org.springframework.boot.test.web.server.LocalServerPort;
39+
import org.springframework.boot.web.client.RestTemplateBuilder;
3840
import org.springframework.context.annotation.Bean;
3941
import org.springframework.context.annotation.Configuration;
4042
import org.springframework.context.event.EventListener;
4143
import org.springframework.core.annotation.Order;
4244
import org.springframework.core.env.Environment;
4345
import org.springframework.jdbc.core.JdbcTemplate;
46+
import org.springframework.web.client.RestTemplate;
4447

4548
/**
4649
* This test class enforces the order of the tests to make sure that {@link #shouldSendTelemetry()},
@@ -55,6 +58,8 @@ class AbstractOtelSpringStarterSmokeTest extends AbstractSpringStarterSmokeTest
5558
@Autowired private PropagationProperties propagationProperties;
5659
@Autowired private OtelResourceProperties otelResourceProperties;
5760
@Autowired private OtlpExporterProperties otlpExporterProperties;
61+
@Autowired private RestTemplateBuilder restTemplateBuilder;
62+
@LocalServerPort private int port;
5863

5964
@Configuration(proxyBeanMethods = false)
6065
static class TestConfiguration {
@@ -168,26 +173,17 @@ void shouldSendTelemetry() {
168173

169174
@Test
170175
void restTemplate() {
171-
assertClient(OtelSpringStarterSmokeTestController.REST_TEMPLATE);
172-
}
173-
174-
protected void assertClient(String url) {
175176
testing.clearAllExportedData();
176177

177-
testRestTemplate.getForObject(url, String.class);
178+
RestTemplate restTemplate = restTemplateBuilder.rootUri("http://localhost:" + port).build();
179+
restTemplate.getForObject(OtelSpringStarterSmokeTestController.PING, String.class);
180+
assertClient();
181+
}
178182

183+
protected void assertClient() {
179184
testing.waitAndAssertTraces(
180185
traceAssert ->
181186
traceAssert.hasSpansSatisfyingExactly(
182-
clientSpan ->
183-
clientSpan
184-
.hasKind(SpanKind.CLIENT)
185-
.hasAttributesSatisfying(
186-
a -> assertThat(a.get(UrlAttributes.URL_FULL)).endsWith(url)),
187-
serverSpan ->
188-
serverSpan
189-
.hasKind(SpanKind.SERVER)
190-
.hasAttribute(HttpAttributes.HTTP_ROUTE, url),
191187
nestedClientSpan ->
192188
nestedClientSpan
193189
.hasKind(SpanKind.CLIENT)

smoke-tests-otel-starter/spring-boot-common/src/main/java/io/opentelemetry/spring/smoketest/OtelSpringStarterSmokeTestController.java

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,8 @@
88
import io.opentelemetry.api.OpenTelemetry;
99
import io.opentelemetry.api.metrics.LongHistogram;
1010
import io.opentelemetry.api.metrics.Meter;
11-
import java.util.Optional;
12-
import org.springframework.boot.web.client.RestTemplateBuilder;
13-
import org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext;
1411
import org.springframework.web.bind.annotation.GetMapping;
1512
import org.springframework.web.bind.annotation.RestController;
16-
import org.springframework.web.client.RestTemplate;
1713

1814
@RestController
1915
public class OtelSpringStarterSmokeTestController {
@@ -24,33 +20,15 @@ public class OtelSpringStarterSmokeTestController {
2420
public static final String TEST_HISTOGRAM = "histogram-test-otel-spring-starter";
2521
public static final String METER_SCOPE_NAME = "scope";
2622
private final LongHistogram histogram;
27-
private final Optional<RestTemplate> restTemplate;
28-
private final Optional<ServletWebServerApplicationContext> server;
2923

30-
public OtelSpringStarterSmokeTestController(
31-
OpenTelemetry openTelemetry,
32-
RestTemplateBuilder restTemplateBuilder,
33-
Optional<ServletWebServerApplicationContext> server) {
34-
this.server = server;
24+
public OtelSpringStarterSmokeTestController(OpenTelemetry openTelemetry) {
3525
Meter meter = openTelemetry.getMeter(METER_SCOPE_NAME);
3626
histogram = meter.histogramBuilder(TEST_HISTOGRAM).ofLongs().build();
37-
restTemplate = getRootUri().map(uri -> restTemplateBuilder.rootUri(uri).build());
38-
}
39-
40-
public Optional<String> getRootUri() {
41-
return server.map(s -> "http://localhost:" + s.getWebServer().getPort());
4227
}
4328

4429
@GetMapping(PING)
4530
public String ping() {
4631
histogram.record(10);
4732
return "pong";
4833
}
49-
50-
@GetMapping(REST_TEMPLATE)
51-
public String restTemplate() {
52-
return restTemplate
53-
.map(t -> t.getForObject(PING, String.class))
54-
.orElseThrow(() -> new IllegalStateException("RestTemplate not available"));
55-
}
5634
}

0 commit comments

Comments
 (0)