[pipedv1][terraform] Add unit tests for executeApplyStage, executePlanStage, and executeRollbackStage
Maintainer thường phản hồi trong vòng 2 ngày
@akshat-lakhera đang làm issue này rồi.
Từ ngày 17/10/2026.
- #7109 của @vishnukothakapu — đã đóng, không merge
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 76/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- go, terraform
- Lĩnh vực
- devops, testing-qa
Hướng nghiên cứu
Bắt đầu với các vị trí TODO trong pkg/app/pipedv1/plugin/terraform/deployment/apply.go, plan.go và rollback.go, sau đó đọc plugin_test.go và thư mục testdata của package. Thêm các unit test cho những trường hợp lỗi và trạng thái được liệt kê, tuân theo hạ tầng kiểm thử hiện có. Công việc được hoàn tất khi tất cả các kịch bản được chỉ định đều được bao phủ và các bài kiểm thử của package đều vượt qua.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
What would you like to be added:
Three stage-execution functions in the pipedv1 Terraform plugin are marked with // TODO: add test comments but have no unit tests:
pkg/app/pipedv1/plugin/terraform/deployment/apply.go:27-executeApplyStagepkg/app/pipedv1/plugin/terraform/deployment/plan.go:28-executePlanStagepkg/app/pipedv1/plugin/terraform/deployment/rollback.go:27-executeRollbackStage
These TODOs were left by the original authors as explicit invitations for contribution. The test infrastructure already exists (plugin_test.go and testdata/ directory in the same package), so no new scaffolding is needed.
Tests should cover at least:
executeApplyStage:
- Failure when
StageLogPersisteris unavailable (nil client) - Failure when
provider.NewTerraformCommandfails (invalid/missing directory)
executePlanStage:
- Failure when
StageLogPersisteris unavailable - Failure when
StageConfigJSON is invalid StageStatusExitedwhen plan shows no changes andExitOnNoChanges: trueStageStatusSuccesswhen plan shows no changes andExitOnNoChanges: false
executeRollbackStage:
- Failure when
StageLogPersisteris unavailable StageStatusFailurewhenRunningDeploymentSource.CommitHashis empty (first deployment guard)- Failure when
provider.NewTerraformCommandfails
Why is this needed:
These functions are core to the Terraform plugin's deployment lifecycle but are completely untested. Adding tests here improves confidence in the pipedv1 plugin architecture and aligns with the project's existing testing patterns already seen in plugin_test.go.
- Ngôn ngữ chính
- Go
- Star
- 1.4k
- Fork
- 391
- Merge trung bình
- 4 ngày 1 giờ
- Pull request đã merge (30 ngày)
- 58
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của pipe-cd/pipecd
-
Applications at the repository root are not triggered by new commitsCó thể đã có người làm @Daksha1611 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
Maintainer thường phản hồi trong vòng 2 ngày
-
pipedv1 kubernetes plugins ignore trafficRouting.istio.host in K8S_TRAFFIC_ROUTINGCó thể đã có người làm @Dhirenderchoudhary đã nhận hôm nay. Đang mở
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 74/100
pipe-cd/pipecd#7626 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 2 ngày
-
pipectl transfer restore application drops backed-up labelsCó thể đã có người làm @bhavishyajain545 đã nhận 1 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
pipe-cd/pipecd#7622 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của pipe-cd/pipecd
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
-
docker-compose: postgres healthcheck should probe TCP (pg_isready -h localhost)Có thể đã có người làm @zezo-mohamed22 đã nhận hôm nay. Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 82/100
OneBusAway/watchdog#305 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
self-care self-care:agent-discoverability
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
githubnext/gh-cao#20928 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
automation documentation
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 70/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
SocialGouv/iterion#3287 ·
Maintainer thường phản hồi trong vòng 1 ngày