mirror of
				https://github.com/optim-enterprises-bv/vault.git
				synced 2025-11-04 04:28:08 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			66 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package http
 | 
						|
 | 
						|
import (
 | 
						|
	"fmt"
 | 
						|
	"math/rand"
 | 
						|
	"testing"
 | 
						|
	"time"
 | 
						|
 | 
						|
	"github.com/hashicorp/vault/api"
 | 
						|
	"github.com/hashicorp/vault/vault"
 | 
						|
)
 | 
						|
 | 
						|
func TestSysMountConfig(t *testing.T) {
 | 
						|
	core, _, token := vault.TestCoreUnsealed(t)
 | 
						|
	ln, addr := TestServer(t, core)
 | 
						|
	defer ln.Close()
 | 
						|
 | 
						|
	config := api.DefaultConfig()
 | 
						|
	config.Address = addr
 | 
						|
 | 
						|
	client, err := api.NewClient(config)
 | 
						|
	if err != nil {
 | 
						|
		t.Fatal(err)
 | 
						|
	}
 | 
						|
	client.SetToken(token)
 | 
						|
 | 
						|
	// Set up a test mount
 | 
						|
	path, err := testMount(client)
 | 
						|
	if err != nil {
 | 
						|
		t.Fatal(err)
 | 
						|
	}
 | 
						|
	defer client.Sys().Unmount(path)
 | 
						|
 | 
						|
	// Get config info for this mount
 | 
						|
	mountConfig, err := client.Sys().MountConfig(path)
 | 
						|
	if err != nil {
 | 
						|
		t.Fatal(err)
 | 
						|
	}
 | 
						|
 | 
						|
	expectedDefaultTTL := 2764800
 | 
						|
	if mountConfig.DefaultLeaseTTL != expectedDefaultTTL {
 | 
						|
		t.Fatalf("Expected default lease TTL: %d, got %d",
 | 
						|
			expectedDefaultTTL, mountConfig.DefaultLeaseTTL)
 | 
						|
	}
 | 
						|
 | 
						|
	expectedMaxTTL := 2764800
 | 
						|
	if mountConfig.MaxLeaseTTL != expectedMaxTTL {
 | 
						|
		t.Fatalf("Expected default lease TTL: %d, got %d",
 | 
						|
			expectedMaxTTL, mountConfig.MaxLeaseTTL)
 | 
						|
	}
 | 
						|
 | 
						|
	if mountConfig.ForceNoCache {
 | 
						|
		t.Fatal("did not expect force cache")
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
// testMount sets up a test mount of a kv backend w/ a random path; caller
 | 
						|
// is responsible for unmounting
 | 
						|
func testMount(client *api.Client) (string, error) {
 | 
						|
	rand.Seed(time.Now().UTC().UnixNano())
 | 
						|
	randInt := rand.New(rand.NewSource(time.Now().UnixNano())).Int()
 | 
						|
	path := fmt.Sprintf("testmount-%d", randInt)
 | 
						|
	err := client.Sys().Mount(path, &api.MountInput{Type: "kv"})
 | 
						|
	return path, err
 | 
						|
}
 |