Skip to content

Commit 6913074

Browse files
Add some test cases
1 parent c6864a2 commit 6913074

1 file changed

Lines changed: 51 additions & 1 deletion

File tree

telemetry/src/test/groovy/datadog/telemetry/TelemetryRouterSpecification.groovy

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ class TelemetryRouterSpecification extends Specification {
130130
500 | _
131131
}
132132

133-
def 'use Intake client from the start if configured to do so'() {
133+
def 'when configured to prefer Intake: use Intake client from the start'() {
134134
Request request
135135

136136
setup:
@@ -147,6 +147,56 @@ class TelemetryRouterSpecification extends Specification {
147147
request.header(apiKeyHeader) == apiKey
148148
}
149149

150+
def 'when configured to prefer Intake: do not switch to Agent if Intake request succeeds, even if Agent supports telemetry proxy'() {
151+
Request request
152+
153+
setup:
154+
def telemetryRouter = new TelemetryRouter(ddAgentFeaturesDiscovery, agentTelemetryClient, intakeTelemetryClient, true)
155+
156+
when:
157+
telemetryRouter.sendRequest(dummyRequest())
158+
159+
then:
160+
1 * ddAgentFeaturesDiscovery.discoverIfOutdated()
161+
1 * ddAgentFeaturesDiscovery.supportsTelemetryProxy() >> true
162+
1 * okHttpClient.newCall(_) >> { args -> request = args[0]; mockResponse(200) }
163+
request.url() == intakeUrl
164+
request.header(apiKeyHeader) == apiKey
165+
166+
when:
167+
telemetryRouter.sendRequest(dummyRequest())
168+
169+
then:
170+
1 * okHttpClient.newCall(_) >> { args -> request = args[0]; mockResponse(200) }
171+
request.url() == intakeUrl
172+
request.header(apiKeyHeader) == apiKey
173+
}
174+
175+
def 'when configured to prefer Intake: switch to Agent if Intake request fails'() {
176+
Request request
177+
178+
setup:
179+
def telemetryRouter = new TelemetryRouter(ddAgentFeaturesDiscovery, agentTelemetryClient, intakeTelemetryClient, true)
180+
181+
when:
182+
telemetryRouter.sendRequest(dummyRequest())
183+
184+
then:
185+
1 * ddAgentFeaturesDiscovery.discoverIfOutdated()
186+
1 * ddAgentFeaturesDiscovery.supportsTelemetryProxy() >> true
187+
1 * okHttpClient.newCall(_) >> { args -> request = args[0]; mockResponse(403) }
188+
request.url() == intakeUrl
189+
request.header(apiKeyHeader) == apiKey
190+
191+
when:
192+
telemetryRouter.sendRequest(dummyRequest())
193+
194+
then:
195+
1 * okHttpClient.newCall(_) >> { args -> request = args[0]; mockResponse(200) }
196+
request.url() == agentTelemetryUrl
197+
request.header(apiKeyHeader) == null
198+
}
199+
150200
def 'do not switch to Intake when Agent stops supporting telemetry proxy but accepts telemetry requests'() {
151201
Request request
152202

0 commit comments

Comments
 (0)