MCPcopy
hub / github.com/grafana/tempo / TestExpandEnvOverrides

Function TestExpandEnvOverrides

modules/overrides/runtime_config_overrides_test.go:576–622  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

574}
575
576func TestExpandEnvOverrides(t *testing.T) {
577 const envVar = "TOKEN"
578 cfg := Config{
579 Defaults: Overrides{
580 MetricsGenerator: MetricsGeneratorOverrides{
581 RemoteWriteHeaders: map[string]config.Secret{
582 "Authorization": "Bearer token",
583 },
584 },
585 },
586 ExpandEnv: true,
587 }
588 // Set the ORG_ID env var
589 require.NoError(t, os.Setenv(envVar, "super-secret-token"))
590 t.Cleanup(func() {
591 require.NoError(t, os.Unsetenv(envVar))
592 })
593
594 perTenantOverrides := fmt.Sprintf(`
595overrides:
596 user1:
597 metrics_generator:
598 remote_write_headers:
599 Authorization: Bearer ${%s}
600`, envVar)
601
602 overridesFile := filepath.Join(t.TempDir(), "Overrides.yaml")
603
604 require.NoError(t, os.WriteFile(overridesFile, []byte(perTenantOverrides), 0o700))
605
606 cfg.PerTenantOverrideConfig = overridesFile
607 cfg.PerTenantOverridePeriod = model.Duration(time.Hour)
608
609 overrides, err := newRuntimeConfigOverrides(cfg, &mockValidator{}, prometheus.NewRegistry())
610 require.NoError(t, err)
611 require.NoError(t, services.StartAndAwaitRunning(context.TODO(), overrides))
612
613 expectedRemoteWriteHeaders := map[string]map[string]string{
614 "user1": {"Authorization": "Bearer super-secret-token"},
615 "user2": {"Authorization": "Bearer token"},
616 }
617 for user, expected := range expectedRemoteWriteHeaders {
618 assert.Equal(t, expected, overrides.MetricsGeneratorRemoteWriteHeaders(user))
619 }
620
621 require.NoError(t, services.StopAndAwaitTerminated(context.Background(), overrides))
622}
623
624func TestNativeHistogramOverrides(t *testing.T) {
625 tests := []struct {

Callers

nothing calls this directly

Calls 5

DurationMethod · 0.80
JoinMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected