mirror of
				https://github.com/optim-enterprises-bv/vault.git
				synced 2025-10-31 02:28:09 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			91 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright (c) HashiCorp, Inc.
 | |
| // SPDX-License-Identifier: MPL-2.0
 | |
| 
 | |
| package logical
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 	"reflect"
 | |
| 	"testing"
 | |
| 	"time"
 | |
| 
 | |
| 	log "github.com/hashicorp/go-hclog"
 | |
| 	"github.com/hashicorp/vault/sdk/helper/logging"
 | |
| )
 | |
| 
 | |
| // TestRequest is a helper to create a purely in-memory Request struct.
 | |
| func TestRequest(t testing.TB, op Operation, path string) *Request {
 | |
| 	return &Request{
 | |
| 		Operation:  op,
 | |
| 		Path:       path,
 | |
| 		Data:       make(map[string]interface{}),
 | |
| 		Storage:    new(InmemStorage),
 | |
| 		Connection: &Connection{},
 | |
| 	}
 | |
| }
 | |
| 
 | |
| // TestStorage is a helper that can be used from unit tests to verify
 | |
| // the behavior of a Storage impl.
 | |
| func TestStorage(t testing.TB, s Storage) {
 | |
| 	keys, err := s.List(context.Background(), "")
 | |
| 	if err != nil {
 | |
| 		t.Fatalf("list error: %s", err)
 | |
| 	}
 | |
| 	if len(keys) > 0 {
 | |
| 		t.Fatalf("should have no keys to start: %#v", keys)
 | |
| 	}
 | |
| 
 | |
| 	entry := &StorageEntry{Key: "foo", Value: []byte("bar")}
 | |
| 	if err := s.Put(context.Background(), entry); err != nil {
 | |
| 		t.Fatalf("put error: %s", err)
 | |
| 	}
 | |
| 
 | |
| 	actual, err := s.Get(context.Background(), "foo")
 | |
| 	if err != nil {
 | |
| 		t.Fatalf("get error: %s", err)
 | |
| 	}
 | |
| 	if !reflect.DeepEqual(actual, entry) {
 | |
| 		t.Fatalf("wrong value. Expected: %#v\nGot: %#v", entry, actual)
 | |
| 	}
 | |
| 
 | |
| 	keys, err = s.List(context.Background(), "")
 | |
| 	if err != nil {
 | |
| 		t.Fatalf("list error: %s", err)
 | |
| 	}
 | |
| 	if !reflect.DeepEqual(keys, []string{"foo"}) {
 | |
| 		t.Fatalf("bad keys: %#v", keys)
 | |
| 	}
 | |
| 
 | |
| 	if err := s.Delete(context.Background(), "foo"); err != nil {
 | |
| 		t.Fatalf("put error: %s", err)
 | |
| 	}
 | |
| 
 | |
| 	keys, err = s.List(context.Background(), "")
 | |
| 	if err != nil {
 | |
| 		t.Fatalf("list error: %s", err)
 | |
| 	}
 | |
| 	if len(keys) > 0 {
 | |
| 		t.Fatalf("should have no keys to start: %#v", keys)
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func TestSystemView() *StaticSystemView {
 | |
| 	defaultLeaseTTLVal := time.Hour * 24
 | |
| 	maxLeaseTTLVal := time.Hour * 24 * 2
 | |
| 	return &StaticSystemView{
 | |
| 		DefaultLeaseTTLVal: defaultLeaseTTLVal,
 | |
| 		MaxLeaseTTLVal:     maxLeaseTTLVal,
 | |
| 		VersionString:      "testVersionString",
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func TestBackendConfig() *BackendConfig {
 | |
| 	bc := &BackendConfig{
 | |
| 		Logger: logging.NewVaultLogger(log.Trace),
 | |
| 		System: TestSystemView(),
 | |
| 		Config: make(map[string]string),
 | |
| 	}
 | |
| 
 | |
| 	return bc
 | |
| }
 | 
