Add getters for delegates (#2273)

Fixes gh-2261
This commit is contained in:
maciejtoporowicz
2023-03-14 17:16:29 +01:00
committed by GitHub
parent 068099a4db
commit 25606b2896
4 changed files with 48 additions and 0 deletions

View File

@@ -75,4 +75,11 @@ public class TraceCallable<V> implements Callable<V> {
}
}
/**
* @return delegate {@link Callable}
*/
public Callable<V> getDelegate() {
return delegate;
}
}

View File

@@ -72,4 +72,11 @@ public class TraceRunnable implements Runnable {
}
}
/**
* @return delegate {@link Runnable}
*/
public Runnable getDelegate() {
return delegate;
}
}

View File

@@ -16,9 +16,17 @@
package org.springframework.cloud.sleuth.brave.instrument.async;
import java.util.concurrent.Callable;
import org.junit.jupiter.api.Test;
import org.springframework.cloud.sleuth.brave.BraveTestTracing;
import org.springframework.cloud.sleuth.instrument.async.TraceCallable;
import org.springframework.cloud.sleuth.internal.DefaultSpanNamer;
import org.springframework.cloud.sleuth.test.TestTracingAware;
import static org.assertj.core.api.Assertions.assertThat;
public class TraceCallableTests extends org.springframework.cloud.sleuth.instrument.async.TraceCallableTests {
BraveTestTracing testTracing;
@@ -31,4 +39,14 @@ public class TraceCallableTests extends org.springframework.cloud.sleuth.instrum
return this.testTracing;
}
@Test
public void should_provide_delegate() {
Callable<String> delegate = () -> "test";
TraceCallable<String> traceCallable = new TraceCallable<>(tracerTest().tracing().tracer(),
new DefaultSpanNamer(), delegate);
assertThat(traceCallable.getDelegate()).isEqualTo(delegate);
}
}

View File

@@ -17,11 +17,16 @@
package org.springframework.cloud.sleuth.brave.instrument.async;
import org.assertj.core.api.BDDAssertions;
import org.junit.jupiter.api.Test;
import org.springframework.cloud.sleuth.Span;
import org.springframework.cloud.sleuth.brave.BraveTestTracing;
import org.springframework.cloud.sleuth.instrument.async.TraceRunnable;
import org.springframework.cloud.sleuth.internal.DefaultSpanNamer;
import org.springframework.cloud.sleuth.test.TestTracingAware;
import static org.assertj.core.api.Assertions.assertThat;
public class TraceRunnableTests extends org.springframework.cloud.sleuth.instrument.async.TraceRunnableTests {
BraveTestTracing testTracing;
@@ -39,4 +44,15 @@ public class TraceRunnableTests extends org.springframework.cloud.sleuth.instrum
BDDAssertions.then(secondSpan.context().parentId()).as("saved span as remnant of first span").isNull();
}
@Test
public void should_provide_delegate() {
Runnable delegate = () -> {
};
TraceRunnable traceRunnable = new TraceRunnable(tracerTest().tracing().tracer(), new DefaultSpanNamer(),
delegate);
assertThat(traceRunnable.getDelegate()).isEqualTo(delegate);
}
}