github.com/netdata/go.d.plugin@v0.58.1/pkg/multipath/multipath_test.go (about) 1 // SPDX-License-Identifier: GPL-3.0-or-later 2 3 package multipath 4 5 import ( 6 "errors" 7 "testing" 8 9 "github.com/stretchr/testify/assert" 10 ) 11 12 func TestNew(t *testing.T) { 13 assert.Len( 14 t, 15 New("path1", "path2", "path2", "", "path3"), 16 3, 17 ) 18 } 19 20 func TestMultiPath_Find(t *testing.T) { 21 m := New("path1", "testdata/data1") 22 23 v, err := m.Find("not exist") 24 assert.Zero(t, v) 25 assert.Error(t, err) 26 27 v, err = m.Find("test-empty.conf") 28 assert.Equal(t, "testdata/data1/test-empty.conf", v) 29 assert.Nil(t, err) 30 31 v, err = m.Find("test.conf") 32 assert.Equal(t, "testdata/data1/test.conf", v) 33 assert.Nil(t, err) 34 } 35 36 func TestIsNotFound(t *testing.T) { 37 assert.True(t, IsNotFound(ErrNotFound{})) 38 assert.False(t, IsNotFound(errors.New(""))) 39 } 40 41 func TestMultiPath_FindFiles(t *testing.T) { 42 m := New("path1", "testdata/data2", "testdata/data1") 43 44 files, err := m.FindFiles(".conf") 45 assert.NoError(t, err) 46 assert.Equal(t, []string{"testdata/data2/test-empty.conf", "testdata/data2/test.conf"}, files) 47 48 files, err = m.FindFiles("") 49 assert.NoError(t, err) 50 assert.Equal(t, []string{"testdata/data2/test-empty.conf", "testdata/data2/test.conf"}, files) 51 52 files, err = m.FindFiles(".not_exist") 53 assert.NoError(t, err) 54 assert.Equal(t, []string(nil), files) 55 56 m = New("path1", "testdata/data1", "testdata/data2") 57 files, err = m.FindFiles(".conf") 58 assert.NoError(t, err) 59 assert.Equal(t, []string{"testdata/data1/test-empty.conf", "testdata/data1/test.conf"}, files) 60 }