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