@@ -1441,6 +1441,45 @@ func TestUpgradeErrorHandling(t *testing.T) {
14411441 }
14421442 },
14431443 },
1444+ "should return error if changeSymlink fails" : {
1445+ isDiskSpaceErrorResult : false ,
1446+ expectedError : testError ,
1447+ upgraderMocker : func (upgrader * Upgrader ) {
1448+ upgrader .artifactDownloader = & mockArtifactDownloader {}
1449+ upgrader .extractAgentVersion = func (metadata packageMetadata , upgradeVersion string ) agentVersion {
1450+ return agentVersion {
1451+ version : upgradeVersion ,
1452+ snapshot : false ,
1453+ hash : metadata .hash ,
1454+ }
1455+ }
1456+ upgrader .detectFlavor = func (topDir string , defaultFlavor string ) (string , error ) {
1457+ return "flavor" , nil
1458+ }
1459+ upgrader .unpacker = & mockUnpacker {
1460+ returnPackageMetadata : packageMetadata {
1461+ manifest : & v1.PackageManifest {},
1462+ hash : "hash" ,
1463+ },
1464+ returnUnpackResult : UnpackResult {
1465+ Hash : "hash" ,
1466+ VersionedHome : "versionedHome" ,
1467+ },
1468+ }
1469+ upgrader .copyActionStore = func (log * logger.Logger , newHome string ) error {
1470+ return nil
1471+ }
1472+ upgrader .copyRunDirectory = func (log * logger.Logger , oldRunPath , newRunPath string ) error {
1473+ return nil
1474+ }
1475+ upgrader .rollbackInstall = func (ctx context.Context , log * logger.Logger , topDirPath , versionedHome , oldVersionedHome string ) error {
1476+ return nil
1477+ }
1478+ upgrader .changeSymlink = func (log * logger.Logger , topDirPath , symlinkPath , newTarget string ) error {
1479+ return testError
1480+ }
1481+ },
1482+ },
14441483 "should return error if markUpgrade fails" : {
14451484 isDiskSpaceErrorResult : false ,
14461485 expectedError : testError ,
0 commit comments