Skip to content

Commit e7a2b6b

Browse files
committed
convert to java
1 parent b87e251 commit e7a2b6b

File tree

2 files changed

+69
-32
lines changed

2 files changed

+69
-32
lines changed

javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/tooling/config/MethodsConfigurationParserTest.groovy

Lines changed: 0 additions & 32 deletions
This file was deleted.
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.javaagent.tooling.config;
7+
8+
import static java.util.Collections.emptyMap;
9+
import static org.assertj.core.api.Assertions.assertThat;
10+
11+
import org.junit.jupiter.params.ParameterizedTest;
12+
import org.junit.jupiter.params.provider.Arguments;
13+
import org.junit.jupiter.params.provider.MethodSource;
14+
15+
import java.util.Collections;
16+
import java.util.HashMap;
17+
import java.util.HashSet;
18+
import java.util.Map;
19+
import java.util.Set;
20+
import java.util.stream.Stream;
21+
22+
class MethodsConfigurationParserTest {
23+
24+
@ParameterizedTest
25+
@MethodSource("configurationTestData")
26+
void testConfiguration(String value, Map<String, Set<String>> expected) {
27+
Map<String, Set<String>> result = MethodsConfigurationParser.parse(value);
28+
29+
assertThat(result).isEqualTo(expected);
30+
}
31+
32+
static Stream<Arguments> configurationTestData() {
33+
return Stream.of(
34+
Arguments.of(null, emptyMap()),
35+
Arguments.of(" ", emptyMap()),
36+
Arguments.of("some.package.ClassName",
37+
Collections.<String, Set<String>>singletonMap("some.package.ClassName",
38+
Collections.emptySet())),
39+
Arguments.of("some.package.ClassName[ , ]", emptyMap()),
40+
Arguments.of("some.package.ClassName[ , method]", emptyMap()),
41+
Arguments.of("some.package.Class$Name[ method , ]",
42+
Collections.singletonMap("some.package.Class$Name", createSet("method"))),
43+
Arguments.of("ClassName[ method1,]",
44+
Collections.singletonMap("ClassName", createSet("method1"))),
45+
Arguments.of("ClassName[method1 , method2]",
46+
Collections.singletonMap("ClassName", createSet("method1", "method2"))),
47+
Arguments.of("Class$1[method1 ] ; Class$2[ method2];",
48+
createTwoEntryMap("Class$1", createSet("method1"), "Class$2", createSet("method2"))),
49+
Arguments.of("Duplicate[method1] ; Duplicate[method2] ;Duplicate[method3];",
50+
Collections.singletonMap("Duplicate", createSet("method3")))
51+
);
52+
}
53+
54+
private static Map<String, Set<String>> createTwoEntryMap(String key1, Set<String> value1,
55+
String key2, Set<String> value2) {
56+
Map<String, Set<String>> map = new HashMap<>();
57+
map.put(key1, value1);
58+
map.put(key2, value2);
59+
return map;
60+
}
61+
62+
private static Set<String> createSet(String... elements) {
63+
Set<String> set = new HashSet<>();
64+
for (String element : elements) {
65+
set.add(element);
66+
}
67+
return set;
68+
}
69+
}

0 commit comments

Comments
 (0)