Skip to content

Commit adc4ea3

Browse files
committed
RUM-8098: supporting values + tests
1 parent 2273270 commit adc4ea3

File tree

4 files changed

+90
-38
lines changed

4 files changed

+90
-38
lines changed

features/dd-sdk-android-rum/src/main/kotlin/com/datadog/android/telemetry/internal/TelemetryEventHandler.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,9 @@ internal class TelemetryEventHandler(
367367
textAndInputPrivacyLevel = sessionReplayTextAndInputPrivacy,
368368
startRecordingImmediately = startRecordingImmediately,
369369
batchProcessingLevel = event.batchProcessingLevel.toLong(),
370-
isMainProcess = datadogContext.processInfo.isMainProcess
370+
isMainProcess = datadogContext.processInfo.isMainProcess,
371+
invTimeThresholdMs = invTimeBasedThreshold,
372+
tnsTimeThresholdMs = tnsTimeBasedThreshold
371373
)
372374
)
373375
)

features/dd-sdk-android-rum/src/test/kotlin/com/datadog/android/rum/utils/forge/ConfigurationRumForgeryFactory.kt

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ package com.datadog.android.rum.utils.forge
88

99
import com.datadog.android.rum.configuration.VitalsUpdateFrequency
1010
import com.datadog.android.rum.internal.RumFeature
11+
import com.datadog.android.rum.metric.interactiontonextview.NoOpLastInteractionIdentifier
12+
import com.datadog.android.rum.metric.interactiontonextview.TimeBasedInteractionIdentifier
13+
import com.datadog.android.rum.metric.networksettled.NoOpInitialResourceIdentifier
14+
import com.datadog.android.rum.metric.networksettled.TimeBasedInitialResourceIdentifier
1115
import com.datadog.android.rum.tracking.ActivityViewTrackingStrategy
1216
import com.datadog.android.rum.tracking.FragmentViewTrackingStrategy
1317
import com.datadog.android.rum.tracking.MixedViewTrackingStrategy
@@ -48,8 +52,18 @@ internal class ConfigurationRumForgeryFactory :
4852
vitalsMonitorUpdateFrequency = forge.aValueFrom(VitalsUpdateFrequency::class.java),
4953
sessionListener = mock(),
5054
additionalConfig = forge.aMap { aString() to aString() },
51-
initialResourceIdentifier = mock(),
52-
lastInteractionIdentifier = mock(),
55+
initialResourceIdentifier = forge.anElementFrom(
56+
NoOpInitialResourceIdentifier(),
57+
TimeBasedInitialResourceIdentifier(
58+
timeThresholdInMilliseconds = forge.aLong(min = 1)
59+
)
60+
),
61+
lastInteractionIdentifier = forge.anElementFrom(
62+
NoOpLastInteractionIdentifier(),
63+
TimeBasedInteractionIdentifier(
64+
timeThresholdInMilliseconds = forge.aLong(min = 1)
65+
)
66+
),
5367
trackAnonymousUser = forge.aBool()
5468
)
5569
}

features/dd-sdk-android-rum/src/test/kotlin/com/datadog/android/telemetry/assertj/TelemetryConfigurationEventAssert.kt

