diff --git a/http/http_test.go b/http/http_test.go index 12e366b9bd..fe0ff2b309 100644 --- a/http/http_test.go +++ b/http/http_test.go @@ -8,34 +8,9 @@ import ( "net/http" "testing" - "github.com/hashicorp/vault/physical" "github.com/hashicorp/vault/vault" ) -func testCore(t *testing.T) *vault.Core { - physicalBackend := physical.NewInmem() - c, err := vault.NewCore(&vault.CoreConfig{ - Physical: physicalBackend, - }) - if err != nil { - t.Fatalf("err: %s", err) - } - - return c -} - -func testCoreInit(t *testing.T, core *vault.Core) [][]byte { - result, err := core.Initialize(&vault.SealConfig{ - SecretShares: 1, - SecretThreshold: 1, - }) - if err != nil { - t.Fatalf("err: %s", err) - } - - return result.SecretShares -} - func testServer(t *testing.T, core *vault.Core) (net.Listener, string) { ln, err := net.Listen("tcp", "127.0.0.1:0") if err != nil { diff --git a/http/sys_init_test.go b/http/sys_init_test.go index f88a7a8759..5e06f500d5 100644 --- a/http/sys_init_test.go +++ b/http/sys_init_test.go @@ -5,10 +5,12 @@ import ( "net/http" "reflect" "testing" + + "github.com/hashicorp/vault/vault" ) func TestSysInit_get(t *testing.T) { - core := testCore(t) + core := vault.TestCore(t) ln, addr := testServer(t, core) defer ln.Close() @@ -30,7 +32,7 @@ func TestSysInit_get(t *testing.T) { } } - testCoreInit(t, core) + vault.TestCoreInit(t, core) { // Post-init @@ -52,7 +54,7 @@ func TestSysInit_get(t *testing.T) { } func TestSysInit_put(t *testing.T) { - core := testCore(t) + core := vault.TestCore(t) ln, addr := testServer(t, core) defer ln.Close() diff --git a/http/sys_seal_test.go b/http/sys_seal_test.go index c4543f19a3..19a8a21039 100644 --- a/http/sys_seal_test.go +++ b/http/sys_seal_test.go @@ -5,11 +5,13 @@ import ( "net/http" "reflect" "testing" + + "github.com/hashicorp/vault/vault" ) func TestSysSealStatus(t *testing.T) { - core := testCore(t) - testCoreInit(t, core) + core := vault.TestCore(t) + vault.TestCoreInit(t, core) ln, addr := testServer(t, core) defer ln.Close() @@ -33,8 +35,8 @@ func TestSysSealStatus(t *testing.T) { } func TestSysSeal(t *testing.T) { - core := testCore(t) - testCoreInit(t, core) + core := vault.TestCore(t) + vault.TestCoreInit(t, core) ln, addr := testServer(t, core) defer ln.Close() @@ -51,11 +53,11 @@ func TestSysSeal(t *testing.T) { } func TestSysSeal_unsealed(t *testing.T) { - core := testCore(t) + core := vault.TestCore(t) ln, addr := testServer(t, core) defer ln.Close() - keys := testCoreInit(t, core) + keys := vault.TestCoreInit(t, core) if _, err := core.Unseal(keys[0]); err != nil { t.Fatalf("err: %s", err) } @@ -73,8 +75,8 @@ func TestSysSeal_unsealed(t *testing.T) { } func TestSysUnseal(t *testing.T) { - core := testCore(t) - keys := testCoreInit(t, core) + core := vault.TestCore(t) + keys := vault.TestCoreInit(t, core) ln, addr := testServer(t, core) defer ln.Close() @@ -97,8 +99,8 @@ func TestSysUnseal(t *testing.T) { } func TestSysUnseal_badKey(t *testing.T) { - core := testCore(t) - testCoreInit(t, core) + core := vault.TestCore(t) + vault.TestCoreInit(t, core) ln, addr := testServer(t, core) defer ln.Close() diff --git a/vault/testing.go b/vault/testing.go new file mode 100644 index 0000000000..7bf93c6d03 --- /dev/null +++ b/vault/testing.go @@ -0,0 +1,37 @@ +package vault + +import ( + "testing" + + "github.com/hashicorp/vault/physical" +) + +// This file contains a number of methods that are useful for unit +// tests within other packages. + +// TestCore returns a pure in-memory, uninitialized core for testing. +func TestCore(t *testing.T) *Core { + physicalBackend := physical.NewInmem() + c, err := NewCore(&CoreConfig{ + Physical: physicalBackend, + }) + if err != nil { + t.Fatalf("err: %s", err) + } + + return c +} + +// TestCoreInit initializes the core with a single key, and returns +// the list of keys that must be used to unseal the core. +func TestCoreInit(t *testing.T, core *Core) [][]byte { + result, err := core.Initialize(&SealConfig{ + SecretShares: 1, + SecretThreshold: 1, + }) + if err != nil { + t.Fatalf("err: %s", err) + } + + return result.SecretShares +}