MM-32047:Added AppCustomURLSchemes settings to telemetry (#16796)

* Added AppCustomURLSchemes to telemetry

* Added Slices compare check isDefault function

* Replaced reflect based solution for comparing string slices

* added default array

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Этот коммит содержится в:
Anurag Shivarathri
2021-02-09 21:24:28 +05:30
коммит произвёл GitHub
родитель fbe0294e86
Коммит 0abceccb58
2 изменённых файлов: 19 добавлений и 0 удалений

Просмотреть файл

@@ -182,6 +182,18 @@ func (ts *TelemetryService) sendTelemetry(event string, properties map[string]in
}
}
func isDefaultArray(setting, defaultValue []string) bool {
if len(setting) != len(defaultValue) {
return false
}
for i := 0; i < len(setting); i++ {
if setting[i] != defaultValue[i] {
return false
}
}
return true
}
func isDefault(setting interface{}, defaultValue interface{}) bool {
return setting == defaultValue
}
@@ -698,6 +710,7 @@ func (ts *TelemetryService) trackConfig() {
})
ts.sendTelemetry(TrackConfigNativeApp, map[string]interface{}{
"isdefault_app_custom_url_schemes": isDefaultArray(cfg.NativeAppSettings.AppCustomURLSchemes, model.GetDefaultAppCustomURLSchemes()),
"isdefault_app_download_link": isDefault(*cfg.NativeAppSettings.AppDownloadLink, model.NATIVEAPP_SETTINGS_DEFAULT_APP_DOWNLOAD_LINK),
"isdefault_android_app_download_link": isDefault(*cfg.NativeAppSettings.AndroidAppDownloadLink, model.NATIVEAPP_SETTINGS_DEFAULT_ANDROID_APP_DOWNLOAD_LINK),
"isdefault_iosapp_download_link": isDefault(*cfg.NativeAppSettings.IosAppDownloadLink, model.NATIVEAPP_SETTINGS_DEFAULT_IOS_APP_DOWNLOAD_LINK),

Просмотреть файл

@@ -528,3 +528,9 @@ func TestRudderTelemetry(t *testing.T) {
assert.Equal(t, "abc123", config.RudderKey)
})
}
func TestIsDefaultArray(t *testing.T) {
assert.True(t, isDefaultArray([]string{"one", "two"}, []string{"one", "two"}))
assert.False(t, isDefaultArray([]string{"one", "two"}, []string{"one", "two", "three"}))
assert.False(t, isDefaultArray([]string{"one", "two"}, []string{"one", "three"}))
}