Lines changed: 55 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
104104
assertThat(actual.telemetry.configuration.sessionSampleRate)
105105
.overridingErrorMessage(
106106
"Expected event data to have telemetry.configuration.sessionSampleRate $expected " +
107-
"but was ${actual.telemetry.configuration.sessionSampleRate}"
107+
"but was ${actual.telemetry.configuration.sessionSampleRate}"
108108
)
109109
.isEqualTo(expected)
110110
return this
@@ -114,7 +114,7 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
114114
assertThat(actual.telemetry.configuration.telemetrySampleRate)
115115
.overridingErrorMessage(
116116
"Expected event data to have telemetry.configuration.telemetrySampleRate $expected " +
117-
"but was ${actual.telemetry.configuration.telemetrySampleRate}"
117+
"but was ${actual.telemetry.configuration.telemetrySampleRate}"
118118
)
119119
.isEqualTo(expected)
120120
return this
@@ -124,7 +124,7 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
124124
assertThat(actual.telemetry.configuration.useProxy)
125125
.overridingErrorMessage(
126126
"Expected event data to have telemetry.configuration.useProxy $expected " +
127-
"but was ${actual.telemetry.configuration.useProxy}"
127+
"but was ${actual.telemetry.configuration.useProxy}"
128128
)
129129
.isEqualTo(expected)
130130
return this
@@ -134,7 +134,7 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
134134
assertThat(actual.telemetry.configuration.trackFrustrations)
135135
.overridingErrorMessage(
136136
"Expected event data to have telemetry.configuration.trackFrustrations $expected " +
137-
"but was ${actual.telemetry.configuration.trackFrustrations}"
137+
"but was ${actual.telemetry.configuration.trackFrustrations}"
138138
)
139139
.isEqualTo(expected)
140140
return this
@@ -144,7 +144,7 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
144144
assertThat(actual.telemetry.configuration.useLocalEncryption)
145145
.overridingErrorMessage(
146146
"Expected event data to have telemetry.configuration.useLocalEncryption $expected " +
147-
"but was ${actual.telemetry.configuration.useLocalEncryption}"
147+
"but was ${actual.telemetry.configuration.useLocalEncryption}"
148148
)
149149
.isEqualTo(expected)
150150
return this
@@ -154,7 +154,7 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
154154
assertThat(actual.telemetry.configuration.viewTrackingStrategy)
155155
.overridingErrorMessage(
156156
"Expected event data to have telemetry.configuration.viewTrackingStrategy $expected " +
157-
"but was ${actual.telemetry.configuration.viewTrackingStrategy}"
157+
"but was ${actual.telemetry.configuration.viewTrackingStrategy}"
158158
)
159159
.isEqualTo(expected)
160160
return this
@@ -164,7 +164,7 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
164164
assertThat(actual.telemetry.configuration.trackBackgroundEvents)
165165
.overridingErrorMessage(
166166
"Expected event data to have telemetry.configuration.trackBackgroundEvents $expected " +
167-
"but was ${actual.telemetry.configuration.trackBackgroundEvents}"
167+
"but was ${actual.telemetry.configuration.trackBackgroundEvents}"
168168
)
169169
.isEqualTo(expected)
170170
return this
@@ -174,7 +174,7 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
174174
assertThat(actual.telemetry.configuration.mobileVitalsUpdatePeriod)
175175
.overridingErrorMessage(
176176
"Expected event data to have telemetry.configuration.mobileVitalsUpdatePeriod $expected " +
177-
"but was ${actual.telemetry.configuration.mobileVitalsUpdatePeriod}"
177+
"but was ${actual.telemetry.configuration.mobileVitalsUpdatePeriod}"
178178
)
179179
.isEqualTo(expected)
180180
return this
@@ -184,7 +184,7 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
184184
assertThat(actual.telemetry.configuration.trackInteractions)
185185
.overridingErrorMessage(
186186
"Expected event data to have telemetry.configuration.trackActions $expected " +
187-
"but was ${actual.telemetry.configuration.trackInteractions}"
187+
"but was ${actual.telemetry.configuration.trackInteractions}"
188188
)
189189
.isEqualTo(expected)
190190
return this
@@ -194,7 +194,7 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
194194
assertThat(actual.telemetry.configuration.trackErrors)
195195
.overridingErrorMessage(
196196
"Expected event data to have telemetry.configuration.trackErrors $expected " +
197-
"but was ${actual.telemetry.configuration.trackErrors}"
197+
"but was ${actual.telemetry.configuration.trackErrors}"
198198
)
199199
.isEqualTo(expected)
200200
return this
@@ -204,7 +204,7 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
204204
assertThat(actual.telemetry.configuration.trackNetworkRequests)
205205
.overridingErrorMessage(
206206
"Expected event data to have telemetry.configuration.trackNetworkRequests $expected " +
207-
"but was ${actual.telemetry.configuration.trackNetworkRequests}"
207+
"but was ${actual.telemetry.configuration.trackNetworkRequests}"
208208
)
209209
.isEqualTo(expected)
210210
return this
@@ -214,7 +214,7 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
214214
assertThat(actual.telemetry.configuration.trackNativeLongTasks)
215215
.overridingErrorMessage(
216216
"Expected event data to have telemetry.configuration.trackNativeLongTasks $expected " +
217-
"but was ${actual.telemetry.configuration.trackNativeLongTasks}"
217+
"but was ${actual.telemetry.configuration.trackNativeLongTasks}"
218218
)
219219
.isEqualTo(expected)
220220
return this
@@ -224,7 +224,7 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
224224
assertThat(actual.telemetry.configuration.useTracing)
225225
.overridingErrorMessage(
226226
"Expected event data to have telemetry.configuration.useTracing $expected " +
227-
"but was ${actual.telemetry.configuration.useTracing}"
227+
"but was ${actual.telemetry.configuration.useTracing}"
228228
)
229229
.isEqualTo(expected)
230230
return this
@@ -234,7 +234,7 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
234234
assertThat(actual.telemetry.configuration.tracerApi)
235235
.overridingErrorMessage(
236236
"Expected event data to have telemetry.configuration.tracerApi $tracerApi " +
237-
"but was ${actual.telemetry.configuration.tracerApi}"
237+
"but was ${actual.telemetry.configuration.tracerApi}"
238238
)
239239
.isEqualTo(tracerApi)
240240
return this
@@ -244,7 +244,7 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
244244
assertThat(actual.telemetry.configuration.tracerApiVersion)
245245
.overridingErrorMessage(
246246
"Expected event data to have telemetry.configuration.tracerApiVersion $tracerApiVersion " +
247-
"but was ${actual.telemetry.configuration.tracerApiVersion}"
247+
"but was ${actual.telemetry.configuration.tracerApiVersion}"
248248
)
249249
.isEqualTo(tracerApiVersion)
250250
return this
@@ -254,7 +254,7 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
254254
assertThat(actual.telemetry.configuration.batchSize)
255255
.overridingErrorMessage(
256256
"Expected event data to have telemetry.configuration.batchSize $expected " +
257-
"but was ${actual.telemetry.configuration.batchSize}"
257+
"but was ${actual.telemetry.configuration.batchSize}"
258258
)
259259
.isEqualTo(expected)
260260
return this
@@ -264,7 +264,7 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
264264
assertThat(actual.telemetry.configuration.batchUploadFrequency)
265265
.overridingErrorMessage(
266266
"Expected event data to have telemetry.configuration.batchUploadFrequency $expected " +
267-
"but was ${actual.telemetry.configuration.batchUploadFrequency}"
267+
"but was ${actual.telemetry.configuration.batchUploadFrequency}"
268268
)
269269
.isEqualTo(expected)
270270
return this
@@ -274,7 +274,7 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
274274
assertThat(actual.telemetry.configuration.batchProcessingLevel)
275275
.overridingErrorMessage(
276276
"Expected event data to have telemetry.configuration.batchProcessingLevel $expected " +
277-
"but was ${actual.telemetry.configuration.batchProcessingLevel}"
277+
"but was ${actual.telemetry.configuration.batchProcessingLevel}"
278278
)
279279
.isEqualTo(expected?.toLong())
280280
return this
@@ -284,7 +284,27 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
284284
assertThat(actual.telemetry.configuration.isMainProcess)
285285
.overridingErrorMessage(
286286
"Expected event data to have telemetry.configuration.isMainProcess $expected " +
287-
"but was ${actual.telemetry.configuration.isMainProcess}"
287+
"but was ${actual.telemetry.configuration.isMainProcess}"
288+
)
289+
.isEqualTo(expected)
290+
return this
291+
}
292+
293+
fun hasTnsTimeBasedThreshold(expected: Long?): TelemetryConfigurationEventAssert {
294+
assertThat(actual.telemetry.configuration.tnsTimeThresholdMs)
295+
.overridingErrorMessage(
296+
"Expected event data to have telemetry.configuration.tnsTimeThresholdMs $expected " +
297+
"but was ${actual.telemetry.configuration.tnsTimeThresholdMs}"
298+
)
299+
.isEqualTo(expected)
300+
return this
301+
}
302+
303+
fun hasInvTimeBasedThreshold(expected: Long?): TelemetryConfigurationEventAssert {
304+
assertThat(actual.telemetry.configuration.invTimeThresholdMs)
305+
.overridingErrorMessage(
306+
"Expected event data to have telemetry.configuration.invTimeThresholdMs $expected " +
307+
"but was ${actual.telemetry.configuration.invTimeThresholdMs}"
288308
)
289309
.isEqualTo(expected)
290310
return this
@@ -298,7 +318,7 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
298318
assertThat(actual.telemetry.configuration.trackNativeViews)
299319
.overridingErrorMessage(
300320
"Expected event data to have telemetry.configuration.trackNativeViews $expected " +
301-
"but was ${actual.telemetry.configuration.trackNativeViews}"
321+
"but was ${actual.telemetry.configuration.trackNativeViews}"
302322
)
303323
.isEqualTo(expected)
304324
return this
@@ -308,7 +328,7 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
308328
assertThat(actual.telemetry.configuration.trackNativeErrors)
309329
.overridingErrorMessage(
310330
"Expected event data to have telemetry.configuration.trackNativeErrors $expected " +
311-
"but was ${actual.telemetry.configuration.trackNativeErrors}"
331+
"but was ${actual.telemetry.configuration.trackNativeErrors}"
312332
)
313333
.isEqualTo(expected)
314334
return this
@@ -318,7 +338,7 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
318338
assertThat(actual.telemetry.configuration.useFirstPartyHosts)
319339
.overridingErrorMessage(
320340
"Expected event data to have telemetry.configuration.useFirstPartyHosts $expected " +
321-
"but was ${actual.telemetry.configuration.useFirstPartyHosts}"
341+
"but was ${actual.telemetry.configuration.useFirstPartyHosts}"
322342
)
323343
.isEqualTo(expected)
324344
return this
@@ -328,7 +348,7 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
328348
assertThat(actual.telemetry.configuration.trackFlutterPerformance)
329349
.overridingErrorMessage(
330350
"Expected event data to have telemetry.configuration.trackFlutterPerformance $expected " +
331-
"but was ${actual.telemetry.configuration.trackFlutterPerformance}"
351+
"but was ${actual.telemetry.configuration.trackFlutterPerformance}"
332352
)
333353
.isEqualTo(expected)
334354
return this
@@ -338,7 +358,7 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
338358
assertThat(actual.telemetry.configuration.initializationType)
339359
.overridingErrorMessage(
340360
"Expected event data to have telemetry.configuration.initializationType $expected " +
341-
"but was ${actual.telemetry.configuration.initializationType}"
361+
"but was ${actual.telemetry.configuration.initializationType}"
342362
)
343363
.isEqualTo(expected)
344364
return this
@@ -352,8 +372,8 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
352372
assertThat(actual.telemetry.configuration.sessionReplaySampleRate)
353373
.overridingErrorMessage(
354374
"Expected event data to have telemetry.configuration.sessionReplaySampleRate" +
355-
" $expected " +
356-
"but was ${actual.telemetry.configuration.sessionReplaySampleRate}"
375+
" $expected " +
376+
"but was ${actual.telemetry.configuration.sessionReplaySampleRate}"
357377
)
358378
.isEqualTo(expected)
359379
return this
@@ -363,8 +383,8 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
363383
assertThat(actual.telemetry.configuration.imagePrivacyLevel)
364384
.overridingErrorMessage(
365385
"Expected event data to have telemetry.configuration.imagePrivacyLevel" +
366-
" $expected " +
367-
"but was ${actual.telemetry.configuration.imagePrivacyLevel}"
386+
" $expected " +
387+
"but was ${actual.telemetry.configuration.imagePrivacyLevel}"
368388
)
369389
.isEqualTo(expected)
370390
return this
@@ -374,8 +394,8 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
374394
assertThat(actual.telemetry.configuration.touchPrivacyLevel)
375395
.overridingErrorMessage(
376396
"Expected event data to have telemetry.configuration.touchPrivacyLevel" +
377-
" $expected " +
378-
"but was ${actual.telemetry.configuration.touchPrivacyLevel}"
397+
" $expected " +
398+
"but was ${actual.telemetry.configuration.touchPrivacyLevel}"
379399
)
380400
.isEqualTo(expected)
381401
return this
@@ -385,18 +405,18 @@ internal class TelemetryConfigurationEventAssert(actual: TelemetryConfigurationE
385405
assertThat(actual.telemetry.configuration.textAndInputPrivacyLevel)
386406
.overridingErrorMessage(
387407
"Expected event data to have telemetry.configuration.textAndInputPrivacyLevel" +
388-
" $expected " +
389-
"but was ${actual.telemetry.configuration.textAndInputPrivacyLevel}"
408+
" $expected " +
409+
"but was ${actual.telemetry.configuration.textAndInputPrivacyLevel}"
390410
)
391411
.isEqualTo(expected)
392412
return this
393413
}
394414

395415
fun hasStartRecordingImmediately(expected: Boolean?): TelemetryConfigurationEventAssert {
396416
val assertErrorMessage = "Expected event data to have" +
397-
" telemetry.configuration.startRecordingImmediately" +
398-
" $expected " +
399-
"but was ${actual.telemetry.configuration.startRecordingImmediately}"
417+
" telemetry.configuration.startRecordingImmediately" +
418+
" $expected " +
419+
"but was ${actual.telemetry.configuration.startRecordingImmediately}"
400420
assertThat(actual.telemetry.configuration.startRecordingImmediately)
401421
.overridingErrorMessage(assertErrorMessage)
402422
.isEqualTo(expected)

0 commit comments

Comments
 (0)