Skip to content

Commit

Permalink
Separate tests
Browse files Browse the repository at this point in the history
  • Loading branch information
sarahchen6 committed Dec 17, 2024
1 parent 520e952 commit d7277c9
Show file tree
Hide file tree
Showing 13 changed files with 69 additions and 31 deletions.
2 changes: 1 addition & 1 deletion dd-java-agent/agent-jmxfetch/integrations-core
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import datadog.trace.agent.test.base.HttpClientTest
import datadog.trace.agent.test.base.HttpClientTest2
import datadog.trace.agent.test.naming.TestingGenericHttpNamingConventions
import datadog.trace.instrumentation.apachehttpasyncclient.ApacheHttpAsyncClientDecorator
import org.apache.http.HttpResponse
Expand All @@ -14,7 +14,7 @@ import java.util.concurrent.CompletableFuture
import java.util.concurrent.TimeUnit

@Timeout(5)
class ApacheHttpAsyncClientCallbackTest extends HttpClientTest implements TestingGenericHttpNamingConventions.ClientV0 {
class ApacheHttpAsyncClientCallbackTest extends HttpClientTest2 implements TestingGenericHttpNamingConventions.ClientV0 {

@Shared
RequestConfig requestConfig = RequestConfig.custom()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import datadog.trace.agent.test.base.HttpClientTest
import datadog.trace.agent.test.base.HttpClientTest2
import datadog.trace.agent.test.naming.TestingGenericHttpNamingConventions
import datadog.trace.instrumentation.apachehttpasyncclient.ApacheHttpAsyncClientDecorator
import org.apache.http.client.config.RequestConfig
Expand All @@ -11,7 +11,7 @@ import spock.lang.Timeout
import java.util.concurrent.Future

@Timeout(5)
class ApacheHttpAsyncClientNullCallbackTest extends HttpClientTest implements TestingGenericHttpNamingConventions.ClientV0{
class ApacheHttpAsyncClientNullCallbackTest extends HttpClientTest2 implements TestingGenericHttpNamingConventions.ClientV0{

@Shared
RequestConfig requestConfig = RequestConfig.custom()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import datadog.trace.agent.test.asserts.TraceAssert
import datadog.trace.agent.test.base.HttpClientTest
import datadog.trace.agent.test.base.HttpClientTest2
import datadog.trace.agent.test.naming.TestingGenericHttpNamingConventions
import datadog.trace.instrumentation.apachehttpasyncclient.ApacheHttpAsyncClientDecorator
import org.apache.http.HttpHost
Expand All @@ -16,7 +16,7 @@ import spock.lang.Timeout
import java.util.concurrent.CountDownLatch

@Timeout(5)
abstract class ApacheHttpAsyncClientTest extends HttpClientTest {
abstract class ApacheHttpAsyncClientTest extends HttpClientTest2 {

@Shared
RequestConfig requestConfig = RequestConfig.custom()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import datadog.trace.agent.test.base.HttpClientTest
import datadog.trace.agent.test.base.HttpClientTest2
import datadog.trace.agent.test.naming.TestingGenericHttpNamingConventions
import datadog.trace.instrumentation.apachehttpclient.ApacheHttpClientDecorator
import org.apache.http.HttpResponse
Expand All @@ -11,7 +11,7 @@ import spock.lang.Shared
import spock.lang.Timeout

@Timeout(5)
class ApacheHttpClientResponseHandlerTest extends HttpClientTest implements TestingGenericHttpNamingConventions.ClientV0 {
class ApacheHttpClientResponseHandlerTest extends HttpClientTest2 implements TestingGenericHttpNamingConventions.ClientV0 {

@Shared
def client = new DefaultHttpClient()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import datadog.trace.agent.test.base.HttpClientTest
import datadog.trace.agent.test.base.HttpClientTest2
import datadog.trace.agent.test.naming.TestingGenericHttpNamingConventions
import datadog.trace.instrumentation.apachehttpclient.ApacheHttpClientDecorator
import org.apache.http.HttpHost
Expand All @@ -13,7 +13,7 @@ import org.apache.http.protocol.BasicHttpContext
import spock.lang.Shared
import spock.lang.Timeout

abstract class ApacheHttpClientTest<T extends HttpRequest> extends HttpClientTest implements TestingGenericHttpNamingConventions.ClientV0 {
abstract class ApacheHttpClientTest<T extends HttpRequest> extends HttpClientTest2 implements TestingGenericHttpNamingConventions.ClientV0 {
@Shared
def client = new DefaultHttpClient()

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import datadog.trace.agent.test.base.HttpClientTest
import datadog.trace.agent.test.base.HttpClientTest2
import datadog.trace.agent.test.naming.TestingGenericHttpNamingConventions
import datadog.trace.instrumentation.apachehttpclient5.ApacheHttpClientDecorator
import org.apache.hc.client5.http.async.methods.SimpleHttpRequests
Expand All @@ -12,7 +12,7 @@ import java.util.concurrent.TimeUnit

import static org.apache.hc.core5.reactor.IOReactorConfig.custom

abstract class ApacheHttpAsyncClient5Test<T extends HttpRequest> extends HttpClientTest {
abstract class ApacheHttpAsyncClient5Test<T extends HttpRequest> extends HttpClientTest2 {

@Shared
def ioReactorConfig = custom()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import datadog.trace.agent.test.base.HttpClientTest
import datadog.trace.agent.test.base.HttpClientTest2
import datadog.trace.agent.test.naming.TestingGenericHttpNamingConventions
import datadog.trace.instrumentation.apachehttpclient5.ApacheHttpClientDecorator
import org.apache.hc.client5.http.config.RequestConfig
Expand All @@ -15,7 +15,7 @@ import spock.lang.Timeout
import java.util.concurrent.TimeUnit

@Timeout(5)
class ApacheHttpClientResponseHandlerTest extends HttpClientTest implements TestingGenericHttpNamingConventions.ClientV0 {
class ApacheHttpClientResponseHandlerTest extends HttpClientTest2 implements TestingGenericHttpNamingConventions.ClientV0 {

@Shared
def client = HttpClients.custom()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import datadog.trace.agent.test.base.HttpClientTest
import datadog.trace.agent.test.base.HttpClientTest2
import datadog.trace.agent.test.naming.TestingGenericHttpNamingConventions
import datadog.trace.instrumentation.apachehttpclient5.ApacheHttpClientDecorator
import org.apache.hc.client5.http.config.RequestConfig
Expand All @@ -16,7 +16,7 @@ import spock.lang.Timeout

import java.util.concurrent.TimeUnit

abstract class ApacheHttpClientTest<T extends HttpRequest> extends HttpClientTest implements TestingGenericHttpNamingConventions.ClientV0 {
abstract class ApacheHttpClientTest<T extends HttpRequest> extends HttpClientTest2 implements TestingGenericHttpNamingConventions.ClientV0 {

@Shared
def client = HttpClients.custom()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@ import com.ning.http.client.Request
import com.ning.http.client.RequestBuilder
import com.ning.http.client.Response
import com.ning.http.client.uri.Uri
import datadog.trace.agent.test.base.HttpClientTest
import datadog.trace.agent.test.base.HttpClientTest2
import datadog.trace.agent.test.naming.TestingGenericHttpNamingConventions
import datadog.trace.instrumentation.grizzly.client.ClientDecorator
import spock.lang.AutoCleanup
import spock.lang.Shared

import java.util.concurrent.Executors

abstract class GrizzlyAsyncHttpClientTest extends HttpClientTest {
abstract class GrizzlyAsyncHttpClientTest extends HttpClientTest2 {

@AutoCleanup
@Shared
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import datadog.trace.agent.test.base.HttpClientTest
import datadog.trace.agent.test.base.HttpClientTest2
import datadog.trace.agent.test.naming.TestingGenericHttpNamingConventions
import org.eclipse.jetty.client.HttpClient
import org.eclipse.jetty.client.HttpProxy
Expand All @@ -13,7 +13,7 @@ import spock.lang.Subject

import java.util.concurrent.ExecutionException

abstract class JettyClientTest extends HttpClientTest {
abstract class JettyClientTest extends HttpClientTest2 {

@Shared
@Subject
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -765,9 +765,7 @@ abstract class HttpClientTest extends VersionedNamingTestBase {
def "test request header #header tag mapping"() {
when:
def url = server.address.resolve("/success")
System.out.println("testing header, value, value2: " + header + ", " + value + ", " + value2)
String[] headerVals = [header + ":" + value , header + ":" + value2]
def status = (value2 == null) ? doRequest(method, url, [[header, value]]) : doRequest(method, url, [[header, value], [header, value2]])
def status = doRequest(method, url, [[header, value]])
if (isDataStreamsEnabled()) {
TEST_DATA_STREAMS_WRITER.waitForGroups(1)
}
Expand All @@ -790,13 +788,11 @@ abstract class HttpClientTest extends VersionedNamingTestBase {
}

where:
method | header | value | value2 | tags
'GET' | 'X-Datadog-Test-Both-Header' | 'foo' | null | [ 'both_header_tag': 'foo' ]
'GET' | 'X-Datadog-Test-Request-Header' | 'bar' | null | [ 'request_header_tag': 'bar' ]
'GET' | 'X-Datadog-Test-Both-Header' | 'bar,baz' | null | [ 'both_header_tag': 'bar,baz' ]
'GET' | 'X-Datadog-Test-Request-Header' | 'foo,bar' | null | [ 'request_header_tag': 'foo,bar' ]
'GET' | 'X-Datadog-Test-Both-Header' | 'bar,baz' | 'foo' | [ 'both_header_tag': 'bar,baz,foo' ]
'GET' | 'X-Datadog-Test-Request-Header' | 'foo,bar' | 'baz' | [ 'request_header_tag': 'foo,bar,baz' ]
method | header | value | tags
'GET' | 'X-Datadog-Test-Both-Header' | 'foo' | [ 'both_header_tag': 'foo' ]
'GET' | 'X-Datadog-Test-Request-Header' | 'bar' | [ 'request_header_tag': 'bar' ]
'GET' | 'X-Datadog-Test-Both-Header' | 'bar,baz' | [ 'both_header_tag': 'bar,baz' ]
'GET' | 'X-Datadog-Test-Request-Header' | 'foo,bar' | [ 'request_header_tag': 'foo,bar' ]
}

def "test response header #header tag mapping"() {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package datadog.trace.agent.test.base

import datadog.trace.core.datastreams.StatsGroup

// This class tests multiline multivalue headers for those classes that support it.
abstract class HttpClientTest2 extends HttpClientTest{

def "test request header #header tag mapping"() {
when:
def url = server.address.resolve("/success")
def status = (value2 == null) ? doRequest(method, url, [[header, value]]) : doRequest(method, url, [[header, value], [header, value2]])
if (isDataStreamsEnabled()) {
TEST_DATA_STREAMS_WRITER.waitForGroups(1)
}

then:
status == 200
assertTraces(2) {
trace(size(1)) {
clientSpan(it, null, method, false, false, url, status, false, null, false, tags)
}
server.distributedRequestTrace(it, trace(0).last(), tags)
}
and:
if (isDataStreamsEnabled()) {
StatsGroup first = TEST_DATA_STREAMS_WRITER.groups.find { it.parentHash == 0 }
verifyAll(first) {
edgeTags.containsAll(DSM_EDGE_TAGS)
edgeTags.size() == DSM_EDGE_TAGS.size()
}
}

where:
method | header | value | value2 | tags
'GET' | 'X-Datadog-Test-Both-Header' | 'foo' | null | [ 'both_header_tag': 'foo' ]
'GET' | 'X-Datadog-Test-Request-Header' | 'bar' | null | [ 'request_header_tag': 'bar' ]
'GET' | 'X-Datadog-Test-Both-Header' | 'bar,baz' | null | [ 'both_header_tag': 'bar,baz' ]
'GET' | 'X-Datadog-Test-Request-Header' | 'foo,bar' | null | [ 'request_header_tag': 'foo,bar' ]
'GET' | 'X-Datadog-Test-Both-Header' | 'bar,baz' | 'foo' | [ 'both_header_tag': 'bar,baz,foo' ]
'GET' | 'X-Datadog-Test-Request-Header' | 'foo,bar' | 'baz' | [ 'request_header_tag': 'foo,bar,baz' ]
}
}

0 comments on commit d7277c9

Please sign in to comment.