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-tower:5.4.0-0319", "cmii-uav-platform-logistics:5.4.0", "cmii-uav-platform-qinghaitourism:4.1.0-21377-0508", "cmii-uav-platform-securityh5:5.4.0", "cmii-uav-platform:5.4.0-25263-041102", "cmii-uav-platform-ai-brain:5.4.0", "cmii-uav-emergency:5.3.0", "cmii-uav-kpi-monitor:5.4.0", "cmii-uav-platform-splice:5.4.0-040301", "cmii-uav-platform-jiangsuwenlv:4.1.3-jiangsu-0427", "cmii-live-operator:5.2.0", "cmii-uav-gateway:5.4.0", "cmii-uav-platform-security:4.1.6", "cmii-uav-integration:5.4.0-25916", "cmii-uav-notice:5.4.0", "cmii-uav-platform-open:5.4.0", "cmii-srs-oss-adaptor:2023-SA", "cmii-admin-gateway:5.4.0", "cmii-uav-process:5.4.0-0410", "cmii-suav-supervision:5.4.0-032501", "cmii-uav-platform-cms-portal:5.4.0", "cmii-uav-platform-multiterminal:5.4.0", "cmii-admin-data:5.4.0-0403", "cmii-uav-cloud-live:5.4.0", "cmii-uav-grid-datasource:5.2.0-24810", "cmii-uav-platform-qingdao:4.1.6-24238-qingdao", "cmii-admin-user:5.4.0", "cmii-uav-industrial-portfolio:5.4.0-28027-041102", "cmii-uav-alarm:5.4.0-0409", "cmii-uav-clusters:5.2.0", "cmii-uav-platform-oms:5.4.0", "cmii-uav-platform-hljtt:5.3.0-hjltt", "cmii-uav-platform-mws:5.4.0", "cmii-uav-autowaypoint:4.1.6-cm", "cmii-uav-grid-manage:5.1.0", "cmii-uav-platform-share:5.4.0", "cmii-uav-cms:5.3.0", "cmii-uav-oauth:5.4.0-032901", "cmii-open-gateway:5.4.0", "cmii-uav-data-post-process:5.4.0", "cmii-uav-multilink:5.4.0-032701", "cmii-uav-platform-media:5.4.0", "cmii-uav-platform-visualization:5.2.0", "cmii-uav-platform-emergency-rescue:5.2.0", "cmii-app-release:4.2.0-validation", "cmii-uav-device:5.4.0-28028-0409", "cmii-uav-gis-server:5.4.0", "cmii-uav-brain:5.4.0", "cmii-uav-depotautoreturn:5.4.0", "cmii-uav-threedsimulation:5.1.0", "cmii-uav-grid-engine:5.1.0", "cmii-uav-developer:5.4.0-040701", "cmii-uav-waypoint:5.4.0-032901", "cmii-uav-platform-base:5.4.0", "cmii-uav-platform-threedsimulation:5.2.0-21392", "cmii-uav-platform-detection:5.4.0", "cmii-uav-logger:5.4.0-0319", "cmii-uav-platform-seniclive:5.2.0", "cmii-suav-platform-supervisionh5:5.4.0", "cmii-uav-user:5.4.0", "cmii-uav-surveillance:5.4.0-28028-0409", "cmii-uav-mission:5.4.0-28028-041006", "cmii-uav-mqtthandler:5.4.0-25916-041001", "srs:v5.0.195", "cmii-uav-material-warehouse:5.4.0-0407", "cmii-uav-platform-armypeople:5.4.0-041201", "cmii-suav-platform-supervision:5.4.0", "cmii-uav-airspace:5.4.0-0402", }, FullNameImageList: nil, ProjectVersion: "", DirectHarborHost: "harbor.wdd.io", CompressImageToGzip: false, UploadToDemoMinio: false, ShouldDirectPushToHarbor: true, } // 调用函数并获取结果。这里需要根据你的实际需求来验证返回的结果是否符合预期。 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) }