1package tree 2 3import ( 4 "testing" 5 6 "github.com/fatih/color" 7 "github.com/stretchr/testify/assert" 8) 9 10func TestRoot(t *testing.T) { 11 color.NoColor = true 12 13 r := New("gopass") 14 r.AddTemplate("foo") 15 r.AddFile("foo/bar/baz", "") 16 r.AddFile("foo/bar/zab", "") 17 r.AddMount("mnt/m1", "/tmp/m1") 18 r.AddFile("mnt/m1/foo", "") 19 r.AddFile("mnt/m1/foo/bar", "") 20 t.Logf("%+#v", r) 21 assert.Equal(t, `gopass 22├── foo/ (template) 23│ └── bar/ 24│ ├── baz 25│ └── zab 26└── mnt/ 27 └── m1 (/tmp/m1) 28 └── foo/ 29 └── bar 30`, r.Format(INF)) 31 32 assert.Equal(t, []string{ 33 "foo/bar/baz", 34 "foo/bar/zab", 35 "mnt/m1/foo/bar", 36 }, r.List(INF)) 37 assert.Equal(t, []string{ 38 "foo/", 39 "foo/bar/", 40 "mnt/", 41 "mnt/m1/", 42 "mnt/m1/foo/", 43 }, r.ListFolders(INF)) 44 f, err := r.FindFolder("mnt/m1") 45 assert.NoError(t, err) 46 assert.Equal(t, `gopass 47└── foo/ 48 └── bar 49`, f.Format(INF)) 50} 51 52func TestMountShadow(t *testing.T) { 53 color.NoColor = true 54 55 r := New("gopass") 56 r.AddTemplate("foo") 57 r.AddFile("foo/bar/baz", "") 58 r.AddFile("foo/bar/zab", "") 59 r.AddMount("foo", "/tmp/m1") 60 r.AddFile("foo/zab", "") 61 r.AddFile("foo/baz", "") 62 t.Logf("%+#v", r) 63 assert.Equal(t, `gopass 64└── foo (/tmp/m1) 65 ├── baz 66 └── zab 67`, r.Format(INF)) 68 69 assert.Equal(t, []string{ 70 "foo/baz", 71 "foo/zab", 72 }, r.List(INF)) 73 assert.Equal(t, []string{ 74 "foo/", 75 }, r.ListFolders(INF)) 76 _, err := r.FindFolder("mnt/m1") 77 assert.Error(t, err) 78} 79