mirror of
				https://github.com/optim-enterprises-bv/vault.git
				synced 2025-11-04 04:28:08 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			78 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright (c) HashiCorp, Inc.
 | 
						|
// SPDX-License-Identifier: MPL-2.0
 | 
						|
 | 
						|
package logical
 | 
						|
 | 
						|
import (
 | 
						|
	"testing"
 | 
						|
 | 
						|
	"github.com/stretchr/testify/require"
 | 
						|
)
 | 
						|
 | 
						|
// TestLogInput_BexprDatum ensures that we can transform a LogInput
 | 
						|
// into a LogInputBexpr to be used in audit filtering.
 | 
						|
func TestLogInput_BexprDatum(t *testing.T) {
 | 
						|
	t.Parallel()
 | 
						|
 | 
						|
	tests := map[string]struct {
 | 
						|
		Request            *Request
 | 
						|
		Namespace          string
 | 
						|
		ExpectedPath       string
 | 
						|
		ExpectedMountPoint string
 | 
						|
		ExpectedMountType  string
 | 
						|
		ExpectedNamespace  string
 | 
						|
		ExpectedOperation  string
 | 
						|
	}{
 | 
						|
		"nil-no-namespace": {
 | 
						|
			Request:            nil,
 | 
						|
			Namespace:          "",
 | 
						|
			ExpectedPath:       "",
 | 
						|
			ExpectedMountPoint: "",
 | 
						|
			ExpectedMountType:  "",
 | 
						|
			ExpectedNamespace:  "",
 | 
						|
			ExpectedOperation:  "",
 | 
						|
		},
 | 
						|
		"nil-namespace": {
 | 
						|
			Request:            nil,
 | 
						|
			Namespace:          "juan",
 | 
						|
			ExpectedPath:       "",
 | 
						|
			ExpectedMountPoint: "",
 | 
						|
			ExpectedMountType:  "",
 | 
						|
			ExpectedNamespace:  "juan",
 | 
						|
			ExpectedOperation:  "",
 | 
						|
		},
 | 
						|
		"happy-path": {
 | 
						|
			Request: &Request{
 | 
						|
				MountPoint: "IAmAMountPoint",
 | 
						|
				MountType:  "IAmAMountType",
 | 
						|
				Operation:  CreateOperation,
 | 
						|
				Path:       "IAmAPath",
 | 
						|
			},
 | 
						|
			Namespace:          "juan",
 | 
						|
			ExpectedPath:       "IAmAPath",
 | 
						|
			ExpectedMountPoint: "IAmAMountPoint",
 | 
						|
			ExpectedMountType:  "IAmAMountType",
 | 
						|
			ExpectedNamespace:  "juan",
 | 
						|
			ExpectedOperation:  "create",
 | 
						|
		},
 | 
						|
	}
 | 
						|
 | 
						|
	for name, tc := range tests {
 | 
						|
		name := name
 | 
						|
		tc := tc
 | 
						|
		t.Run(name, func(t *testing.T) {
 | 
						|
			t.Parallel()
 | 
						|
 | 
						|
			l := &LogInput{Request: tc.Request}
 | 
						|
 | 
						|
			d := l.BexprDatum(tc.Namespace)
 | 
						|
 | 
						|
			require.Equal(t, tc.ExpectedPath, d.Path)
 | 
						|
			require.Equal(t, tc.ExpectedMountPoint, d.MountPoint)
 | 
						|
			require.Equal(t, tc.ExpectedMountType, d.MountType)
 | 
						|
			require.Equal(t, tc.ExpectedNamespace, d.Namespace)
 | 
						|
			require.Equal(t, tc.ExpectedOperation, d.Operation)
 | 
						|
		})
 | 
						|
	}
 | 
						|
}
 |