mirror of
https://github.com/optim-enterprises-bv/vault.git
synced 2025-10-29 01:32:33 +00:00
Fixed name and type we're testing for
This commit is contained in:
@@ -552,7 +552,7 @@ func (b *Backend) configureSinkNode(name string, filePath string, mode string, f
|
||||
metricLabeler = &audit.MetricLabelerAuditSink{}
|
||||
}
|
||||
|
||||
sinkMetricCounter, err := event.NewMetricsCounter(sinkMetricTimer, metricLabeler)
|
||||
sinkMetricCounter, err := event.NewMetricsCounter(sinkName, sinkMetricTimer, metricLabeler)
|
||||
if err != nil {
|
||||
return fmt.Errorf("%s: unable to add counting metrics to sink for path %q: %w", op, filePath, err)
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ import (
|
||||
"github.com/hashicorp/eventlogger"
|
||||
"github.com/hashicorp/vault/audit"
|
||||
"github.com/hashicorp/vault/helper/namespace"
|
||||
"github.com/hashicorp/vault/internal/observability/event"
|
||||
"github.com/hashicorp/vault/sdk/helper/salt"
|
||||
"github.com/hashicorp/vault/sdk/logical"
|
||||
"github.com/stretchr/testify/require"
|
||||
@@ -529,7 +530,7 @@ func TestBackend_configureSinkNode(t *testing.T) {
|
||||
id := b.nodeIDList[0]
|
||||
node := b.nodeMap[id]
|
||||
require.Equal(t, eventlogger.NodeTypeSink, node.Type())
|
||||
sw, ok := node.(*audit.SinkMetricTimer)
|
||||
sw, ok := node.(*event.MetricsCounter)
|
||||
require.True(t, ok)
|
||||
require.Equal(t, tc.expectedName, sw.Name)
|
||||
}
|
||||
|
||||
@@ -443,7 +443,7 @@ func (b *Backend) configureSinkNode(name string, address string, format string,
|
||||
metricLabeler = &audit.MetricLabelerAuditSink{}
|
||||
}
|
||||
|
||||
sinkMetricCounter, err := event.NewMetricsCounter(sinkMetricTimer, metricLabeler)
|
||||
sinkMetricCounter, err := event.NewMetricsCounter(name, sinkMetricTimer, metricLabeler)
|
||||
if err != nil {
|
||||
return fmt.Errorf("%s: unable to add counting metrics to sink for path %q: %w", op, name, err)
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import (
|
||||
|
||||
"github.com/hashicorp/eventlogger"
|
||||
"github.com/hashicorp/vault/audit"
|
||||
"github.com/hashicorp/vault/internal/observability/event"
|
||||
"github.com/hashicorp/vault/sdk/helper/salt"
|
||||
"github.com/hashicorp/vault/sdk/logical"
|
||||
"github.com/stretchr/testify/require"
|
||||
@@ -285,7 +286,7 @@ func TestBackend_configureSinkNode(t *testing.T) {
|
||||
id := b.nodeIDList[0]
|
||||
node := b.nodeMap[id]
|
||||
require.Equal(t, eventlogger.NodeTypeSink, node.Type())
|
||||
sw, ok := node.(*audit.SinkMetricTimer)
|
||||
sw, ok := node.(*event.MetricsCounter)
|
||||
require.True(t, ok)
|
||||
require.Equal(t, tc.expectedName, sw.Name)
|
||||
}
|
||||
|
||||
@@ -353,7 +353,7 @@ func (b *Backend) configureSinkNode(name string, format string, opts ...event.Op
|
||||
metricLabeler = &audit.MetricLabelerAuditSink{}
|
||||
}
|
||||
|
||||
sinkMetricCounter, err := event.NewMetricsCounter(sinkMetricTimer, metricLabeler)
|
||||
sinkMetricCounter, err := event.NewMetricsCounter(name, sinkMetricTimer, metricLabeler)
|
||||
if err != nil {
|
||||
return fmt.Errorf("%s: unable to add counting metrics to sink for path %q: %w", op, name, err)
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import (
|
||||
|
||||
"github.com/hashicorp/eventlogger"
|
||||
"github.com/hashicorp/vault/audit"
|
||||
"github.com/hashicorp/vault/internal/observability/event"
|
||||
"github.com/hashicorp/vault/sdk/helper/salt"
|
||||
"github.com/hashicorp/vault/sdk/logical"
|
||||
"github.com/stretchr/testify/require"
|
||||
@@ -267,7 +268,7 @@ func TestBackend_configureSinkNode(t *testing.T) {
|
||||
id := b.nodeIDList[0]
|
||||
node := b.nodeMap[id]
|
||||
require.Equal(t, eventlogger.NodeTypeSink, node.Type())
|
||||
sw, ok := node.(*audit.SinkMetricTimer)
|
||||
sw, ok := node.(*event.MetricsCounter)
|
||||
require.True(t, ok)
|
||||
require.Equal(t, tc.expectedName, sw.Name)
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
"reflect"
|
||||
"strings"
|
||||
|
||||
"github.com/hashicorp/eventlogger"
|
||||
"github.com/hashicorp/go-metrics"
|
||||
@@ -16,6 +17,7 @@ var _ eventlogger.Node = (*MetricsCounter)(nil)
|
||||
|
||||
// MetricsCounter offers a way for nodes to emit metrics which increment a label by 1.
|
||||
type MetricsCounter struct {
|
||||
Name string
|
||||
Node eventlogger.Node
|
||||
labeler Labeler
|
||||
}
|
||||
@@ -28,9 +30,14 @@ type Labeler interface {
|
||||
}
|
||||
|
||||
// NewMetricsCounter should be used to create the MetricsCounter.
|
||||
func NewMetricsCounter(node eventlogger.Node, labeler Labeler) (*MetricsCounter, error) {
|
||||
func NewMetricsCounter(name string, node eventlogger.Node, labeler Labeler) (*MetricsCounter, error) {
|
||||
const op = "event.NewMetricsCounter"
|
||||
|
||||
name = strings.TrimSpace(name)
|
||||
if name == "" {
|
||||
return nil, fmt.Errorf("%s: name is required: %w", op, ErrInvalidParameter)
|
||||
}
|
||||
|
||||
if node == nil || reflect.ValueOf(node).IsNil() {
|
||||
return nil, fmt.Errorf("%s: node is required: %w", op, ErrInvalidParameter)
|
||||
}
|
||||
@@ -40,6 +47,7 @@ func NewMetricsCounter(node eventlogger.Node, labeler Labeler) (*MetricsCounter,
|
||||
}
|
||||
|
||||
return &MetricsCounter{
|
||||
Name: name,
|
||||
Node: node,
|
||||
labeler: labeler,
|
||||
}, nil
|
||||
|
||||
@@ -35,12 +35,20 @@ func TestNewMetricsCounter(t *testing.T) {
|
||||
labeler: &testMetricsCounter{},
|
||||
isErrorExpected: false,
|
||||
},
|
||||
"no-name": {
|
||||
node: nil,
|
||||
labeler: nil,
|
||||
isErrorExpected: true,
|
||||
expectedErrorMessage: "event.NewMetricsCounter: name is required: invalid parameter",
|
||||
},
|
||||
"no-node": {
|
||||
name: "foo",
|
||||
node: nil,
|
||||
isErrorExpected: true,
|
||||
expectedErrorMessage: "event.NewMetricsCounter: node is required: invalid parameter",
|
||||
},
|
||||
"no-labeler": {
|
||||
name: "foo",
|
||||
node: &testEventLoggerNode{},
|
||||
labeler: nil,
|
||||
isErrorExpected: true,
|
||||
@@ -52,7 +60,7 @@ func TestNewMetricsCounter(t *testing.T) {
|
||||
name := name
|
||||
tc := tc
|
||||
t.Run(name, func(t *testing.T) {
|
||||
m, err := NewMetricsCounter(tc.node, tc.labeler)
|
||||
m, err := NewMetricsCounter(tc.name, tc.node, tc.labeler)
|
||||
|
||||
switch {
|
||||
case tc.isErrorExpected:
|
||||
@@ -84,6 +92,6 @@ func (t testEventLoggerNode) Type() eventlogger.NodeType {
|
||||
// testMetricsCounter is for testing and implements the event.Labeler interface.
|
||||
type testMetricsCounter struct{}
|
||||
|
||||
func (m *testMetricsCounter) Label(_ *eventlogger.Event, err error) string {
|
||||
return ""
|
||||
func (m *testMetricsCounter) Labels(_ *eventlogger.Event, err error) []string {
|
||||
return []string{""}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user