Skip to content

Commit 72f53a7

Browse files
committed
pr review
1 parent 48268d7 commit 72f53a7

File tree

1 file changed

+19
-58
lines changed

1 file changed

+19
-58
lines changed

muzzle/src/test/java/io/opentelemetry/javaagent/tooling/muzzle/ReferenceMatcherTest.java

Lines changed: 19 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
import static io.opentelemetry.javaagent.tooling.muzzle.references.Flag.MinimumVisibilityFlag.PROTECTED_OR_HIGHER;
1414
import static io.opentelemetry.javaagent.tooling.muzzle.references.Flag.OwnershipFlag.NON_STATIC;
1515
import static io.opentelemetry.javaagent.tooling.muzzle.references.Flag.OwnershipFlag.STATIC;
16+
import static java.util.Collections.emptySet;
17+
import static java.util.Collections.singleton;
1618
import static org.assertj.core.api.Assertions.assertThat;
1719

1820
import external.LibraryBaseClass;
@@ -26,7 +28,6 @@
2628
import io.opentelemetry.test.TestInterface;
2729
import java.net.URL;
2830
import java.net.URLClassLoader;
29-
import java.util.ArrayList;
3031
import java.util.Arrays;
3132
import java.util.Collections;
3233
import java.util.HashMap;
@@ -157,25 +158,24 @@ void matchingRef(Class<?> referenceClass, Flag referenceFlag, Class<? extends Mi
157158

158159
private static Stream<Arguments> methodMatchProvider() {
159160
return Stream.of(
160-
Arguments.of("method", "(Ljava/lang/String;)Ljava/lang/String;", "", Nested.B.class, null),
161-
Arguments.of("hashCode", "()I", "", Nested.B.class, null),
162-
Arguments.of("someMethod", "()V", "", Nested.SomeInterface.class, null),
163-
Arguments.of("privateStuff", "()V", "PRIVATE_OR_HIGHER", Nested.B.class, null),
164-
Arguments.of("privateStuff", "()V", "PROTECTED_OR_HIGHER", Nested.B2.class, Mismatch.MissingFlag.class),
165-
Arguments.of("staticMethod", "()V", "NON_STATIC", Nested.B.class, Mismatch.MissingFlag.class),
166-
Arguments.of("missingMethod", "()V", "", Nested.B.class, Mismatch.MissingMethod.class));
161+
Arguments.of("method", "(Ljava/lang/String;)Ljava/lang/String;", emptySet(), Nested.B.class, null),
162+
Arguments.of("hashCode", "()I", emptySet(), Nested.B.class, null),
163+
Arguments.of("someMethod", "()V", emptySet(), Nested.SomeInterface.class, null),
164+
Arguments.of("privateStuff", "()V", singleton(PRIVATE_OR_HIGHER), Nested.B.class, null),
165+
Arguments.of("privateStuff", "()V", singleton(PROTECTED_OR_HIGHER), Nested.B2.class, Mismatch.MissingFlag.class),
166+
Arguments.of("staticMethod", "()V", singleton(NON_STATIC), Nested.B.class, Mismatch.MissingFlag.class),
167+
Arguments.of("missingMethod", "()V", emptySet(), Nested.B.class, Mismatch.MissingMethod.class));
167168
}
168169

