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 @@ -70,10 +70,10 @@ abstract class RemoteJDBCInstrumentationTest extends VersionedNamingTestBase {

@Shared
private Map<DbType, String> jdbcUrls = [
(POSTGRESQL): "jdbc:postgresql://localhost:5432/" + dbName.get(POSTGRESQL),
(MYSQL) : "jdbc:mysql://localhost:3306/" + dbName.get(MYSQL),
(SQLSERVER) : "jdbc:sqlserver://localhost:1433/" + dbName.get(SQLSERVER),
(ORACLE) : "jdbc:oracle:thin:@//localhost:1521/" + dbName.get(ORACLE),
(POSTGRESQL): "jdbc:postgresql://localhost:5432/${dbName.get(POSTGRESQL)}",
(MYSQL) : "jdbc:mysql://localhost:3306/${dbName.get(MYSQL)}",
(SQLSERVER) : "jdbc:sqlserver://localhost:1433/${dbName.get(SQLSERVER)}",
(ORACLE) : "jdbc:oracle:thin:@//localhost:1521/${dbName.get(ORACLE)}"
]

@Shared
Expand Down Expand Up @@ -120,14 +120,14 @@ abstract class RemoteJDBCInstrumentationTest extends VersionedNamingTestBase {
&& architecture().isArm64())
}

def peerConnectionProps(DbType db){
def peerConnectionProps(DbType db) {
def props = new Properties()
props.setProperty("user", jdbcUserNames.get(db))
props.setProperty("password", jdbcPasswords.get(db))
return props
}

protected String getDbType(DbType dbType){
protected String getDbType(DbType dbType) {
return dbType.toString()
}

Expand Down Expand Up @@ -457,7 +457,7 @@ abstract class RemoteJDBCInstrumentationTest extends VersionedNamingTestBase {
resultSet.next()
resultSet.getInt(1) == 3
def addDbmTag = dbmTraceInjected()
if (driver == SQLSERVER && addDbmTag){
if (driver == SQLSERVER && addDbmTag) {
assertTraces(1) {
trace(3) {
basicSpan(it, "parent")
Expand Down Expand Up @@ -540,7 +540,7 @@ abstract class RemoteJDBCInstrumentationTest extends VersionedNamingTestBase {
if (usingHikari) {
"$Tags.DB_POOL_NAME" String
}
if (this.dbmTracePreparedStatements(driver)){
if (this.dbmTracePreparedStatements(driver)) {
"$InstrumentationTags.DBM_TRACE_INJECTED" true
if (driver == POSTGRESQL) {
"$InstrumentationTags.INSTRUMENTATION_TIME_MS" Long
Expand Down Expand Up @@ -594,7 +594,7 @@ abstract class RemoteJDBCInstrumentationTest extends VersionedNamingTestBase {
resultSet.getInt(1) == 3

def addDbmTag = dbmTraceInjected()
if (driver == SQLSERVER && addDbmTag){
if (driver == SQLSERVER && addDbmTag) {
assertTraces(1) {
trace(3) {
basicSpan(it, "parent")
Expand Down Expand Up @@ -679,7 +679,7 @@ abstract class RemoteJDBCInstrumentationTest extends VersionedNamingTestBase {
if (pool == "hikari") {
"$Tags.DB_POOL_NAME" String
}
if (this.dbmTracePreparedStatements(driver)){
if (this.dbmTracePreparedStatements(driver)) {
"$InstrumentationTags.DBM_TRACE_INJECTED" true
if (driver == POSTGRESQL) {
"$InstrumentationTags.INSTRUMENTATION_TIME_MS" Long
Expand Down Expand Up @@ -732,7 +732,7 @@ abstract class RemoteJDBCInstrumentationTest extends VersionedNamingTestBase {
resultSet.next()
resultSet.getInt(1) == 3
def addDbmTag = dbmTraceInjected()
if (driver == SQLSERVER && addDbmTag){
if (driver == SQLSERVER && addDbmTag) {
assertTraces(1) {
trace(3) {
basicSpan(it, "parent")
Expand Down Expand Up @@ -812,7 +812,7 @@ abstract class RemoteJDBCInstrumentationTest extends VersionedNamingTestBase {
if (pool == "hikari") {
"$Tags.DB_POOL_NAME" String
}
if (this.dbmTracePreparedStatements(driver)){
if (this.dbmTracePreparedStatements(driver)) {
"$InstrumentationTags.DBM_TRACE_INJECTED" true
if (driver == POSTGRESQL) {
"$InstrumentationTags.INSTRUMENTATION_TIME_MS" Long
Expand Down Expand Up @@ -1066,7 +1066,7 @@ abstract class RemoteJDBCInstrumentationTest extends VersionedNamingTestBase {

injectSysConfig("dd.dbm.propagation.mode", "full")
CallableStatement proc = connection.prepareCall(query)
proc.setInt(1,1)
proc.setInt(1, 1)
proc.registerOutParameter(1, Types.INTEGER)
when:
runUnderTrace("parent") {
Expand Down Expand Up @@ -1219,7 +1219,7 @@ class RemoteDBMTraceInjectedForkedTest extends RemoteJDBCInstrumentationTest {
}

@Override
protected boolean dbmTracePreparedStatements(DbType dbType){
protected boolean dbmTracePreparedStatements(DbType dbType) {
return dbType == ORACLE
}

Expand Down Expand Up @@ -1318,7 +1318,7 @@ class RemoteDBMTraceInjectedForkedTestTracePreparedStatements extends RemoteJDBC
}

@Override
protected boolean dbmTracePreparedStatements(DbType dbType){
protected boolean dbmTracePreparedStatements(DbType dbType) {
return dbType == POSTGRESQL || dbType == ORACLE
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package test;

import org.testcontainers.utility.DockerImageName;
import org.testcontainers.utility.ImageNameSubstitutor;

/**
* A custom {@link ImageNameSubstitutor} implementation that rewrites Docker image names to use
* Datadog's internal registry {@code registry.ddbuild.io} when running in a CI environment.
*
* <p>Images from DockerHub already mirrored by {@code registry.ddbuild.io} via environment variable
* {@code TESTCONTAINERS_HUB_IMAGE_NAME_PREFIX}
*
* <p>For images from other repositories custom image name substitutor should be implemented.
* Internal registry is faster and not affected by rate limiting.
*/
public class DataDogRegistryImageNameSubstitutor extends ImageNameSubstitutor {
@Override
public DockerImageName apply(DockerImageName original) {
String name = original.asCanonicalNameString();

if (System.getenv("CI") != null) {
// For now, we need to mirror Microsoft SQL Server images only.
name =
name.replace(
"mcr.microsoft.com/mssql/server:", "registry.ddbuild.io/images/mirror/sqlserver:");
}

return DockerImageName.parse(name);
}

@Override
protected String getDescription() {
return "Image name substitutor to load images from registry.ddbuild.io";
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
image.substitutor=test.DataDogRegistryImageNameSubstitutor
Loading