Skip to content

Commit 62ca215

Browse files
authored
Convert camel-2-20 aws tests from groovy to java (open-telemetry#8906)
1 parent 23acd5b commit 62ca215

File tree

25 files changed

+1225
-1032
lines changed

25 files changed

+1225
-1032
lines changed

conventions/src/main/kotlin/otel.java-conventions.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,8 @@ tasks.withType<Test>().configureEach {
286286

287287
val trustStore = project(":testing-common").file("src/misc/testing-keystore.p12")
288288
// Work around payara not working when this is set for some reason.
289-
if (project.name != "jaxrs-2.0-payara-testing") {
289+
// Don't set for camel as we have tests that interact with AWS and need normal trustStore
290+
if (project.name != "jaxrs-2.0-payara-testing" && project.description != "camel-2-20") {
290291
jvmArgumentProviders.add(KeystoreArgumentsProvider(trustStore))
291292
}
292293

instrumentation/camel-2.20/javaagent-unit-tests/src/test/groovy/io/opentelemetry/javaagent/instrumentation/apachecamel/decorators/SanitizationTest.groovy

Lines changed: 0 additions & 83 deletions
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.javaagent.instrumentation.apachecamel.decorators;
7+
8+
import static org.junit.jupiter.api.Assertions.assertEquals;
9+
import static org.mockito.Mockito.mock;
10+
import static org.mockito.Mockito.when;
11+
12+
import java.util.stream.Stream;
13+
import org.apache.camel.Exchange;
14+
import org.apache.camel.Message;
15+
import org.junit.jupiter.api.extension.ExtensionContext;
16+
import org.junit.jupiter.params.ParameterizedTest;
17+
import org.junit.jupiter.params.provider.Arguments;
18+
import org.junit.jupiter.params.provider.ArgumentsProvider;
19+
import org.junit.jupiter.params.provider.ArgumentsSource;
20+
21+
class SanitizationTest {
22+
23+
@ParameterizedTest
24+
@ArgumentsSource(CqlArgs.class)
25+
void sanitizeCql(String original, String expected) {
26+
DbSpanDecorator decorator = new DbSpanDecorator("cql", "");
27+
28+
Exchange exchange = mock(Exchange.class);
29+
Message message = mock(Message.class);
30+
when(message.getHeader("CamelCqlQuery")).thenReturn(original);
31+
when(exchange.getIn()).thenReturn(message);
32+
33+
String actualSanitized = decorator.getStatement(exchange, null);
34+
assertEquals(actualSanitized, expected);
35+
}
36+
37+
@ParameterizedTest
38+
@ArgumentsSource(JdbcArgs.class)
39+
void sanitizeJdbc(String original, String expected) {
40+
DbSpanDecorator decorator = new DbSpanDecorator("jdbc", "");
41+
42+
Exchange exchange = mock(Exchange.class);
43+
Message message = mock(Message.class);
44+
when(message.getBody()).thenReturn(original);
45+
when(exchange.getIn()).thenReturn(message);
46+
47+
String actualSanitized = decorator.getStatement(exchange, null);
48+
assertEquals(actualSanitized, expected);
49+
}
50+
51+
@ParameterizedTest
52+
@ArgumentsSource(SqlArgs.class)
53+
void sanitizeSql(String original, String expected) {
54+
55+
DbSpanDecorator decorator = new DbSpanDecorator("sql", "");
56+
57+
Exchange exchange = mock(Exchange.class);
58+
Message message = mock(Message.class);
59+
when(message.getHeader("CamelSqlQuery")).thenReturn(original);
60+
when(exchange.getIn()).thenReturn(message);
61+
62+
String actualSanitized = decorator.getStatement(exchange, null);
63+
assertEquals(actualSanitized, expected);
64+
}
65+
66+
static class SqlArgs implements ArgumentsProvider {
67+
@Override
68+
public Stream<? extends Arguments> provideArguments(ExtensionContext context) {
69+
return Stream.of(
70+
Arguments.of(
71+
"SELECT * FROM table WHERE col1=1234 AND col2>3",
72+
"SELECT * FROM table WHERE col1=? AND col2>?"),
73+
Arguments.of("UPDATE table SET col=12", "UPDATE table SET col=?"),
74+
Arguments.of("insert into table where col=321", "insert into table where col=?"));
75+
}
76+
}
77+
78+
static class CqlArgs implements ArgumentsProvider {
79+
@Override
80+
public Stream<? extends Arguments> provideArguments(ExtensionContext context) {
81+
return Stream.of(
82+
Arguments.of("FROM TABLE WHERE FIELD>=-1234", "FROM TABLE WHERE FIELD>=?"),
83+
Arguments.of(
84+
"SELECT Name, Phone.Number FROM Contact WHERE Address.State = 'NY'",
85+
"SELECT Name, Phone.Number FROM Contact WHERE Address.State = ?"),
86+
Arguments.of("FROM col WHERE @Tag='Something'", "FROM col WHERE @Tag=?"));
87+
}
88+
}
89+
90+
static class JdbcArgs implements ArgumentsProvider {
91+
@Override
92+
public Stream<? extends Arguments> provideArguments(ExtensionContext context) {
93+
return Stream.of(
94+
Arguments.of("SELECT 3", "SELECT ?"),
95+
Arguments.of(
96+
"SELECT * FROM TABLE WHERE FIELD = 1234", "SELECT * FROM TABLE WHERE FIELD = ?"),
97+
Arguments.of(
98+
"SELECT * FROM TABLE WHERE FIELD<-1234", "SELECT * FROM TABLE WHERE FIELD<?"),
99+
Arguments.of(
100+
"SELECT col1 AS col2 FROM users WHERE field=1234",
101+
"SELECT col1 AS col2 FROM users WHERE field=?"));
102+
}
103+
}
104+
}

instrumentation/camel-2.20/javaagent/build.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ muzzle {
1313

1414
val camelversion = "2.20.1" // first version that the tests pass on
1515

16+
description = "camel-2-20"
17+
1618
dependencies {
1719
library("org.apache.camel:camel-core:$camelversion")
1820
implementation("io.opentelemetry.contrib:opentelemetry-aws-xray-propagator")
@@ -46,7 +48,6 @@ dependencies {
4648
testImplementation("javax.xml.bind:jaxb-api:2.3.1")
4749
testImplementation("org.elasticmq:elasticmq-rest-sqs_2.12:1.0.0")
4850

49-
testImplementation("org.testcontainers:localstack")
5051
testImplementation("org.testcontainers:cassandra")
5152
testImplementation("org.testcontainers:testcontainers")
5253
testImplementation("org.testcontainers:junit-jupiter")

instrumentation/camel-2.20/javaagent/src/test/groovy/io/opentelemetry/javaagent/instrumentation/apachecamel/aws/AwsConnector.groovy

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

0 commit comments

Comments
 (0)