169170
@ParameterizedTest
170171
@MethodSource("methodMatchProvider")
171172
void methodMatch(
172173
String methodName,
173174
String methodDesc,
174-
String methodFlagsStr,
175+
Set<Flag> methodFlags,
175176
Class<?> classToCheck,
176177
Class<? extends Mismatch> expectedMismatch) {
177178
Type methodType = Type.getMethodType(methodDesc);
178-
List<Flag> methodFlags = parseMethodFlags(methodFlagsStr);
179179

180180
ClassRef reference =
181181
ClassRef.builder(classToCheck.getName())
@@ -200,26 +200,24 @@ void methodMatch(
200200

201201
private static Stream<Arguments> fieldMatchProvider() {
202202
return Stream.of(
203-
Arguments.of("missingField", "Ljava/lang/String;", "", Nested.A.class, Mismatch.MissingField.class),
204-
Arguments.of("privateField", "Ljava/lang/String;", "", Nested.A.class, Mismatch.MissingField.class),
205-
Arguments.of("privateField", "Ljava/lang/Object;", "PRIVATE_OR_HIGHER", Nested.A.class, null),
206-
Arguments.of("privateField", "Ljava/lang/Object;", "PROTECTED_OR_HIGHER", Nested.A2.class, Mismatch.MissingFlag.class),
207-
Arguments.of("protectedField", "Ljava/lang/Object;", "STATIC", Nested.A.class, Mismatch.MissingFlag.class),
208-
Arguments.of("staticB", "Lmuzzle/TestClasses$Nested$B;", "STATIC|PROTECTED_OR_HIGHER", Nested.A.class, null),
209-
Arguments.of("number", "I", "PACKAGE_OR_HIGHER", Nested.Primitives.class, null),
210-
Arguments.of("flag", "Z", "PACKAGE_OR_HIGHER", Nested.Primitives.class, null));
203+
Arguments.of("missingField", "Ljava/lang/String;", emptySet(), Nested.A.class, Mismatch.MissingField.class),
204+
Arguments.of("privateField", "Ljava/lang/String;", emptySet(), Nested.A.class, Mismatch.MissingField.class),
205+
Arguments.of("privateField", "Ljava/lang/Object;", singleton(PRIVATE_OR_HIGHER), Nested.A.class, null),
206+
Arguments.of("privateField", "Ljava/lang/Object;", singleton(PROTECTED_OR_HIGHER), Nested.A2.class, Mismatch.MissingFlag.class),
207+
Arguments.of("protectedField", "Ljava/lang/Object;", singleton(STATIC), Nested.A.class, Mismatch.MissingFlag.class),
208+
Arguments.of("staticB", "Lmuzzle/TestClasses$Nested$B;", new HashSet<>(Arrays.asList(STATIC, PROTECTED_OR_HIGHER)), Nested.A.class, null),
209+
Arguments.of("number", "I", singleton(PACKAGE_OR_HIGHER), Nested.Primitives.class, null),
210+
Arguments.of("flag", "Z", singleton(PACKAGE_OR_HIGHER), Nested.Primitives.class, null));
211211
}
212212

213213
@ParameterizedTest
214214
@MethodSource("fieldMatchProvider")
215215
void fieldMatch(
216216
String fieldName,
217217
String fieldType,
218-
String fieldFlagsStr,
218+
Set<Flag> fieldFlags,
219219
Class<?> classToCheck,
220220
Class<? extends Mismatch> expectedMismatch) {
221-
List<Flag> fieldFlags = parseFieldFlags(fieldFlagsStr);
222-
223221
ClassRef reference =
224222
ClassRef.builder(classToCheck.getName())
225223
.addField(
@@ -474,41 +472,4 @@ private static Set<Class<? extends Mismatch>> getMismatchClassSet(List<Mismatch>
474472
}
475473
return mismatchClasses;
476474
}
477-
478-
private static List<Flag> parseMethodFlags(String flagsStr) {
479-
if (flagsStr.isEmpty()) {
480-
return Collections.emptyList();
481-
}
482-
List<Flag> flags = new ArrayList<>();
483-
if (flagsStr.contains("PRIVATE_OR_HIGHER")) {
484-
flags.add(PRIVATE_OR_HIGHER);
485-
}
486-
if (flagsStr.contains("PROTECTED_OR_HIGHER")) {
487-
flags.add(PROTECTED_OR_HIGHER);
488-
}
489-
if (flagsStr.contains("NON_STATIC")) {
490-
flags.add(NON_STATIC);
491-
}
492-
return flags;
493-
}
494-
495-
private static List<Flag> parseFieldFlags(String flagsStr) {
496-
if (flagsStr.isEmpty()) {
497-
return Collections.emptyList();
498-
}
499-
List<Flag> flags = new ArrayList<>();
500-
if (flagsStr.contains("PRIVATE_OR_HIGHER")) {
501-
flags.add(PRIVATE_OR_HIGHER);
502-
}
503-
if (flagsStr.contains("PROTECTED_OR_HIGHER")) {
504-
flags.add(PROTECTED_OR_HIGHER);
505-
}
506-
if (flagsStr.contains("PACKAGE_OR_HIGHER")) {
507-
flags.add(PACKAGE_OR_HIGHER);
508-
}
509-
if (flagsStr.contains("STATIC")) {
510-
flags.add(STATIC);
511-
}
512-
return flags;
513-
}
514475
}

0 commit comments

Comments
 (0)