github.com/ouraigua/jenkins-library@v0.0.0-20231028010029-fbeaf2f3aa9b/pkg/sonar/sonar_test.go (about) 1 //go:build unit 2 // +build unit 3 4 package sonar 5 6 import ( 7 "path/filepath" 8 "testing" 9 10 "github.com/stretchr/testify/assert" 11 ) 12 13 func TestReadTaskReport(t *testing.T) { 14 t.Run("default", func(t *testing.T) { 15 // test 16 result, err := ReadTaskReport("./testData/valid") 17 // assert 18 assert.Equal(t, "piper-test", result.ProjectKey) 19 assert.Equal(t, "AXERR2JBbm9IiM5TEST", result.TaskID) 20 assert.Equal(t, "https://sonarcloud.io/api/ce/task?id=AXERR2JBbm9IiMTEST", result.TaskURL) 21 assert.Equal(t, "https://sonarcloud.io/dashboard/index/piper-test", result.DashboardURL) 22 assert.Equal(t, "https://sonarcloud.io", result.ServerURL) 23 assert.Equal(t, "8.0.0.12345", result.ServerVersion) 24 assert.NoError(t, err) 25 }) 26 27 t.Run("missing file", func(t *testing.T) { 28 // test 29 result, err := ReadTaskReport("./testData/missing") 30 // assert 31 assert.Empty(t, result.ProjectKey) 32 assert.True(t, 33 (filepath.FromSlash("open testData/missing/.scannerwork/report-task.txt: The system cannot find the path specified.") == err.Error()) || 34 (filepath.FromSlash("open testData/missing/.scannerwork/report-task.txt: no such file or directory") == err.Error())) 35 }) 36 37 t.Run("invalid file", func(t *testing.T) { 38 // test 39 result, err := ReadTaskReport("./testData/invalid") 40 // assert 41 assert.Empty(t, result.ProjectKey) 42 assert.EqualError(t, err, filepath.FromSlash("decode testData/invalid/.scannerwork/report-task.txt: missing required key projectKey")) 43 }) 44 }