package main import ( "testing" image2 "wdd.io/agent-common/image" "wdd.io/agent-common/utils" ) /* 拉取 */ func TestFetchDependencyRepos(t *testing.T) { errorPullImageList, errorGzipImageList, realCmiiImageName, allGzipFileNameList := DownloadCompressUploadDependency(true, false, true, false) utils.BeautifulPrintListWithTitle(errorPullImageList, "errorPullImageList") utils.BeautifulPrintListWithTitle(errorGzipImageList, "errorGzipImageList") utils.BeautifulPrintListWithTitle(realCmiiImageName, "realCmiiImageName") utils.BeautifulPrintListWithTitle(allGzipFileNameList, "allGzipFileNameList") } func TestLoadSplitGzipImageToTargetHarbor(t *testing.T) { errorLoadImageNameList, errorPushImageNameList := LoadSplitCmiiGzipImageToTargetHarbor("xmyd", DirectPushDeployHarborHost) utils.BeautifulPrintListWithTitle(errorLoadImageNameList, "errorLoadImageNameList") utils.BeautifulPrintListWithTitle(errorPushImageNameList, "errorPushImageNameList") } func TestLoadSplitDepGzipImageToTargetHarbor(t *testing.T) { errorLoadImageNameList, errorPushImageNameList := LoadSplitDepGzipImageToTargetHarbor(DirectPushDeployHarborHost) utils.BeautifulPrintListWithTitle(errorLoadImageNameList, "errorLoadImageNameList") utils.BeautifulPrintListWithTitle(errorPushImageNameList, "errorPushImageNameList") } func TestPullFromEntityAndSyncConditionally(t *testing.T) { // 创建一个模拟的sync对象,用于测试函数的行为。这里需要根据你的实际需求来设置mock数据和预期结果。 sync := ImageSyncEntity{ CmiiNameTagList: []string{ //"cmii-uav-platform:5.5.0-offline", }, FullNameImageList: nil, ProjectVersion: "", ProjectName: "xjyd", DirectHarborHost: "harbor.wdd.io", CompressImageToGzip: true, UploadToDemoMinio: true, ShouldDirectPushToHarbor: false, } // 调用函数并获取结果。这里需要根据你的实际需求来验证返回的结果是否符合预期。 result := sync.PullFromEntityAndSyncConditionally() utils.BeautifulPrint(result) // 添加断言以检查函数的输出,例如: if len(result.ErrorPullImageList) != 0 { t.Errorf("Expected no error pulling images, got %v", result.ErrorPullImageList) } // ...其他验证逻辑... } func TestConcatAndUniformCmiiImage(t *testing.T) { // 创建一个模拟的fullImageList和cmiiImageList,用于测试函数的行为。这里需要根据你的实际需求来设置mock数据和预期结果。 fullImageList := []string{"image3", "image4"} cmiiImageList := []string{"image1", "image2"} // 调用函数并获取结果。这里需要根据你的实际需求来验证返回的结果是否符合预期。 result := concatAndUniformCmiiImage(fullImageList, cmiiImageList) // 添加断言以检查函数的输出,例如: expectedResult := []string{"image3", "image4", image2.CmiiHarborPrefix + "image1", image2.CmiiHarborPrefix + "image2"} if len(result) != len(expectedResult) { t.Errorf("Expected %v, got %v", expectedResult, result) } // ...其他验证逻辑... } func TestImageSyncEntity_PullFromEntityAndSyncConditionally(t *testing.T) { imageSyncEntity := ImageSyncEntity{ ProjectVersion: "5.4.0", DirectHarborHost: "36.134.71.138", } imageSyncResult := imageSyncEntity.PullFromEntityAndSyncConditionally() utils.BeautifulPrint(imageSyncResult) }