* fix fileutils.TestFindFile on MacOS

* introduce model.ExternalServiceEnvironment

* pick license public key from external service env

* pick Stripe public key from external service env

* pick Rudder key from external service env

* configure Sentry DSN from external service env

* always log external_service_environment, Unsetenv

* clear faked BuildEnv, improve logging

* strip out unset GOTAGS

* fix Sentry tests

* simplify to just ServiceEnvironment

* relocate ServiceEnvironment in client config

* initialize CWS URLs based on service environment

* unset rudder key for boards dev

* harden service environment to avoid accidental production

* fix TestSentry again

* fix DEFAULT -> ENTERPRISE

* s/dev/test when naming playbooks rudder key

* simplify boards rudder key switch

* use uniform rudderKey variable names

* retain compatibility with existing pipeline

* reduce to just production/test

* unit test with valid test license

* simplify Playbooks telemetry initialization

* restore dev service environment

* emit ServiceEnvironment when running e2e tests
Этот коммит содержится в:
Jesse Hallam
2023-06-07 10:15:33 -03:00
коммит произвёл GitHub
родитель 6c82605df0
Коммит 305fac6507
37 изменённых файлов: 552 добавлений и 304 удалений

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

@@ -31,8 +31,15 @@ const (
DBAccessAttempts = 3
DBAccessTimeoutSecs = 10
RudderKey = "placeholder_rudder_key"
RudderDataplaneURL = "placeholder_rudder_dataplane_url"
rudderDataplaneURL = "https://pdat.matterlytics.com"
rudderKeyProd = "1aoejPqhgONMI720CsBSRWzzRQ9"
rudderKeyTest = "1aoeoCDeh7OCHcbW2kseWlwUFyq"
// These are placeholders to allow the existing release pipelines to run without failing to
// insert the values that are now hard-coded above. Remove this once we converge on the
// unified delivery pipeline in GitHub.
_ = "placeholder_rudder_dataplane_url"
_ = "placeholder_rudder_key"
EnvVarInstallType = "MM_INSTALL_TYPE"
@@ -156,13 +163,21 @@ func (ts *TelemetryService) ensureTelemetryID() error {
}
func (ts *TelemetryService) getRudderConfig() RudderConfig {
if !strings.Contains(RudderKey, "placeholder") && !strings.Contains(RudderDataplaneURL, "placeholder") {
return RudderConfig{RudderKey, RudderDataplaneURL}
} else if os.Getenv("RudderKey") != "" && os.Getenv("RudderDataplaneURL") != "" {
// Support unit testing
if os.Getenv("RudderKey") != "" && os.Getenv("RudderDataplaneURL") != "" {
return RudderConfig{os.Getenv("RudderKey"), os.Getenv("RudderDataplaneURL")}
} else {
return RudderConfig{}
}
rudderKey := ""
switch model.GetServiceEnvironment() {
case model.ServiceEnvironmentProduction:
rudderKey = rudderKeyProd
case model.ServiceEnvironmentTest:
rudderKey = rudderKeyTest
case model.ServiceEnvironmentDev:
}
return RudderConfig{rudderKey, rudderDataplaneURL}
}
func (ts *TelemetryService) telemetryEnabled() bool {
@@ -1333,7 +1348,7 @@ func (ts *TelemetryService) initRudder(endpoint string, rudderKey string) {
config.Endpoint = endpoint
config.Verbose = ts.verbose
// For testing
if endpoint != RudderDataplaneURL {
if endpoint != rudderDataplaneURL {
config.BatchSize = 1
}
client, err := rudder.NewWithConfig(rudderKey, endpoint, config)

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

@@ -13,7 +13,6 @@ import (
"net/http"
"net/http/httptest"
"os"
"strings"
"testing"
"time"
@@ -124,7 +123,7 @@ func makeTelemetryServiceAndReceiver(t *testing.T, cloudLicense bool) (*Telemetr
service.TelemetryID = testTelemetryID
service.rudderClient = nil
service.initRudder(receiver.URL, RudderKey)
service.initRudder(receiver.URL, "")
// initializing rudder send a client identify message
select {
@@ -340,6 +339,10 @@ func TestEnsureTelemetryID(t *testing.T) {
})
t.Run("fail to save test ID", func(t *testing.T) {
if testing.Short() {
t.Skip("skipping test in short mode.")
}
storeMock := &storeMocks.Store{}
systemStore := storeMocks.SystemStore{}
@@ -579,9 +582,6 @@ func TestRudderTelemetry(t *testing.T) {
})
t.Run("SendDailyTelemetryNoRudderKey", func(t *testing.T) {
if !strings.Contains(RudderKey, "placeholder") {
t.Skipf("Skipping telemetry on production builds")
}
service.sendDailyTelemetry(false)
select {
@@ -593,9 +593,6 @@ func TestRudderTelemetry(t *testing.T) {
})
t.Run("SendDailyTelemetryNonCloud", func(t *testing.T) {
if !strings.Contains(RudderKey, "placeholder") {
t.Skipf("Skipping telemetry on production builds")
}
service.sendDailyTelemetry(true)
var batches []testBatch
@@ -618,9 +615,6 @@ func TestRudderTelemetry(t *testing.T) {
})
t.Run("SendDailyTelemetryDisabled", func(t *testing.T) {
if !strings.Contains(RudderKey, "placeholder") {
t.Skipf("Skipping telemetry on production builds")
}
*cfg.LogSettings.EnableDiagnostics = false
defer func() {
*cfg.LogSettings.EnableDiagnostics = true
@@ -663,9 +657,6 @@ func TestRudderTelemetry(t *testing.T) {
})
t.Run("RudderConfigUsesConfigForValues", func(t *testing.T) {
if !strings.Contains(RudderKey, "placeholder") {
t.Skipf("Skipping telemetry on production builds")
}
os.Setenv("RudderKey", "abc123")
os.Setenv("RudderDataplaneURL", "arudderstackplace")
defer os.Unsetenv("RudderKey")
@@ -679,9 +670,6 @@ func TestRudderTelemetry(t *testing.T) {
}
func TestRudderTelemetryCloud(t *testing.T) {
if !strings.Contains(RudderKey, "placeholder") {
t.Skipf("Skipping telemetry on production builds")
}
if testing.Short() {
t.SkipNow()
}