mirror of
https://github.com/SAP/jenkins-library.git
synced 2024-12-14 11:03:09 +02:00
0f4e30e9db
This commit replaces `ioutil.TempDir` with `t.TempDir` in tests. The directory created by `t.TempDir` is automatically removed when the test and all its subtests complete. Prior to this commit, temporary directory created using `ioutil.TempDir` needs to be removed manually by calling `os.RemoveAll`, which is omitted in some tests. The error handling boilerplate e.g. defer func() { if err := os.RemoveAll(dir); err != nil { t.Fatal(err) } } is also tedious, but `t.TempDir` handles this for us nicely. Reference: https://pkg.go.dev/testing#T.TempDir Signed-off-by: Eng Zer Jun <engzerjun@gmail.com> Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
38 lines
1022 B
Go
38 lines
1022 B
Go
package toolrecord_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/SAP/jenkins-library/pkg/toolrecord"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestToolRecord(t *testing.T) {
|
|
workspace := t.TempDir()
|
|
|
|
t.Run("Check toolrecord", func(t *testing.T) {
|
|
tr := toolrecord.New(workspace, "dummyTool", "dummyInstance")
|
|
|
|
tr.AddKeyData("Organization", "dummyOrgId", "dummyOrgName", "dummyOrgUrl")
|
|
tr.AddKeyData("Project", "dummyProjectId", "dummyProjName", "dummyProjUrl")
|
|
tr.AddKeyData("ScanId", "dummyScanId", "dummyScanName", "dummyScanUrl")
|
|
context := map[string]interface{}{
|
|
"demo": "data",
|
|
"anything": struct {
|
|
s1 string
|
|
i1 int
|
|
}{"goes", 42},
|
|
}
|
|
tr.AddContext("DemoContext", context)
|
|
context2 := "a string"
|
|
tr.AddContext("Context2", context2)
|
|
var context3 [2]string
|
|
context3[0] = "c3_1"
|
|
context3[1] = "c3_2"
|
|
tr.AddContext("Context3", context3)
|
|
err := tr.Persist()
|
|
assert.Nil(t, err, "internal error %s")
|
|
assert.FileExists(t, tr.GetFileName(), "toolrecord not persisted %s")
|
|
})
|
|
}
|