From 3aa9f31b7b56158894c2f1e7747db62659fb8014 Mon Sep 17 00:00:00 2001 From: Marius Constantin Date: Tue, 28 Apr 2020 15:24:08 +0200 Subject: [PATCH] RUMM-407 Use app package name as default service name value --- dd-sdk-android/apiSurface | 1 - .../kotlin/com/datadog/android/Datadog.kt | 2 +- .../com/datadog/android/DatadogConfig.kt | 43 ++--- .../android/core/internal/CoreFeature.kt | 10 +- .../error/internal/CrashReportsFeature.kt | 9 - .../error/internal/DatadogExceptionHandler.kt | 3 +- .../kotlin/com/datadog/android/log/Logger.kt | 2 +- .../android/log/internal/LogsFeature.kt | 3 - .../android/rum/internal/RumFeature.kt | 3 - .../datadog/android/tracing/AndroidTracer.kt | 3 +- .../android/tracing/internal/TracesFeature.kt | 3 - .../android/DatadogConfigBuilderTest.kt | 167 +++++++----------- .../android/core/internal/CoreFeatureTest.kt | 44 +++-- .../error/internal/CrashReportsFeatureTest.kt | 9 +- .../datadog/android/log/LoggerBuilderTest.kt | 4 +- .../android/log/internal/LogsFeatureTest.kt | 13 +- .../android/rum/assertj/RumConfigAssert.kt | 10 -- .../android/rum/internal/RumFeatureTest.kt | 9 +- .../tracing/internal/AndroidTracerTest.kt | 3 +- .../tracing/internal/TracesFeatureTest.kt | 9 +- .../forge/FeatureConfigForgeryFactory.kt | 1 - .../sdk/integration/log/EndToEndLogTest.kt | 6 +- 22 files changed, 145 insertions(+), 212 deletions(-) diff --git a/dd-sdk-android/apiSurface b/dd-sdk-android/apiSurface index 6f31dc0de2..9de0ddc36a 100644 --- a/dd-sdk-android/apiSurface +++ b/dd-sdk-android/apiSurface @@ -27,7 +27,6 @@ class com.datadog.android.DatadogConfig fun useCustomRumEndpoint(String): Builder fun trackGestures(Array = emptyArray()): Builder fun useViewTrackingStrategy(com.datadog.android.rum.tracking.ViewTrackingStrategy): Builder - companion object object com.datadog.android.DatadogEndpoint const val LOGS_US: String const val LOGS_EU: String diff --git a/dd-sdk-android/src/main/kotlin/com/datadog/android/Datadog.kt b/dd-sdk-android/src/main/kotlin/com/datadog/android/Datadog.kt index 2ad88bfe37..f13899ca1e 100644 --- a/dd-sdk-android/src/main/kotlin/com/datadog/android/Datadog.kt +++ b/dd-sdk-android/src/main/kotlin/com/datadog/android/Datadog.kt @@ -87,7 +87,7 @@ object Datadog { val appContext = context.applicationContext // always initialize Core Features first - CoreFeature.initialize(appContext, config.needsClearTextHttp) + CoreFeature.initialize(appContext, config.coreConfig) config.logsConfig?.let { featureConfig -> LogsFeature.initialize( diff --git a/dd-sdk-android/src/main/kotlin/com/datadog/android/DatadogConfig.kt b/dd-sdk-android/src/main/kotlin/com/datadog/android/DatadogConfig.kt index da4887c006..c9ef6e0f7c 100644 --- a/dd-sdk-android/src/main/kotlin/com/datadog/android/DatadogConfig.kt +++ b/dd-sdk-android/src/main/kotlin/com/datadog/android/DatadogConfig.kt @@ -23,18 +23,22 @@ import java.util.UUID */ class DatadogConfig private constructor( - internal val needsClearTextHttp: Boolean, internal val logsConfig: FeatureConfig?, internal val tracesConfig: FeatureConfig?, internal val crashReportConfig: FeatureConfig?, - internal val rumConfig: RumConfig? + internal val rumConfig: RumConfig?, + internal var coreConfig: CoreConfig ) { + internal data class CoreConfig( + var needsClearTextHttp: Boolean = false, + val serviceName: String? = null + ) + internal data class FeatureConfig( val clientToken: String, val applicationId: UUID, val endpointUrl: String, - val serviceName: String, val envName: String ) @@ -42,7 +46,6 @@ private constructor( val clientToken: String, val applicationId: UUID, val endpointUrl: String, - val serviceName: String, val envName: String, val gesturesTracker: GesturesTracker? = null, val userActionTrackingStrategy: UserActionTrackingStrategy? = null, @@ -71,7 +74,7 @@ private constructor( * (e.g. "staging" vs. "production"). */ constructor(clientToken: String, envName: String) : - this(clientToken, envName, UUID(0, 0)) + this(clientToken, envName, UUID(0, 0)) /** * A Builder class for a [DatadogConfig]. @@ -82,42 +85,39 @@ private constructor( * @param applicationId your applicationId for RUM events */ constructor(clientToken: String, envName: String, applicationId: String) : - this(clientToken, envName, UUID.fromString(applicationId)) + this(clientToken, envName, UUID.fromString(applicationId)) private var logsConfig: FeatureConfig = FeatureConfig( clientToken, applicationId, DatadogEndpoint.LOGS_US, - DEFAULT_SERVICE_NAME, envName ) private var tracesConfig: FeatureConfig = FeatureConfig( clientToken, applicationId, DatadogEndpoint.TRACES_US, - DEFAULT_SERVICE_NAME, envName ) private var crashReportConfig: FeatureConfig = FeatureConfig( clientToken, applicationId, DatadogEndpoint.LOGS_US, - DEFAULT_SERVICE_NAME, envName ) private var rumConfig: RumConfig = RumConfig( clientToken, applicationId, DatadogEndpoint.RUM_US, - DEFAULT_SERVICE_NAME, envName ) + private var coreConfig = CoreConfig() + private var logsEnabled: Boolean = true private var tracesEnabled: Boolean = true private var crashReportsEnabled: Boolean = true private var rumEnabled: Boolean = applicationId != UUID(0, 0) - private var needsClearTextHttp: Boolean = false /** * Builds a [DatadogConfig] based on the current state of this Builder. @@ -125,11 +125,11 @@ private constructor( fun build(): DatadogConfig { return DatadogConfig( - needsClearTextHttp = needsClearTextHttp, logsConfig = if (logsEnabled) logsConfig else null, tracesConfig = if (tracesEnabled) tracesConfig else null, crashReportConfig = if (crashReportsEnabled) crashReportConfig else null, - rumConfig = if (rumEnabled) rumConfig else null + rumConfig = if (rumEnabled) rumConfig else null, + coreConfig = coreConfig ) } @@ -182,10 +182,7 @@ private constructor( * @param serviceName the service name (default = "android") */ fun setServiceName(serviceName: String): Builder { - logsConfig = logsConfig.copy(serviceName = serviceName) - tracesConfig = tracesConfig.copy(serviceName = serviceName) - crashReportConfig = crashReportConfig.copy(serviceName = serviceName) - rumConfig = rumConfig.copy(serviceName = serviceName) + coreConfig = coreConfig.copy(serviceName = serviceName) return this } @@ -215,7 +212,7 @@ private constructor( tracesConfig = tracesConfig.copy(endpointUrl = DatadogEndpoint.TRACES_EU) crashReportConfig = crashReportConfig.copy(endpointUrl = DatadogEndpoint.LOGS_EU) rumConfig = rumConfig.copy(endpointUrl = DatadogEndpoint.RUM_EU) - needsClearTextHttp = false + coreConfig = coreConfig.copy(needsClearTextHttp = false) return this } @@ -229,7 +226,7 @@ private constructor( tracesConfig = tracesConfig.copy(endpointUrl = DatadogEndpoint.TRACES_US) crashReportConfig = crashReportConfig.copy(endpointUrl = DatadogEndpoint.LOGS_US) rumConfig = rumConfig.copy(endpointUrl = DatadogEndpoint.RUM_US) - needsClearTextHttp = false + coreConfig = coreConfig.copy(needsClearTextHttp = false) return this } @@ -305,14 +302,14 @@ private constructor( private fun checkCustomEndpoint(endpoint: String) { if (endpoint.startsWith("http://")) { - needsClearTextHttp = true + coreConfig = coreConfig.copy(needsClearTextHttp = true) } } private fun provideUserTrackingStrategy( gesturesTracker: GesturesTracker ): - UserActionTrackingStrategy { + UserActionTrackingStrategy { return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { GesturesTrackingStrategyApi29(gesturesTracker) } else { @@ -322,8 +319,4 @@ private constructor( } // endregion - - companion object { - internal const val DEFAULT_SERVICE_NAME = "android" - } } diff --git a/dd-sdk-android/src/main/kotlin/com/datadog/android/core/internal/CoreFeature.kt b/dd-sdk-android/src/main/kotlin/com/datadog/android/core/internal/CoreFeature.kt index a1aa05c595..b21d2a090a 100644 --- a/dd-sdk-android/src/main/kotlin/com/datadog/android/core/internal/CoreFeature.kt +++ b/dd-sdk-android/src/main/kotlin/com/datadog/android/core/internal/CoreFeature.kt @@ -8,6 +8,7 @@ package com.datadog.android.core.internal import android.content.Context import android.os.Build +import com.datadog.android.DatadogConfig import com.datadog.android.core.internal.net.GzipRequestInterceptor import com.datadog.android.core.internal.net.NetworkTimeInterceptor import com.datadog.android.core.internal.net.info.BroadcastReceiverNetworkInfoProvider @@ -56,25 +57,27 @@ internal object CoreFeature { internal var packageName: String = "" internal var packageVersion: String = "" + internal var serviceName: String = "" internal lateinit var dataUploadScheduledExecutor: ScheduledThreadPoolExecutor internal lateinit var dataPersistenceExecutorService: ExecutorService fun initialize( appContext: Context, - needsClearTextHttp: Boolean + config: DatadogConfig.CoreConfig ) { if (initialized.get()) { return } + serviceName = config.serviceName ?: appContext.packageName contextRef = WeakReference(appContext) readApplicationInformation(appContext) setupInfoProviders(appContext) - setupOkHttpClient(needsClearTextHttp) + setupOkHttpClient(config.needsClearTextHttp) dataUploadScheduledExecutor = ScheduledThreadPoolExecutor(CORE_DEFAULT_POOL_SIZE) dataPersistenceExecutorService = ThreadPoolExecutor( @@ -99,6 +102,9 @@ internal object CoreFeature { systemInfoProvider = NoOpSystemInfoProvider() networkInfoProvider = NoOpNetworkInfoProvider() userInfoProvider = NoOpMutableUserInfoProvider() + serviceName = "" + packageName = "" + packageVersion = "" shutDownExecutors() initialized.set(false) } diff --git a/dd-sdk-android/src/main/kotlin/com/datadog/android/error/internal/CrashReportsFeature.kt b/dd-sdk-android/src/main/kotlin/com/datadog/android/error/internal/CrashReportsFeature.kt index fcf8cb165d..546b01a303 100644 --- a/dd-sdk-android/src/main/kotlin/com/datadog/android/error/internal/CrashReportsFeature.kt +++ b/dd-sdk-android/src/main/kotlin/com/datadog/android/error/internal/CrashReportsFeature.kt @@ -32,7 +32,6 @@ internal object CrashReportsFeature { internal var clientToken: String = "" internal var endpointUrl: String = DatadogEndpoint.LOGS_US - internal var serviceName: String = DatadogConfig.DEFAULT_SERVICE_NAME internal var envName: String = "" set(value) { field = value @@ -67,7 +66,6 @@ internal object CrashReportsFeature { clientToken = config.clientToken endpointUrl = config.endpointUrl - serviceName = config.serviceName envName = config.envName persistenceStrategy = CrashLogFileStrategy(appContext) @@ -94,7 +92,6 @@ internal object CrashReportsFeature { clientToken = "" envName = "" endpointUrl = DatadogEndpoint.LOGS_US - serviceName = DatadogConfig.DEFAULT_SERVICE_NAME initialized.set(false) } @@ -137,10 +134,4 @@ internal object CrashReportsFeature { } // endregion - - // region Constants - - internal const val CRASH_REPORTS_UPLOAD_THREAD_NAME = "ddog-crash-upload" - - // endregion } diff --git a/dd-sdk-android/src/main/kotlin/com/datadog/android/error/internal/DatadogExceptionHandler.kt b/dd-sdk-android/src/main/kotlin/com/datadog/android/error/internal/DatadogExceptionHandler.kt index 87427b36c0..8808ba6c7f 100644 --- a/dd-sdk-android/src/main/kotlin/com/datadog/android/error/internal/DatadogExceptionHandler.kt +++ b/dd-sdk-android/src/main/kotlin/com/datadog/android/error/internal/DatadogExceptionHandler.kt @@ -7,6 +7,7 @@ package com.datadog.android.error.internal import android.content.Context +import com.datadog.android.core.internal.CoreFeature import com.datadog.android.core.internal.data.Writer import com.datadog.android.core.internal.net.info.NetworkInfoProvider import com.datadog.android.core.internal.time.TimeProvider @@ -61,7 +62,7 @@ internal class DatadogExceptionHandler( private fun createLog(thread: Thread, throwable: Throwable): Log { return Log( - serviceName = CrashReportsFeature.serviceName, + serviceName = CoreFeature.serviceName, level = Log.CRASH, loggerName = LOGGER_NAME, message = MESSAGE, diff --git a/dd-sdk-android/src/main/kotlin/com/datadog/android/log/Logger.kt b/dd-sdk-android/src/main/kotlin/com/datadog/android/log/Logger.kt index 5b1d0c6740..bdf2671e05 100644 --- a/dd-sdk-android/src/main/kotlin/com/datadog/android/log/Logger.kt +++ b/dd-sdk-android/src/main/kotlin/com/datadog/android/log/Logger.kt @@ -173,7 +173,7 @@ internal constructor(private val handler: LogHandler) { */ class Builder { - private var serviceName: String = LogsFeature.serviceName + private var serviceName: String = CoreFeature.serviceName private var datadogLogsEnabled: Boolean = true private var logcatLogsEnabled: Boolean = false private var networkInfoEnabled: Boolean = false diff --git a/dd-sdk-android/src/main/kotlin/com/datadog/android/log/internal/LogsFeature.kt b/dd-sdk-android/src/main/kotlin/com/datadog/android/log/internal/LogsFeature.kt index 95beeb71e5..ff2ca8c567 100644 --- a/dd-sdk-android/src/main/kotlin/com/datadog/android/log/internal/LogsFeature.kt +++ b/dd-sdk-android/src/main/kotlin/com/datadog/android/log/internal/LogsFeature.kt @@ -32,7 +32,6 @@ internal object LogsFeature { internal var clientToken: String = "" internal var endpointUrl: String = DatadogEndpoint.LOGS_US - internal var serviceName: String = DatadogConfig.DEFAULT_SERVICE_NAME internal var envName: String = "" set(value) { field = value @@ -65,7 +64,6 @@ internal object LogsFeature { clientToken = config.clientToken endpointUrl = config.endpointUrl - serviceName = config.serviceName envName = config.envName persistenceStrategy = LogFileStrategy( @@ -95,7 +93,6 @@ internal object LogsFeature { clientToken = "" envName = "" endpointUrl = DatadogEndpoint.LOGS_US - serviceName = DatadogConfig.DEFAULT_SERVICE_NAME initialized.set(false) } diff --git a/dd-sdk-android/src/main/kotlin/com/datadog/android/rum/internal/RumFeature.kt b/dd-sdk-android/src/main/kotlin/com/datadog/android/rum/internal/RumFeature.kt index 9798fb61a3..d1f7bc0447 100644 --- a/dd-sdk-android/src/main/kotlin/com/datadog/android/rum/internal/RumFeature.kt +++ b/dd-sdk-android/src/main/kotlin/com/datadog/android/rum/internal/RumFeature.kt @@ -48,7 +48,6 @@ internal object RumFeature { internal var clientToken: String = "" internal var endpointUrl: String = DatadogEndpoint.RUM_US - internal var serviceName: String = DatadogConfig.DEFAULT_SERVICE_NAME internal var envName: String = "" internal var applicationId: UUID = UUID(0, 0) @@ -83,7 +82,6 @@ internal object RumFeature { clientToken = config.clientToken endpointUrl = config.endpointUrl - serviceName = config.serviceName envName = config.envName config.gesturesTracker?.let { gesturesTracker = it } @@ -120,7 +118,6 @@ internal object RumFeature { dataUploadScheduler = NoOpUploadScheduler() clientToken = "" endpointUrl = DatadogEndpoint.RUM_US - serviceName = DatadogConfig.DEFAULT_SERVICE_NAME envName = "" // reset rum monitor to NoOp and reset the flag GlobalRum.isRegistered.set(false) diff --git a/dd-sdk-android/src/main/kotlin/com/datadog/android/tracing/AndroidTracer.kt b/dd-sdk-android/src/main/kotlin/com/datadog/android/tracing/AndroidTracer.kt index da1ceb1fb5..a21e7a9370 100644 --- a/dd-sdk-android/src/main/kotlin/com/datadog/android/tracing/AndroidTracer.kt +++ b/dd-sdk-android/src/main/kotlin/com/datadog/android/tracing/AndroidTracer.kt @@ -6,6 +6,7 @@ package com.datadog.android.tracing +import com.datadog.android.core.internal.CoreFeature import com.datadog.android.log.LogAttributes import com.datadog.android.log.Logger import com.datadog.android.rum.GlobalRum @@ -66,7 +67,7 @@ class AndroidTracer internal constructor( class Builder { private var bundleWithRumEnabled: Boolean = true - private var serviceName: String = TracesFeature.serviceName + private var serviceName: String = CoreFeature.serviceName private var partialFlushThreshold = DEFAULT_PARTIAL_MIN_FLUSH private var random: Random = SecureRandom() private val logsHandler: LogHandler diff --git a/dd-sdk-android/src/main/kotlin/com/datadog/android/tracing/internal/TracesFeature.kt b/dd-sdk-android/src/main/kotlin/com/datadog/android/tracing/internal/TracesFeature.kt index c8754368c3..a08a656587 100644 --- a/dd-sdk-android/src/main/kotlin/com/datadog/android/tracing/internal/TracesFeature.kt +++ b/dd-sdk-android/src/main/kotlin/com/datadog/android/tracing/internal/TracesFeature.kt @@ -34,7 +34,6 @@ internal object TracesFeature { internal var clientToken: String = "" internal var endpointUrl: String = DatadogEndpoint.TRACES_US - internal var serviceName: String = DatadogConfig.DEFAULT_SERVICE_NAME internal var persistenceStrategy: PersistenceStrategy = NoOpPersistenceStrategy() internal var uploader: DataUploader = NoOpDataUploader() @@ -58,7 +57,6 @@ internal object TracesFeature { clientToken = config.clientToken endpointUrl = config.endpointUrl - serviceName = config.serviceName val envSuffix = if (config.envName.isEmpty()) "" else ", \"env\": \"${config.envName}\"" persistenceStrategy = TracingFileStrategy( @@ -87,7 +85,6 @@ internal object TracesFeature { dataUploadScheduler = NoOpUploadScheduler() clientToken = "" endpointUrl = DatadogEndpoint.TRACES_US - serviceName = DatadogConfig.DEFAULT_SERVICE_NAME initialized.set(false) } } diff --git a/dd-sdk-android/src/test/kotlin/com/datadog/android/DatadogConfigBuilderTest.kt b/dd-sdk-android/src/test/kotlin/com/datadog/android/DatadogConfigBuilderTest.kt index 5b42134da8..2cfad922eb 100644 --- a/dd-sdk-android/src/test/kotlin/com/datadog/android/DatadogConfigBuilderTest.kt +++ b/dd-sdk-android/src/test/kotlin/com/datadog/android/DatadogConfigBuilderTest.kt @@ -53,14 +53,18 @@ class DatadogConfigBuilderTest { val config = DatadogConfig.Builder(fakeClientToken, fakeEnvName) .build() - assertThat(config.needsClearTextHttp).isFalse() + assertThat(config.coreConfig) + .isEqualTo( + DatadogConfig.CoreConfig( + needsClearTextHttp = false + ) + ) assertThat(config.logsConfig) .isEqualTo( DatadogConfig.FeatureConfig( fakeClientToken, UUID(0, 0), DatadogEndpoint.LOGS_US, - DatadogConfig.DEFAULT_SERVICE_NAME, fakeEnvName ) ) @@ -70,7 +74,6 @@ class DatadogConfigBuilderTest { fakeClientToken, UUID(0, 0), DatadogEndpoint.TRACES_US, - DatadogConfig.DEFAULT_SERVICE_NAME, fakeEnvName ) ) @@ -80,7 +83,6 @@ class DatadogConfigBuilderTest { fakeClientToken, UUID(0, 0), DatadogEndpoint.LOGS_US, - DatadogConfig.DEFAULT_SERVICE_NAME, fakeEnvName ) ) @@ -94,14 +96,18 @@ class DatadogConfigBuilderTest { DatadogConfig.Builder(fakeClientToken, fakeEnvName, fakeApplicationId.toString()) .build() - assertThat(config.needsClearTextHttp).isFalse() + assertThat(config.coreConfig) + .isEqualTo( + DatadogConfig.CoreConfig( + needsClearTextHttp = false + ) + ) assertThat(config.logsConfig) .isEqualTo( DatadogConfig.FeatureConfig( fakeClientToken, fakeApplicationId, DatadogEndpoint.LOGS_US, - DatadogConfig.DEFAULT_SERVICE_NAME, fakeEnvName ) ) @@ -111,7 +117,6 @@ class DatadogConfigBuilderTest { fakeClientToken, fakeApplicationId, DatadogEndpoint.TRACES_US, - DatadogConfig.DEFAULT_SERVICE_NAME, fakeEnvName ) ) @@ -121,7 +126,6 @@ class DatadogConfigBuilderTest { fakeClientToken, fakeApplicationId, DatadogEndpoint.LOGS_US, - DatadogConfig.DEFAULT_SERVICE_NAME, fakeEnvName ) ) @@ -131,7 +135,6 @@ class DatadogConfigBuilderTest { fakeClientToken, fakeApplicationId, DatadogEndpoint.RUM_US, - DatadogConfig.DEFAULT_SERVICE_NAME, fakeEnvName ) ) @@ -142,14 +145,13 @@ class DatadogConfigBuilderTest { val config = DatadogConfig.Builder(fakeClientToken, fakeEnvName, fakeApplicationId) .build() - assertThat(config.needsClearTextHttp).isFalse() + assertThat(config.coreConfig) assertThat(config.logsConfig) .isEqualTo( DatadogConfig.FeatureConfig( fakeClientToken, fakeApplicationId, DatadogEndpoint.LOGS_US, - DatadogConfig.DEFAULT_SERVICE_NAME, fakeEnvName ) ) @@ -159,7 +161,6 @@ class DatadogConfigBuilderTest { fakeClientToken, fakeApplicationId, DatadogEndpoint.TRACES_US, - DatadogConfig.DEFAULT_SERVICE_NAME, fakeEnvName ) ) @@ -169,7 +170,6 @@ class DatadogConfigBuilderTest { fakeClientToken, fakeApplicationId, DatadogEndpoint.LOGS_US, - DatadogConfig.DEFAULT_SERVICE_NAME, fakeEnvName ) ) @@ -179,7 +179,6 @@ class DatadogConfigBuilderTest { fakeClientToken, fakeApplicationId, DatadogEndpoint.RUM_US, - DatadogConfig.DEFAULT_SERVICE_NAME, fakeEnvName ) ) @@ -197,45 +196,10 @@ class DatadogConfigBuilderTest { .setServiceName(serviceName) .build() - assertThat(config.needsClearTextHttp).isFalse() - assertThat(config.logsConfig) - .isEqualTo( - DatadogConfig.FeatureConfig( - fakeClientToken, - fakeApplicationId, - DatadogEndpoint.LOGS_US, - serviceName, - fakeEnvName - ) - ) - assertThat(config.tracesConfig) - .isEqualTo( - DatadogConfig.FeatureConfig( - fakeClientToken, - fakeApplicationId, - DatadogEndpoint.TRACES_US, - serviceName, - fakeEnvName - ) - ) - assertThat(config.crashReportConfig) - .isEqualTo( - DatadogConfig.FeatureConfig( - fakeClientToken, - fakeApplicationId, - DatadogEndpoint.LOGS_US, - serviceName, - fakeEnvName - ) - ) - assertThat(config.rumConfig) + assertThat(config.coreConfig) .isEqualTo( - DatadogConfig.RumConfig( - fakeClientToken, - fakeApplicationId, - DatadogEndpoint.RUM_US, - serviceName, - fakeEnvName + DatadogConfig.CoreConfig( + serviceName = serviceName ) ) } @@ -252,14 +216,18 @@ class DatadogConfigBuilderTest { .setEnvironmentName(envName) .build() - assertThat(config.needsClearTextHttp).isFalse() + assertThat(config.coreConfig) + .isEqualTo( + DatadogConfig.CoreConfig( + needsClearTextHttp = false + ) + ) assertThat(config.logsConfig) .isEqualTo( DatadogConfig.FeatureConfig( fakeClientToken, fakeApplicationId, DatadogEndpoint.LOGS_US, - DatadogConfig.DEFAULT_SERVICE_NAME, envName ) ) @@ -269,7 +237,6 @@ class DatadogConfigBuilderTest { fakeClientToken, fakeApplicationId, DatadogEndpoint.TRACES_US, - DatadogConfig.DEFAULT_SERVICE_NAME, envName ) ) @@ -279,7 +246,6 @@ class DatadogConfigBuilderTest { fakeClientToken, fakeApplicationId, DatadogEndpoint.LOGS_US, - DatadogConfig.DEFAULT_SERVICE_NAME, envName ) ) @@ -290,8 +256,7 @@ class DatadogConfigBuilderTest { fakeClientToken, fakeApplicationId, DatadogEndpoint.RUM_US, - DatadogConfig.DEFAULT_SERVICE_NAME, - envName + envName = envName ) ) } @@ -308,14 +273,18 @@ class DatadogConfigBuilderTest { .setEnvironmentName("\"'$envName'\"") .build() - assertThat(config.needsClearTextHttp).isFalse() + assertThat(config.coreConfig) + .isEqualTo( + DatadogConfig.CoreConfig( + needsClearTextHttp = false + ) + ) assertThat(config.logsConfig) .isEqualTo( DatadogConfig.FeatureConfig( fakeClientToken, fakeApplicationId, DatadogEndpoint.LOGS_US, - DatadogConfig.DEFAULT_SERVICE_NAME, envName ) ) @@ -325,7 +294,6 @@ class DatadogConfigBuilderTest { fakeClientToken, fakeApplicationId, DatadogEndpoint.TRACES_US, - DatadogConfig.DEFAULT_SERVICE_NAME, envName ) ) @@ -335,7 +303,6 @@ class DatadogConfigBuilderTest { fakeClientToken, fakeApplicationId, DatadogEndpoint.LOGS_US, - DatadogConfig.DEFAULT_SERVICE_NAME, envName ) ) @@ -346,8 +313,7 @@ class DatadogConfigBuilderTest { fakeClientToken, fakeApplicationId, DatadogEndpoint.RUM_US, - DatadogConfig.DEFAULT_SERVICE_NAME, - envName + envName = envName ) ) } @@ -361,7 +327,12 @@ class DatadogConfigBuilderTest { .setRumEnabled(false) .build() - assertThat(config.needsClearTextHttp).isFalse() + assertThat(config.coreConfig) + .isEqualTo( + DatadogConfig.CoreConfig( + needsClearTextHttp = false + ) + ) assertThat(config.logsConfig).isNull() assertThat(config.tracesConfig).isNull() assertThat(config.crashReportConfig).isNull() @@ -377,14 +348,18 @@ class DatadogConfigBuilderTest { .setCrashReportsEnabled(true) .build() - assertThat(config.needsClearTextHttp).isFalse() + assertThat(config.coreConfig) + .isEqualTo( + DatadogConfig.CoreConfig( + needsClearTextHttp = false + ) + ) assertThat(config.logsConfig) .isEqualTo( DatadogConfig.FeatureConfig( fakeClientToken, fakeApplicationId, DatadogEndpoint.LOGS_US, - DatadogConfig.DEFAULT_SERVICE_NAME, fakeEnvName ) ) @@ -394,7 +369,6 @@ class DatadogConfigBuilderTest { fakeClientToken, fakeApplicationId, DatadogEndpoint.TRACES_US, - DatadogConfig.DEFAULT_SERVICE_NAME, fakeEnvName ) ) @@ -404,7 +378,6 @@ class DatadogConfigBuilderTest { fakeClientToken, fakeApplicationId, DatadogEndpoint.LOGS_US, - DatadogConfig.DEFAULT_SERVICE_NAME, fakeEnvName ) ) @@ -415,7 +388,6 @@ class DatadogConfigBuilderTest { fakeClientToken, fakeApplicationId, DatadogEndpoint.RUM_US, - DatadogConfig.DEFAULT_SERVICE_NAME, fakeEnvName ) ) @@ -430,14 +402,18 @@ class DatadogConfigBuilderTest { .setCrashReportsEnabled(true) .build() - assertThat(config.needsClearTextHttp).isFalse() + assertThat(config.coreConfig) + .isEqualTo( + DatadogConfig.CoreConfig( + needsClearTextHttp = false + ) + ) assertThat(config.logsConfig) .isEqualTo( DatadogConfig.FeatureConfig( fakeClientToken, fakeApplicationId, DatadogEndpoint.LOGS_EU, - DatadogConfig.DEFAULT_SERVICE_NAME, fakeEnvName ) ) @@ -447,7 +423,6 @@ class DatadogConfigBuilderTest { fakeClientToken, fakeApplicationId, DatadogEndpoint.TRACES_EU, - DatadogConfig.DEFAULT_SERVICE_NAME, fakeEnvName ) ) @@ -457,7 +432,6 @@ class DatadogConfigBuilderTest { fakeClientToken, fakeApplicationId, DatadogEndpoint.LOGS_EU, - DatadogConfig.DEFAULT_SERVICE_NAME, fakeEnvName ) ) @@ -467,7 +441,6 @@ class DatadogConfigBuilderTest { fakeClientToken, fakeApplicationId, DatadogEndpoint.RUM_EU, - DatadogConfig.DEFAULT_SERVICE_NAME, fakeEnvName ) ) @@ -491,14 +464,18 @@ class DatadogConfigBuilderTest { .setCrashReportsEnabled(true) .build() - assertThat(config.needsClearTextHttp).isFalse() + assertThat(config.coreConfig) + .isEqualTo( + DatadogConfig.CoreConfig( + needsClearTextHttp = false + ) + ) assertThat(config.logsConfig) .isEqualTo( DatadogConfig.FeatureConfig( fakeClientToken, fakeApplicationId, logsUrl, - DatadogConfig.DEFAULT_SERVICE_NAME, fakeEnvName ) ) @@ -508,7 +485,6 @@ class DatadogConfigBuilderTest { fakeClientToken, fakeApplicationId, tracesUrl, - DatadogConfig.DEFAULT_SERVICE_NAME, fakeEnvName ) ) @@ -518,7 +494,6 @@ class DatadogConfigBuilderTest { fakeClientToken, fakeApplicationId, crashReportsUrl, - DatadogConfig.DEFAULT_SERVICE_NAME, fakeEnvName ) ) @@ -529,7 +504,6 @@ class DatadogConfigBuilderTest { fakeClientToken, fakeApplicationId, rumUrl, - DatadogConfig.DEFAULT_SERVICE_NAME, fakeEnvName ) ) @@ -553,14 +527,18 @@ class DatadogConfigBuilderTest { .setCrashReportsEnabled(true) .build() - assertThat(config.needsClearTextHttp).isTrue() + assertThat(config.coreConfig) + .isEqualTo( + DatadogConfig.CoreConfig( + needsClearTextHttp = true + ) + ) assertThat(config.logsConfig) .isEqualTo( DatadogConfig.FeatureConfig( fakeClientToken, fakeApplicationId, logsUrl, - DatadogConfig.DEFAULT_SERVICE_NAME, fakeEnvName ) ) @@ -570,7 +548,6 @@ class DatadogConfigBuilderTest { fakeClientToken, fakeApplicationId, tracesUrl, - DatadogConfig.DEFAULT_SERVICE_NAME, fakeEnvName ) ) @@ -580,7 +557,6 @@ class DatadogConfigBuilderTest { fakeClientToken, fakeApplicationId, crashReportsUrl, - DatadogConfig.DEFAULT_SERVICE_NAME, fakeEnvName ) ) @@ -590,31 +566,11 @@ class DatadogConfigBuilderTest { fakeClientToken, fakeApplicationId, rumUrl, - DatadogConfig.DEFAULT_SERVICE_NAME, fakeEnvName ) ) } - @Test - fun `builder with all tracking instrumentation disabled`(forge: Forge) { - val rumUrl = forge.aStringMatching("http://[a-z]+\\.com") - val config = DatadogConfig.Builder(fakeClientToken, fakeEnvName, fakeApplicationId) - .useCustomRumEndpoint(rumUrl) - .build() - - val rumConfig: DatadogConfig.RumConfig? = config.rumConfig - assertThat(rumConfig).isNotNull() - RumConfigAssert.assertThat(rumConfig!!) - .hasClientToken(fakeClientToken) - .hasApplicationId(fakeApplicationId) - .hasEndpointUrl(rumUrl) - .hasServiceName(DatadogConfig.DEFAULT_SERVICE_NAME) - .hasEnvName(fakeEnvName) - .doesNotHaveGesturesTrackingStrategy() - .doesNotHaveViewTrackingStrategy() - } - @Test fun `builder with track gestures enabled`(forge: Forge) { val rumUrl = forge.aStringMatching("http://[a-z]+\\.com") @@ -632,7 +588,6 @@ class DatadogConfigBuilderTest { .hasClientToken(fakeClientToken) .hasApplicationId(fakeApplicationId) .hasEndpointUrl(rumUrl) - .hasServiceName(DatadogConfig.DEFAULT_SERVICE_NAME) .hasEnvName(fakeEnvName) .hasGesturesTrackingStrategy( touchTargetExtraAttributesProviders @@ -658,7 +613,6 @@ class DatadogConfigBuilderTest { .hasClientToken(fakeClientToken) .hasApplicationId(fakeApplicationId) .hasEndpointUrl(rumUrl) - .hasServiceName(DatadogConfig.DEFAULT_SERVICE_NAME) .hasEnvName(fakeEnvName) .hasGesturesTrackingStrategyApi29( touchTargetExtraAttributesProviders @@ -681,7 +635,6 @@ class DatadogConfigBuilderTest { .hasClientToken(fakeClientToken) .hasApplicationId(fakeApplicationId) .hasEndpointUrl(rumUrl) - .hasServiceName(DatadogConfig.DEFAULT_SERVICE_NAME) .hasEnvName(fakeEnvName) .doesNotHaveGesturesTrackingStrategy() .hasViewTrackingStrategy(strategy) diff --git a/dd-sdk-android/src/test/kotlin/com/datadog/android/core/internal/CoreFeatureTest.kt b/dd-sdk-android/src/test/kotlin/com/datadog/android/core/internal/CoreFeatureTest.kt index a46f559d10..661d94192f 100644 --- a/dd-sdk-android/src/test/kotlin/com/datadog/android/core/internal/CoreFeatureTest.kt +++ b/dd-sdk-android/src/test/kotlin/com/datadog/android/core/internal/CoreFeatureTest.kt @@ -11,6 +11,7 @@ import android.content.BroadcastReceiver import android.content.Context import android.net.ConnectivityManager import android.os.Build +import com.datadog.android.DatadogConfig import com.datadog.android.core.internal.net.info.BroadcastReceiverNetworkInfoProvider import com.datadog.android.core.internal.net.info.CallbackNetworkInfoProvider import com.datadog.android.core.internal.system.BroadcastReceiverSystemInfoProvider @@ -58,6 +59,7 @@ import org.mockito.quality.Strictness internal class CoreFeatureTest { lateinit var mockAppContext: Application + @Mock lateinit var mockConnectivityMgr: ConnectivityManager lateinit var fakePackageName: String @@ -82,7 +84,7 @@ internal class CoreFeatureTest { @Test @TestTargetApi(Build.VERSION_CODES.LOLLIPOP) fun `registers broadcast receivers on initialize (Lollipop)`() { - CoreFeature.initialize(mockAppContext, false) + CoreFeature.initialize(mockAppContext, DatadogConfig.CoreConfig()) val broadcastReceiverCaptor = argumentCaptor() verify(mockAppContext, times(3)).registerReceiver(broadcastReceiverCaptor.capture(), any()) @@ -95,7 +97,7 @@ internal class CoreFeatureTest { @Test @TestTargetApi(Build.VERSION_CODES.N) fun `registers receivers and callbacks on initialize (Nougat)`() { - CoreFeature.initialize(mockAppContext, false) + CoreFeature.initialize(mockAppContext, DatadogConfig.CoreConfig()) val broadcastReceiverCaptor = argumentCaptor() verify(mockAppContext, times(2)).registerReceiver(broadcastReceiverCaptor.capture(), any()) @@ -108,7 +110,7 @@ internal class CoreFeatureTest { @Test fun `initializes time provider`() { - CoreFeature.initialize(mockAppContext, false) + CoreFeature.initialize(mockAppContext, DatadogConfig.CoreConfig()) assertThat(CoreFeature.timeProvider) .isNotInstanceOf(NoOpMutableTimeProvider::class.java) @@ -116,7 +118,7 @@ internal class CoreFeatureTest { @Test fun `initializes user info provider`() { - CoreFeature.initialize(mockAppContext, false) + CoreFeature.initialize(mockAppContext, DatadogConfig.CoreConfig()) assertThat(CoreFeature.userInfoProvider) .isNotInstanceOf(NoOpMutableUserInfoProvider::class.java) @@ -124,7 +126,7 @@ internal class CoreFeatureTest { @Test fun `initializes app info`() { - CoreFeature.initialize(mockAppContext, false) + CoreFeature.initialize(mockAppContext, DatadogConfig.CoreConfig()) assertThat(CoreFeature.packageName).isEqualTo(fakePackageName) assertThat(CoreFeature.packageVersion).isEqualTo(fakePackageVersion) @@ -139,7 +141,7 @@ internal class CoreFeatureTest { whenever(mockAppContext.getSystemService(Context.CONNECTIVITY_SERVICE)) .doReturn(mockConnectivityMgr) - CoreFeature.initialize(mockAppContext, false) + CoreFeature.initialize(mockAppContext, DatadogConfig.CoreConfig()) assertThat(CoreFeature.packageName).isEqualTo(fakePackageName) assertThat(CoreFeature.packageVersion).isEqualTo(versionCode.toString()) @@ -148,7 +150,7 @@ internal class CoreFeatureTest { @Test @TestTargetApi(Build.VERSION_CODES.LOLLIPOP) fun `add strict network policy for https endpoints on 21+`(forge: Forge) { - CoreFeature.initialize(mockAppContext, false) + CoreFeature.initialize(mockAppContext, DatadogConfig.CoreConfig()) val okHttpClient = CoreFeature.okHttpClient assertThat(okHttpClient.protocols()) @@ -162,7 +164,7 @@ internal class CoreFeatureTest { @Test @TestTargetApi(Build.VERSION_CODES.KITKAT) fun `add compatibility network policy for https endpoints on 19+`(forge: Forge) { - CoreFeature.initialize(mockAppContext, false) + CoreFeature.initialize(mockAppContext, DatadogConfig.CoreConfig()) val okHttpClient = CoreFeature.okHttpClient assertThat(okHttpClient.protocols()) @@ -175,7 +177,7 @@ internal class CoreFeatureTest { @Test fun `no network policy for custom endpoints`(forge: Forge) { - CoreFeature.initialize(mockAppContext, true) + CoreFeature.initialize(mockAppContext, DatadogConfig.CoreConfig(needsClearTextHttp = true)) val okHttpClient = CoreFeature.okHttpClient assertThat(okHttpClient.protocols()) @@ -189,7 +191,7 @@ internal class CoreFeatureTest { @Test fun `stop will shutdown the executors`() { // given - CoreFeature.initialize(mockAppContext, true) + CoreFeature.initialize(mockAppContext, DatadogConfig.CoreConfig(needsClearTextHttp = true)) val mockedThreadPoolExecutor: ThreadPoolExecutor = mock() CoreFeature.dataPersistenceExecutorService = mockedThreadPoolExecutor val mockScheduledThreadPoolExecutor: ScheduledThreadPoolExecutor = mock() @@ -202,4 +204,26 @@ internal class CoreFeatureTest { verify(mockedThreadPoolExecutor).shutdownNow() verify(mockScheduledThreadPoolExecutor).shutdownNow() } + + @Test + fun `if custom service name not provided will use the package name`() { + // given + CoreFeature.initialize(mockAppContext, DatadogConfig.CoreConfig(serviceName = null)) + + // then + assertThat(CoreFeature.serviceName).isEqualTo(mockAppContext.packageName) + } + + @Test + fun `if custom service name provided will use this instead of the package name`(forge: Forge) { + // given + val serviceName = forge.anAlphabeticalString() + CoreFeature.initialize( + mockAppContext, + DatadogConfig.CoreConfig(serviceName = serviceName) + ) + + // then + assertThat(CoreFeature.serviceName).isEqualTo(serviceName) + } } diff --git a/dd-sdk-android/src/test/kotlin/com/datadog/android/error/internal/CrashReportsFeatureTest.kt b/dd-sdk-android/src/test/kotlin/com/datadog/android/error/internal/CrashReportsFeatureTest.kt index a3d97baf83..ceb9e49c03 100644 --- a/dd-sdk-android/src/test/kotlin/com/datadog/android/error/internal/CrashReportsFeatureTest.kt +++ b/dd-sdk-android/src/test/kotlin/com/datadog/android/error/internal/CrashReportsFeatureTest.kt @@ -9,6 +9,7 @@ package com.datadog.android.error.internal import android.app.Application import com.datadog.android.Datadog import com.datadog.android.DatadogConfig +import com.datadog.android.core.internal.CoreFeature import com.datadog.android.core.internal.data.upload.DataUploadScheduler import com.datadog.android.core.internal.domain.FilePersistenceStrategy import com.datadog.android.core.internal.net.DataOkHttpUploader @@ -79,7 +80,6 @@ internal class CrashReportsFeatureTest { clientToken = forge.anHexadecimalString(), applicationId = forge.getForgery(), endpointUrl = forge.getForgery().toString(), - serviceName = forge.anAlphabeticalString(), envName = forge.anAlphabeticalString() ) @@ -93,6 +93,7 @@ internal class CrashReportsFeatureTest { @AfterEach fun `tear down`() { + CoreFeature.stop() CrashReportsFeature.stop() } @@ -152,11 +153,9 @@ internal class CrashReportsFeatureTest { val clientToken = CrashReportsFeature.clientToken val endpointUrl = CrashReportsFeature.endpointUrl - val serviceName = CrashReportsFeature.serviceName assertThat(clientToken).isEqualTo(fakeConfig.clientToken) assertThat(endpointUrl).isEqualTo(fakeConfig.endpointUrl) - assertThat(serviceName).isEqualTo(fakeConfig.serviceName) } @Test @@ -219,13 +218,11 @@ internal class CrashReportsFeatureTest { val uploader = CrashReportsFeature.uploader val clientToken = CrashReportsFeature.clientToken val endpointUrl = CrashReportsFeature.endpointUrl - val serviceName = CrashReportsFeature.serviceName fakeConfig = DatadogConfig.FeatureConfig( clientToken = forge.anHexadecimalString(), applicationId = forge.getForgery(), endpointUrl = forge.getForgery().toString(), - serviceName = forge.anAlphabeticalString(), envName = forge.anAlphabeticalString() ) CrashReportsFeature.initialize( @@ -242,12 +239,10 @@ internal class CrashReportsFeatureTest { val uploader2 = CrashReportsFeature.uploader val clientToken2 = CrashReportsFeature.clientToken val endpointUrl2 = CrashReportsFeature.endpointUrl - val serviceName2 = CrashReportsFeature.serviceName assertThat(persistenceStrategy).isSameAs(persistenceStrategy2) assertThat(uploader).isSameAs(uploader2) assertThat(clientToken).isSameAs(clientToken2) assertThat(endpointUrl).isSameAs(endpointUrl2) - assertThat(serviceName).isSameAs(serviceName2) } } diff --git a/dd-sdk-android/src/test/kotlin/com/datadog/android/log/LoggerBuilderTest.kt b/dd-sdk-android/src/test/kotlin/com/datadog/android/log/LoggerBuilderTest.kt index e1461e6322..e97d09fa7c 100644 --- a/dd-sdk-android/src/test/kotlin/com/datadog/android/log/LoggerBuilderTest.kt +++ b/dd-sdk-android/src/test/kotlin/com/datadog/android/log/LoggerBuilderTest.kt @@ -9,8 +9,8 @@ package com.datadog.android.log import android.content.Context import android.util.Log as AndroidLog import com.datadog.android.Datadog +import com.datadog.android.core.internal.CoreFeature import com.datadog.android.core.internal.sampling.RateBasedSampler -import com.datadog.android.log.internal.LogsFeature import com.datadog.android.log.internal.logger.CombinedLogHandler import com.datadog.android.log.internal.logger.DatadogLogHandler import com.datadog.android.log.internal.logger.LogHandler @@ -90,7 +90,7 @@ internal class LoggerBuilderTest { .build() val handler: DatadogLogHandler = logger.getFieldValue("handler") - assertThat(handler.serviceName).isEqualTo(LogsFeature.serviceName) + assertThat(handler.serviceName).isEqualTo(CoreFeature.serviceName) assertThat(handler.loggerName).isEqualTo(packageName) assertThat(handler.networkInfoProvider).isNull() assertThat(handler.timeProvider).isNotNull() diff --git a/dd-sdk-android/src/test/kotlin/com/datadog/android/log/internal/LogsFeatureTest.kt b/dd-sdk-android/src/test/kotlin/com/datadog/android/log/internal/LogsFeatureTest.kt index 7841275b65..49c3572a9e 100644 --- a/dd-sdk-android/src/test/kotlin/com/datadog/android/log/internal/LogsFeatureTest.kt +++ b/dd-sdk-android/src/test/kotlin/com/datadog/android/log/internal/LogsFeatureTest.kt @@ -9,6 +9,7 @@ package com.datadog.android.log.internal import android.app.Application import com.datadog.android.Datadog import com.datadog.android.DatadogConfig +import com.datadog.android.core.internal.CoreFeature import com.datadog.android.core.internal.data.upload.DataUploadScheduler import com.datadog.android.core.internal.domain.AsyncWriterFilePersistenceStrategy import com.datadog.android.core.internal.net.info.NetworkInfoProvider @@ -51,12 +52,16 @@ internal class LogsFeatureTest { @Mock lateinit var mockNetworkInfoProvider: NetworkInfoProvider + @Mock lateinit var mockSystemInfoProvider: SystemInfoProvider + @Mock lateinit var mockOkHttpClient: OkHttpClient + @Mock lateinit var mockScheduledThreadPoolExecutor: ScheduledThreadPoolExecutor + @Mock lateinit var mockPersistenceExecutorService: ExecutorService @@ -74,7 +79,6 @@ internal class LogsFeatureTest { clientToken = forge.anHexadecimalString(), applicationId = forge.getForgery(), endpointUrl = forge.getForgery().toString(), - serviceName = forge.anAlphabeticalString(), envName = forge.anAlphabeticalString() ) @@ -89,6 +93,7 @@ internal class LogsFeatureTest { @AfterEach fun `tear down`() { LogsFeature.stop() + CoreFeature.stop() } @Test @@ -141,11 +146,9 @@ internal class LogsFeatureTest { val clientToken = LogsFeature.clientToken val endpointUrl = LogsFeature.endpointUrl - val serviceName = LogsFeature.serviceName assertThat(clientToken).isEqualTo(fakeConfig.clientToken) assertThat(endpointUrl).isEqualTo(fakeConfig.endpointUrl) - assertThat(serviceName).isEqualTo(fakeConfig.serviceName) } @Test @@ -164,13 +167,11 @@ internal class LogsFeatureTest { val dataUploadScheduler = LogsFeature.dataUploadScheduler val clientToken = LogsFeature.clientToken val endpointUrl = LogsFeature.endpointUrl - val serviceName = LogsFeature.serviceName fakeConfig = DatadogConfig.FeatureConfig( clientToken = forge.anHexadecimalString(), applicationId = forge.getForgery(), endpointUrl = forge.getForgery().toString(), - serviceName = forge.anAlphabeticalString(), envName = forge.anAlphabeticalString() ) LogsFeature.initialize( @@ -186,12 +187,10 @@ internal class LogsFeatureTest { val dataUploadScheduler2 = LogsFeature.dataUploadScheduler val clientToken2 = LogsFeature.clientToken val endpointUrl2 = LogsFeature.endpointUrl - val serviceName2 = LogsFeature.serviceName assertThat(persistenceStrategy).isSameAs(persistenceStrategy2) assertThat(dataUploadScheduler).isSameAs(dataUploadScheduler2) assertThat(clientToken).isSameAs(clientToken2) assertThat(endpointUrl).isSameAs(endpointUrl2) - assertThat(serviceName).isSameAs(serviceName2) } } diff --git a/dd-sdk-android/src/test/kotlin/com/datadog/android/rum/assertj/RumConfigAssert.kt b/dd-sdk-android/src/test/kotlin/com/datadog/android/rum/assertj/RumConfigAssert.kt index c099279973..65bda13cfc 100644 --- a/dd-sdk-android/src/test/kotlin/com/datadog/android/rum/assertj/RumConfigAssert.kt +++ b/dd-sdk-android/src/test/kotlin/com/datadog/android/rum/assertj/RumConfigAssert.kt @@ -55,16 +55,6 @@ internal class RumConfigAssert(actual: DatadogConfig.RumConfig) : return this } - fun hasServiceName(serviceName: String): RumConfigAssert { - assertThat(actual.serviceName) - .overridingErrorMessage( - "Expected event to have service name $serviceName" + - " but was ${actual.serviceName}" - ) - .isEqualTo(serviceName) - return this - } - fun hasEnvName(envName: String): RumConfigAssert { assertThat(actual.envName) .overridingErrorMessage( diff --git a/dd-sdk-android/src/test/kotlin/com/datadog/android/rum/internal/RumFeatureTest.kt b/dd-sdk-android/src/test/kotlin/com/datadog/android/rum/internal/RumFeatureTest.kt index 962a37e1e5..efbe9bc5b0 100644 --- a/dd-sdk-android/src/test/kotlin/com/datadog/android/rum/internal/RumFeatureTest.kt +++ b/dd-sdk-android/src/test/kotlin/com/datadog/android/rum/internal/RumFeatureTest.kt @@ -9,6 +9,7 @@ package com.datadog.android.rum.internal import android.app.Application import com.datadog.android.Datadog import com.datadog.android.DatadogConfig +import com.datadog.android.core.internal.CoreFeature import com.datadog.android.core.internal.data.upload.DataUploadScheduler import com.datadog.android.core.internal.domain.AsyncWriterFilePersistenceStrategy import com.datadog.android.core.internal.net.info.NetworkInfoProvider @@ -90,7 +91,6 @@ internal class RumFeatureTest { clientToken = forge.anHexadecimalString(), applicationId = forge.getForgery(), endpointUrl = forge.getForgery().toString(), - serviceName = forge.anAlphabeticalString(), envName = forge.anAlphabeticalString() ) @@ -105,6 +105,7 @@ internal class RumFeatureTest { @AfterEach fun `tear down`() { RumFeature.stop() + CoreFeature.stop() } @Test @@ -194,11 +195,9 @@ internal class RumFeatureTest { val clientToken = RumFeature.clientToken val endpointUrl = RumFeature.endpointUrl - val serviceName = RumFeature.serviceName assertThat(clientToken).isEqualTo(fakeConfig.clientToken) assertThat(endpointUrl).isEqualTo(fakeConfig.endpointUrl) - assertThat(serviceName).isEqualTo(fakeConfig.serviceName) } @Test @@ -218,14 +217,12 @@ internal class RumFeatureTest { val dataUploadScheduler = RumFeature.dataUploadScheduler val clientToken = RumFeature.clientToken val endpointUrl = RumFeature.endpointUrl - val serviceName = RumFeature.serviceName val userInfoProvider = RumFeature.userInfoProvider fakeConfig = DatadogConfig.RumConfig( clientToken = forge.anHexadecimalString(), applicationId = forge.getForgery(), endpointUrl = forge.getForgery().toString(), - serviceName = forge.anAlphabeticalString(), envName = forge.anAlphabeticalString(), userActionTrackingStrategy = mock(), viewTrackingStrategy = mock() @@ -244,13 +241,11 @@ internal class RumFeatureTest { val dataUploadScheduler2 = RumFeature.dataUploadScheduler val clientToken2 = RumFeature.clientToken val endpointUrl2 = RumFeature.endpointUrl - val serviceName2 = RumFeature.serviceName assertThat(persistenceStrategy).isSameAs(persistenceStrategy2) assertThat(dataUploadScheduler).isSameAs(dataUploadScheduler2) assertThat(clientToken).isSameAs(clientToken2) assertThat(endpointUrl).isSameAs(endpointUrl2) - assertThat(serviceName).isSameAs(serviceName2) assertThat(userInfoProvider).isSameAs(RumFeature.userInfoProvider) } diff --git a/dd-sdk-android/src/test/kotlin/com/datadog/android/tracing/internal/AndroidTracerTest.kt b/dd-sdk-android/src/test/kotlin/com/datadog/android/tracing/internal/AndroidTracerTest.kt index ce7dbcfc98..0782c3a8bd 100644 --- a/dd-sdk-android/src/test/kotlin/com/datadog/android/tracing/internal/AndroidTracerTest.kt +++ b/dd-sdk-android/src/test/kotlin/com/datadog/android/tracing/internal/AndroidTracerTest.kt @@ -8,6 +8,7 @@ package com.datadog.android.tracing.internal import android.app.Application import com.datadog.android.Datadog +import com.datadog.android.core.internal.CoreFeature import com.datadog.android.log.LogAttributes import com.datadog.android.rum.GlobalRum import com.datadog.android.rum.RumMonitor @@ -186,7 +187,7 @@ internal class AndroidTracerTest { val properties = underTest.properties() assertThat(tracer).isNotNull() val span = tracer.buildSpan(forge.anAlphabeticalString()).start() as DDSpan - assertThat(span.serviceName).isEqualTo(TracesFeature.serviceName) + assertThat(span.serviceName).isEqualTo(CoreFeature.serviceName) assertThat(properties.getProperty(Config.PARTIAL_FLUSH_MIN_SPANS).toInt()) .isEqualTo(AndroidTracer.DEFAULT_PARTIAL_MIN_FLUSH) } diff --git a/dd-sdk-android/src/test/kotlin/com/datadog/android/tracing/internal/TracesFeatureTest.kt b/dd-sdk-android/src/test/kotlin/com/datadog/android/tracing/internal/TracesFeatureTest.kt index 8bcea30858..f03ea7ebb4 100644 --- a/dd-sdk-android/src/test/kotlin/com/datadog/android/tracing/internal/TracesFeatureTest.kt +++ b/dd-sdk-android/src/test/kotlin/com/datadog/android/tracing/internal/TracesFeatureTest.kt @@ -9,6 +9,7 @@ package com.datadog.android.tracing.internal import android.app.Application import com.datadog.android.Datadog import com.datadog.android.DatadogConfig +import com.datadog.android.core.internal.CoreFeature import com.datadog.android.core.internal.data.upload.DataUploadScheduler import com.datadog.android.core.internal.domain.AsyncWriterFilePersistenceStrategy import com.datadog.android.core.internal.net.info.NetworkInfoProvider @@ -87,7 +88,6 @@ internal class TracesFeatureTest { clientToken = forge.anHexadecimalString(), applicationId = forge.getForgery(), endpointUrl = forge.getForgery().toString(), - serviceName = forge.anAlphabeticalString(), envName = forge.anAlphabeticalString() ) @@ -102,6 +102,7 @@ internal class TracesFeatureTest { @AfterEach fun `tear down`() { TracesFeature.stop() + CoreFeature.stop() } @Test @@ -185,11 +186,9 @@ internal class TracesFeatureTest { val clientToken = TracesFeature.clientToken val endpointUrl = TracesFeature.endpointUrl - val serviceName = TracesFeature.serviceName assertThat(clientToken).isEqualTo(fakeConfig.clientToken) assertThat(endpointUrl).isEqualTo(fakeConfig.endpointUrl) - assertThat(serviceName).isEqualTo(fakeConfig.serviceName) } @Test @@ -210,13 +209,11 @@ internal class TracesFeatureTest { val dataUploadScheduler = TracesFeature.dataUploadScheduler val clientToken = TracesFeature.clientToken val endpointUrl = TracesFeature.endpointUrl - val serviceName = TracesFeature.serviceName fakeConfig = DatadogConfig.FeatureConfig( clientToken = forge.anHexadecimalString(), applicationId = forge.getForgery(), endpointUrl = forge.getForgery().toString(), - serviceName = forge.anAlphabeticalString(), envName = forge.anAlphabeticalString() ) TracesFeature.initialize( @@ -234,12 +231,10 @@ internal class TracesFeatureTest { val dataUploadScheduler2 = TracesFeature.dataUploadScheduler val clientToken2 = TracesFeature.clientToken val endpointUrl2 = TracesFeature.endpointUrl - val serviceName2 = TracesFeature.serviceName assertThat(persistenceStrategy).isSameAs(persistenceStrategy2) assertThat(dataUploadScheduler).isSameAs(dataUploadScheduler2) assertThat(clientToken).isSameAs(clientToken2) assertThat(endpointUrl).isSameAs(endpointUrl2) - assertThat(serviceName).isSameAs(serviceName2) } } diff --git a/dd-sdk-android/src/test/kotlin/com/datadog/android/utils/forge/FeatureConfigForgeryFactory.kt b/dd-sdk-android/src/test/kotlin/com/datadog/android/utils/forge/FeatureConfigForgeryFactory.kt index 51f5adcc90..22f9ff62eb 100644 --- a/dd-sdk-android/src/test/kotlin/com/datadog/android/utils/forge/FeatureConfigForgeryFactory.kt +++ b/dd-sdk-android/src/test/kotlin/com/datadog/android/utils/forge/FeatureConfigForgeryFactory.kt @@ -18,7 +18,6 @@ internal class FeatureConfigForgeryFactory : clientToken = forge.anHexadecimalString(), applicationId = forge.getForgery(), endpointUrl = forge.getForgery().toString(), - serviceName = forge.anAlphabeticalString(), envName = forge.anAlphabeticalString() ) } diff --git a/instrumented/integration/src/androidTest/kotlin/com/datadog/android/sdk/integration/log/EndToEndLogTest.kt b/instrumented/integration/src/androidTest/kotlin/com/datadog/android/sdk/integration/log/EndToEndLogTest.kt index 106fe81b69..1881d10f15 100644 --- a/instrumented/integration/src/androidTest/kotlin/com/datadog/android/sdk/integration/log/EndToEndLogTest.kt +++ b/instrumented/integration/src/androidTest/kotlin/com/datadog/android/sdk/integration/log/EndToEndLogTest.kt @@ -70,7 +70,7 @@ internal class EndToEndLogTest { assertThat(log) .hasField(TAG_STATUS, levels[m.first]) .hasField(TAG_MESSAGE, m.second) - .hasField(TAG_SERVICE, "android") + .hasField(TAG_SERVICE, mockServerRule.activity.packageName) .hasField(TAG_LOGGER_NAME, expectedLoggerName()) .hasField(TAG_VERSION_NAME, com.datadog.android.BuildConfig.VERSION_NAME) .hasField(TAG_APP_VERSION_NAME, BuildConfig.VERSION_NAME) @@ -109,8 +109,8 @@ internal class EndToEndLogTest { return System.getProperty("http.agent").let { if (it.isNullOrBlank()) { "Datadog/${BuildConfig.VERSION_NAME} " + - "(Linux; U; Android ${Build.VERSION.RELEASE}; " + - "${Build.MODEL} Build/${Build.ID})" + "(Linux; U; Android ${Build.VERSION.RELEASE}; " + + "${Build.MODEL} Build/${Build.ID})" } else { it }