For #25602: Lowercase search engine id when recording telemetry

This commit is contained in:
Mugurell 2022-08-11 15:48:20 +03:00 committed by mergify[bot]
parent c268161311
commit e74742a3e6
2 changed files with 20 additions and 1 deletions

View File

@ -42,7 +42,7 @@ object MetricsUtils {
isDefault: Boolean,
searchAccessPoint: Source
) {
val identifier = if (engine.type == SearchEngine.Type.CUSTOM) "custom" else engine.id
val identifier = if (engine.type == SearchEngine.Type.CUSTOM) "custom" else engine.id.lowercase()
val source = searchAccessPoint.name.lowercase()
Metrics.searchCount["$identifier.$source"].add()

View File

@ -210,6 +210,25 @@ class MetricsUtilsTestRobolectric {
assertNotNull(Metrics.searchCount["$ENGINE_SOURCE_IDENTIFIER.widget"].testGetValue())
}
@Test
fun `given a BUNDLED engine with an uppercase id, when recording a new search with that engine then record using lowercase`() {
val searchEngineId = "Uppercase-Id"
assertNull(Metrics.searchCount["$searchEngineId.widget"].testGetValue())
val engine: SearchEngine = mockk(relaxed = true)
every { engine.id } returns searchEngineId
every { engine.type } returns SearchEngine.Type.BUNDLED
MetricsUtils.recordSearchMetrics(
engine,
false,
MetricsUtils.Source.WIDGET
)
assertNotNull(Metrics.searchCount["${searchEngineId.lowercase()}.widget"].testGetValue())
}
@Test
fun `given a DEFAULT engine, when the search source is a WIDGET the proper labeled metric is recorded`() {
assertNull(Events.performedSearch.testGetValue())