Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -41,16 +41,6 @@ public static String getResourceName(String className) {
return className.replace('.', '/') + ".class";
}

/** com/foo/Bar to com.foo.Bar */
public static String getClassName(String internalName) {
return internalName.replace('/', '.');
}

/** com.foo.Bar to com/foo/Bar */
public static String getInternalName(Class<?> clazz) {
return clazz.getName().replace('.', '/');
}

/**
* Get method definition for given {@link TypeDefinition} and method name.
*
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/

package io.opentelemetry.javaagent.tooling;

import static org.assertj.core.api.Assertions.assertThat;

import org.junit.jupiter.api.Test;

class UtilsTest {

@Test
void getResourceNameAddsSuffixAndConvertDotsToSlashes() {
String result = Utils.getResourceName("com.example.Something");

assertThat(result).isEqualTo("com/example/Something.class");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/

package io.opentelemetry.javaagent.tooling.muzzle;

import static org.assertj.core.api.Assertions.assertThat;

import java.util.function.Predicate;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;

class HelperClassPredicateTest {

@ParameterizedTest(name = "should collect references for {0}")
@CsvSource({
"javaagent instrumentation class, io.opentelemetry.javaagent.instrumentation.some_instrumentation.Advice",
"library instrumentation class, io.opentelemetry.instrumentation.LibraryClass",
"additional library instrumentation class, com.example.instrumentation.library.ThirdPartyExternalInstrumentation"
})
void shouldCollectReferencesFor(String desc, String className) {
Predicate<String> additionalLibraryPredicate =
name -> name.startsWith("com.example.instrumentation.library");
HelperClassPredicate predicate = new HelperClassPredicate(additionalLibraryPredicate);

assertThat(predicate.isHelperClass(className)).isTrue();
}

@ParameterizedTest(name = "should not collect references for {0}")
@CsvSource({
"Java SDK class, java.util.ArrayList",
"javaagent-tooling class, io.opentelemetry.javaagent.tooling.Constants",
"instrumentation-api class, io.opentelemetry.instrumentation.api.instrumenter.Instrumenter",
"bootstrap class, io.opentelemetry.javaagent.bootstrap.Java8BytecodeBridge"
})
void shouldNotCollectReferencesFor(String desc, String className) {
Predicate<String> alwaysFalsePredicate = name -> false;
HelperClassPredicate predicate = new HelperClassPredicate(alwaysFalsePredicate);

assertThat(predicate.isHelperClass(className)).isFalse();
}
}
Loading