From 0abceccb589e13038e9e1c0818fee85d3509964e Mon Sep 17 00:00:00 2001 From: Anurag Shivarathri Date: Tue, 9 Feb 2021 21:24:28 +0530 Subject: [PATCH] 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 --- services/telemetry/telemetry.go | 13 +++++++++++++ services/telemetry/telemetry_test.go | 6 ++++++ 2 files changed, 19 insertions(+) diff --git a/services/telemetry/telemetry.go b/services/telemetry/telemetry.go index bea38fbbbe..950f5e99bd 100644 --- a/services/telemetry/telemetry.go +++ b/services/telemetry/telemetry.go @@ -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), diff --git a/services/telemetry/telemetry_test.go b/services/telemetry/telemetry_test.go index d299c25b61..dfc990d72d 100644 --- a/services/telemetry/telemetry_test.go +++ b/services/telemetry/telemetry_test.go @@ -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"})) +}