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  }