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 
			
		
		
		
	| @@ -2,6 +2,7 @@ package cmd | ||||
|  | ||||
| import ( | ||||
| 	"encoding/json" | ||||
| 	"fmt" | ||||
|  | ||||
| 	abapbuild "github.com/SAP/jenkins-library/pkg/abap/build" | ||||
| 	"github.com/SAP/jenkins-library/pkg/abaputils" | ||||
| @@ -75,6 +76,7 @@ func (c *componentVersion) initCV(repo abaputils.Repository, conn abapbuild.Conn | ||||
| 	c.Connector = conn | ||||
| 	c.Name = repo.Name | ||||
| 	c.VersionYAML = repo.VersionYAML | ||||
| 	c.CommitID = repo.CommitID | ||||
| } | ||||
|  | ||||
| func (c *componentVersion) copyFieldsToRepo(initialRepo *abaputils.Repository) { | ||||
| @@ -97,6 +99,11 @@ func (c *componentVersion) validate() error { | ||||
| 	c.SpLevel = jCV.ComponentVersion.SpLevel | ||||
| 	c.PatchLevel = jCV.ComponentVersion.PatchLevel | ||||
| 	log.Entry().Infof("Resolved version %s, splevel %s, patchlevel %s", c.Version, c.SpLevel, c.PatchLevel) | ||||
|  | ||||
| 	if c.CommitID == "" { | ||||
| 		return fmt.Errorf("CommitID missing in repo '%s' of the addon.yml", c.Name) | ||||
| 	} | ||||
|  | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| @@ -111,4 +118,5 @@ type componentVersion struct { | ||||
| 	Version     string `json:"Version"` | ||||
| 	SpLevel     string `json:"SpLevel"` | ||||
| 	PatchLevel  string `json:"PatchLevel"` | ||||
| 	CommitID    string | ||||
| } | ||||
|   | ||||
| @@ -15,6 +15,20 @@ func mockReadAddonDescriptor(FileName string) (abaputils.AddonDescriptor, error) | ||||
| 	var err error | ||||
| 	switch FileName { | ||||
| 	case "success": | ||||
| 		{ | ||||
| 			addonDescriptor = abaputils.AddonDescriptor{ | ||||
| 				AddonProduct:     "/DRNMSPC/PRD01", | ||||
| 				AddonVersionYAML: "3.2.1", | ||||
| 				Repositories: []abaputils.Repository{ | ||||
| 					{ | ||||
| 						Name:        "/DRNMSPC/COMP01", | ||||
| 						VersionYAML: "1.2.3", | ||||
| 						CommitID:    "HUGO1234", | ||||
| 					}, | ||||
| 				}, | ||||
| 			} | ||||
| 		} | ||||
| 	case "noCommitID": | ||||
| 		{ | ||||
| 			addonDescriptor = abaputils.AddonDescriptor{ | ||||
| 				AddonProduct:     "/DRNMSPC/PRD01", | ||||
| @@ -50,12 +64,19 @@ func TestCheckCVsStep(t *testing.T) { | ||||
| 		assert.Equal(t, "0001", addonDescriptorFinal.Repositories[0].Version) | ||||
| 		assert.Equal(t, "0002", addonDescriptorFinal.Repositories[0].SpLevel) | ||||
| 		assert.Equal(t, "0003", addonDescriptorFinal.Repositories[0].PatchLevel) | ||||
| 		assert.Equal(t, "HUGO1234", addonDescriptorFinal.Repositories[0].CommitID) | ||||
| 	}) | ||||
| 	t.Run("step error - in validate(no CommitID)", func(t *testing.T) { | ||||
| 		config.AddonDescriptorFileName = "noCommitID" | ||||
| 		err := runAbapAddonAssemblyKitCheckCVs(&config, nil, client, &cpe, mockReadAddonDescriptor) | ||||
| 		assert.Error(t, err, "Must end with error") | ||||
| 		assert.Contains(t, err.Error(), "CommitID missing in repo") | ||||
| 	}) | ||||
| 	t.Run("step error - in ReadAddonDescriptor", func(t *testing.T) { | ||||
| 		config.AddonDescriptorFileName = "failing" | ||||
| 		err := runAbapAddonAssemblyKitCheckCVs(&config, nil, client, &cpe, mockReadAddonDescriptor) | ||||
| 		assert.Error(t, err, "Must end with error") | ||||
| 		assert.Equal(t, "error in ReadAddonDescriptor", err.Error()) | ||||
| 		assert.Contains(t, "error in ReadAddonDescriptor", err.Error()) | ||||
| 	}) | ||||
| 	t.Run("step error - in validate", func(t *testing.T) { | ||||
| 		config.AddonDescriptorFileName = "success" | ||||
| @@ -93,6 +114,7 @@ func TestValidateCV(t *testing.T) { | ||||
| 			Connector:   *conn, | ||||
| 			Name:        "/DRNMSPC/COMP01", | ||||
| 			VersionYAML: "1.2.3", | ||||
| 			CommitID:    "HUGO1234", | ||||
| 		} | ||||
| 		conn.Client = &abaputils.ClientMock{ | ||||
| 			Body: responseCheckCVs, | ||||
| @@ -112,6 +134,7 @@ func TestValidateCV(t *testing.T) { | ||||
| 			Connector:   *conn, | ||||
| 			Name:        "/DRNMSPC/COMP01", | ||||
| 			VersionYAML: "1.2.3", | ||||
| 			CommitID:    "HUGO1234", | ||||
| 		} | ||||
| 		err := c.validate() | ||||
| 		assert.Error(t, err) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user