Add additional tests and enforce coverage.

This commit is contained in:
Tyler Benson 2019-01-29 15:54:15 -08:00
parent b7ec90a846
commit 8c9a7d24cc
2 changed files with 48 additions and 0 deletions

View File

@ -1,6 +1,12 @@
description = 'dd-trace'
apply from: "${rootDir}/gradle/java.gradle"
minimumBranchCoverage = 0.9
minimumInstructionCoverage = 0.9
excludedClassesConverage += [
'datadog.trace.tracer.Tracer.TracerBuilder',
]
dependencies {
annotationProcessor deps.autoservice
implementation deps.autoservice

View File

@ -2,6 +2,7 @@ package datadog.trace.tracer
import datadog.trace.api.Config
import datadog.trace.tracer.sampling.AllSampler
import datadog.trace.tracer.sampling.Sampler
import datadog.trace.tracer.writer.AgentWriter
import datadog.trace.tracer.writer.SampleRateByService
import datadog.trace.tracer.writer.Writer
@ -46,6 +47,19 @@ class TracerTest extends Specification {
"some-service" | "some-service"
}
def "close closes writer"() {
setup:
def writer = Mock(Writer)
def tracer = Tracer.builder().writer(writer).build()
when:
tracer.close()
then: "closed writer"
1 * writer.close()
0 * _ // don't allow any other interaction
}
def "test create current timestamp"() {
setup:
def tracer = Tracer.builder().config(config).build()
@ -86,6 +100,34 @@ class TracerTest extends Specification {
testWriter.traceCount.get() == 1
}
def "sampler called on span completion"() {
setup:
def sampler = Mock(Sampler)
def tracer = Tracer.builder().sampler(sampler).build()
when:
tracer.buildTrace(null).finish()
then: "closed writer"
1 * sampler.sample(_ as Trace)
0 * _ // don't allow any other interaction
}
def "interceptor called on span events"() {
setup:
def interceptor = Mock(Interceptor)
def tracer = Tracer.builder().interceptors([interceptor]).build()
when:
tracer.buildTrace(null).finish()
then: "closed writer"
1 * interceptor.afterSpanStarted(_ as Span)
1 * interceptor.beforeSpanFinished(_ as Span)
1 * interceptor.beforeTraceWritten(_ as Trace)
0 * _ // don't allow any other interaction
}
def "test inject"() {
//TODO implement this test properly
setup: