55
66package io .opentelemetry .javaagent .instrumentation .apachecamel .decorators ;
77
8- import static org .junit . jupiter .api .Assertions .assertEquals ;
8+ import static org .assertj . core .api .Assertions .assertThat ;
99import static org .mockito .Mockito .mock ;
1010import static org .mockito .Mockito .when ;
1111
2020
2121class SanitizationTest {
2222
23+ static class CqlArgs implements ArgumentsProvider {
24+ @ Override
25+ public Stream <? extends Arguments > provideArguments (ExtensionContext context ) {
26+ return Stream .of (
27+ Arguments .of ("FROM TABLE WHERE FIELD>=-1234" , "FROM TABLE WHERE FIELD>=?" ),
28+ Arguments .of (
29+ "SELECT Name, Phone.Number FROM Contact WHERE Address.State = 'NY'" ,
30+ "SELECT Name, Phone.Number FROM Contact WHERE Address.State = ?" ),
31+ Arguments .of ("FROM col WHERE @Tag='Something'" , "FROM col WHERE @Tag=?" ));
32+ }
33+ }
34+
2335 @ ParameterizedTest
2436 @ ArgumentsSource (CqlArgs .class )
2537 void sanitizeCql (String original , String expected ) {
@@ -31,7 +43,22 @@ void sanitizeCql(String original, String expected) {
3143 when (exchange .getIn ()).thenReturn (message );
3244
3345 String actualSanitized = decorator .getStatement (exchange , null );
34- assertEquals (expected , actualSanitized );
46+ assertThat (actualSanitized ).isEqualTo (expected );
47+ }
48+
49+ static class JdbcArgs implements ArgumentsProvider {
50+ @ Override
51+ public Stream <? extends Arguments > provideArguments (ExtensionContext context ) {
52+ return Stream .of (
53+ Arguments .of ("SELECT 3" , "SELECT ?" ),
54+ Arguments .of (
55+ "SELECT * FROM TABLE WHERE FIELD = 1234" , "SELECT * FROM TABLE WHERE FIELD = ?" ),
56+ Arguments .of (
57+ "SELECT * FROM TABLE WHERE FIELD<-1234" , "SELECT * FROM TABLE WHERE FIELD<?" ),
58+ Arguments .of (
59+ "SELECT col1 AS col2 FROM users WHERE field=1234" ,
60+ "SELECT col1 AS col2 FROM users WHERE field=?" ));
61+ }
3562 }
3663
3764 @ ParameterizedTest
@@ -45,22 +72,7 @@ void sanitizeJdbc(String original, String expected) {
4572 when (exchange .getIn ()).thenReturn (message );
4673
4774 String actualSanitized = decorator .getStatement (exchange , null );
48- assertEquals (expected , actualSanitized );
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 (expected , actualSanitized );
75+ assertThat (actualSanitized ).isEqualTo (expected );
6476 }
6577
6678 static class SqlArgs implements ArgumentsProvider {
@@ -75,30 +87,18 @@ public Stream<? extends Arguments> provideArguments(ExtensionContext context) {
7587 }
7688 }
7789
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- }
90+ @ ParameterizedTest
91+ @ ArgumentsSource (SqlArgs .class )
92+ void sanitizeSql (String original , String expected ) {
8993
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- }
94+ DbSpanDecorator decorator = new DbSpanDecorator ("sql" , "" );
95+
96+ Exchange exchange = mock (Exchange .class );
97+ Message message = mock (Message .class );
98+ when (message .getHeader ("CamelSqlQuery" )).thenReturn (original );
99+ when (exchange .getIn ()).thenReturn (message );
100+
101+ String actualSanitized = decorator .getStatement (exchange , null );
102+ assertThat (actualSanitized ).isEqualTo (expected );
103103 }
104104}
0 commit comments