github.com/kuoss/venti@v0.2.20/main_test.go (about) 1 package main 2 3 import ( 4 "os" 5 "testing" 6 7 "github.com/kuoss/common/tester" 8 "github.com/stretchr/testify/assert" 9 ) 10 11 // The main function doesn't exit when the router runs, 12 // so we only test for errors here. 13 func Test_main(t *testing.T) { 14 err := os.Chdir("./docs") 15 assert.NoError(t, err) 16 17 stdout, stderr, err := tester.CaptureChildTest(func() { 18 main() 19 }) 20 21 assert.Error(t, err) 22 assert.EqualError(t, err, "exit status 1") 23 24 assert.Equal(t, "", stdout) 25 26 assert.Contains(t, stderr, `level=info msg="loading configurations..." file="main.go:`) 27 assert.Contains(t, stderr, `level=info msg="loading global config file: etc/venti.yml" file="config.go:`) 28 assert.Contains(t, stderr, `level=fatal msg="config.Load err: loadGlobalConfigFile err: error on ReadFile: open etc/venti.yml: no such file or directory" file="main_test.go:`) 29 }