github.com/ouraigua/jenkins-library@v0.0.0-20231028010029-fbeaf2f3aa9b/pkg/cnbutils/project/metadata/metadata_test.go (about) 1 //go:build unit 2 // +build unit 3 4 package metadata 5 6 import ( 7 "os" 8 "path/filepath" 9 "testing" 10 11 "github.com/SAP/jenkins-library/pkg/cnbutils" 12 "github.com/SAP/jenkins-library/pkg/mock" 13 "github.com/SAP/jenkins-library/pkg/piperutils" 14 "github.com/stretchr/testify/assert" 15 ) 16 17 func TestWriteProjectMetadata(t *testing.T) { 18 expectedResult := `[source] 19 type = "git" 20 [source.version] 21 commit = "012548" 22 describe = "test-commit" 23 [source.metadata] 24 refs = ["main"] 25 ` 26 mockUtils := &cnbutils.MockUtils{ 27 ExecMockRunner: &mock.ExecMockRunner{}, 28 FilesMock: &mock.FilesMock{}, 29 } 30 31 fileutils := piperutils.Files{} 32 33 cpeFiles := map[string]string{ 34 "headCommitId": "012548", 35 "commitMessage": "test-commit", 36 "branch": "main", 37 } 38 39 dir := t.TempDir() 40 err := os.MkdirAll(filepath.Join(dir, "commonPipelineEnvironment", "git"), os.ModePerm) 41 assert.NoError(t, err) 42 43 for file, content := range cpeFiles { 44 err = fileutils.FileWrite(filepath.Join(dir, "commonPipelineEnvironment", "git", file), []byte(content), os.ModePerm) 45 assert.NoError(t, err) 46 } 47 48 WriteProjectMetadata(dir, mockUtils) 49 assert.True(t, mockUtils.HasWrittenFile(metadataFilePath)) 50 result, err := mockUtils.FileRead(metadataFilePath) 51 assert.NoError(t, err) 52 assert.Equal(t, expectedResult, string(result)) 53 }