vault/command/server/config_telemetry_test.go
miagilepner 616c3a5ba5
[VAULT-17826] Remove mount point from rollback metrics (#22400)
* remove metrics

* add test and documentation

* update docs

* changelog

* fix TestConfig_Sanitized

* Update website/content/docs/upgrading/upgrade-to-1.15.x.mdx

Co-authored-by: Sarah Chavis <62406755+schavis@users.noreply.github.com>

* Update website/content/docs/upgrading/upgrade-to-1.15.x.mdx

Co-authored-by: Sarah Chavis <62406755+schavis@users.noreply.github.com>

* Update website/content/partials/telemetry-metrics/rollback-intro.mdx

Co-authored-by: Sarah Chavis <62406755+schavis@users.noreply.github.com>

* Update website/content/partials/telemetry-metrics/route-intro.mdx

Co-authored-by: Sarah Chavis <62406755+schavis@users.noreply.github.com>

* separate partials for metrics

* remove debugging line

* add high cardinality warning

---------

Co-authored-by: Sarah Chavis <62406755+schavis@users.noreply.github.com>
2023-08-21 16:55:37 +02:00

77 lines
2.0 KiB
Go

// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: BUSL-1.1
package server
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestMetricFilterConfigs(t *testing.T) {
t.Parallel()
cases := []struct {
configFile string
expectedFilterDefault *bool
expectedPrefixFilter []string
}{
{
"./test-fixtures/telemetry/valid_prefix_filter.hcl",
nil,
[]string{"-vault.expire", "-vault.audit", "+vault.expire.num_irrevocable_leases"},
},
{
"./test-fixtures/telemetry/filter_default_override.hcl",
boolPointer(false),
[]string(nil),
},
}
t.Run("validate metric filter configs", func(t *testing.T) {
t.Parallel()
for _, tc := range cases {
config, err := LoadConfigFile(tc.configFile)
if err != nil {
t.Fatalf("Error encountered when loading config %+v", err)
}
assert.Equal(t, tc.expectedFilterDefault, config.SharedConfig.Telemetry.FilterDefault)
assert.Equal(t, tc.expectedPrefixFilter, config.SharedConfig.Telemetry.PrefixFilter)
}
})
}
// TestRollbackMountPointMetricsConfig verifies that the add_mount_point_rollback_metrics
// config option is parsed correctly, when it is set to true. Also verifies that
// the default for this setting is false
func TestRollbackMountPointMetricsConfig(t *testing.T) {
t.Parallel()
testCases := []struct {
name string
configFile string
wantMountPoint bool
}{
{
name: "include mount point",
configFile: "./test-fixtures/telemetry/rollback_mount_point.hcl",
wantMountPoint: true,
},
{
name: "exclude mount point",
configFile: "./test-fixtures/telemetry/valid_prefix_filter.hcl",
wantMountPoint: false,
},
}
for _, tc := range testCases {
tc := tc
t.Run(tc.name, func(t *testing.T) {
t.Parallel()
config, err := LoadConfigFile(tc.configFile)
require.NoError(t, err)
require.Equal(t, tc.wantMountPoint, config.Telemetry.RollbackMetricsIncludeMountPoint)
})
}
}