/
helper_internal_test.go
62 lines (52 loc) · 1.13 KB
/
helper_internal_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package token
import (
"io/ioutil"
"os"
"path/filepath"
"testing"
)
// TestCommand re-uses the existing Test function to ensure proper behavior of
// the internal token helper
func TestCommand(t *testing.T) {
helper, err := NewInternalTokenHelper()
if err != nil {
t.Fatal(err)
}
Test(t, helper)
}
func TestInternalHelperFilePerms(t *testing.T) {
tmpDir, err := ioutil.TempDir("", t.Name())
if err != nil {
t.Fatal(err)
}
defer os.RemoveAll(tmpDir)
helper, err := NewInternalTokenHelper()
if err != nil {
t.Fatal(err)
}
helper.homeDir = tmpDir
tmpFile := filepath.Join(tmpDir, ".vault-token")
f, err := os.Create(tmpFile)
if err != nil {
t.Fatal(err)
}
defer f.Close()
fi, err := os.Stat(tmpFile)
if err != nil {
t.Fatal(err)
}
if fi.Mode().Perm()&004 != 004 {
t.Fatalf("expected world-readable/writable permission bits, got: %o", fi.Mode().Perm())
}
err = helper.Store("bogus_token")
if err != nil {
t.Fatal(err)
}
fi, err = os.Stat(tmpFile)
if err != nil {
t.Fatal(err)
}
if fi.Mode().Perm()&004 != 0 {
t.Fatalf("expected no world-readable/writable permission bits, got: %o", fi.Mode().Perm())
}
}