You've already forked sap-jenkins-library
							
							
				mirror of
				https://github.com/SAP/jenkins-library.git
				synced 2025-10-30 23:57:50 +02:00 
			
		
		
		
	fix(protecode): handle sha256 in upload artifacts (#2532)
* add sha256 check to protecodeExecuteScan * remove trailing spaces * add Unit-Test for getTarName * Apply suggestions from code review Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
This commit is contained in:
		| @@ -330,11 +330,15 @@ func correctDockerConfigEnvVar(config *protecodeExecuteScanOptions) { | ||||
| func getTarName(config *protecodeExecuteScanOptions) string { | ||||
| 	// remove original version | ||||
| 	fileName := strings.TrimSuffix(config.ScanImage, ":"+config.ArtifactVersion) | ||||
| 	// remove sha digest if exists | ||||
| 	sha256 := "@sha256" | ||||
| 	if index := strings.Index(fileName, sha256); index > -1 { | ||||
| 		fileName = fileName[:index] | ||||
| 	} | ||||
| 	// append trimmed version | ||||
| 	if version := handleArtifactVersion(config.ArtifactVersion); len(version) > 0 { | ||||
| 		fileName = fileName + "_" + version | ||||
| 	} | ||||
| 	// replace unwanted chars | ||||
| 	fileName = strings.ReplaceAll(fileName, "/", "_") | ||||
| 	return fileName + ".tar" | ||||
| } | ||||
|   | ||||
| @@ -399,13 +399,22 @@ func TestGetTarName(t *testing.T) { | ||||
| 			"3.20.20-20200131085038+eeb7c1033339bfd404d21ec5e7dc05c80e9e985e", | ||||
| 			"abc_3.tar", | ||||
| 		}, | ||||
| 		"without version ": { | ||||
| 		"without version": { | ||||
| 			"abc", | ||||
| 			"", | ||||
| 			"abc.tar", | ||||
| 		}, | ||||
| 		"ScanImage without sha as artifactVersion": { | ||||
| 			"abc@sha256:12345", | ||||
| 			"", | ||||
| 			"abc.tar", | ||||
| 		}, | ||||
| 		"ScanImage with sha as artifactVersion": { | ||||
| 			"ppiper/cf-cli@sha256:c25dbacb9ab6e912afe0fe926d8f9d949c60adfe55d16778bde5941e6c37be11", | ||||
| 			"c25dbacb9ab6e912afe0fe926d8f9d949c60adfe55d16778bde5941e6c37be11", | ||||
| 			"ppiper_cf-cli_c25dbacb9ab6e912afe0fe926d8f9d949c60adfe55d16778bde5941e6c37be11.tar", | ||||
| 		}, | ||||
| 	} | ||||
|  | ||||
| 	for name, c := range cases { | ||||
| 		t.Run(name, func(t *testing.T) { | ||||
| 			assert.Equal(t, c.expect, getTarName(&protecodeExecuteScanOptions{ScanImage: c.image, ArtifactVersion: c.version})) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user