github.com/grafana/tanka@v0.26.1-0.20240506093700-c22cfc35c21a/pkg/jsonnet/lint_test.go (about)

     1  package jsonnet
     2  
     3  import (
     4  	"bytes"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  func TestLint(t *testing.T) {
    11  	t.Run("no error", func(t *testing.T) {
    12  		opts := &LintOpts{Parallelism: 4}
    13  		err := Lint([]string{"testdata/importTree"}, opts)
    14  		assert.NoError(t, err)
    15  	})
    16  
    17  	t.Run("error", func(t *testing.T) {
    18  		buf := &bytes.Buffer{}
    19  		opts := &LintOpts{Out: buf, Parallelism: 4}
    20  		err := Lint([]string{"testdata/lintingError"}, opts)
    21  		assert.EqualError(t, err, "Linting has failed for at least one file")
    22  		assert.Equal(t, absPath(t, "testdata/lintingError/main.jsonnet")+`:1:7-22 Unused variable: unused
    23  
    24  local unused = 'test';
    25  
    26  
    27  `, buf.String())
    28  	})
    29  }