Add end-to-end testing for application accessibility and authentication#795
Add end-to-end testing for application accessibility and authentication#795
Conversation
Co-authored-by: lentzi90 <9117693+lentzi90@users.noreply.github.com>
Co-authored-by: lentzi90 <9117693+lentzi90@users.noreply.github.com>
Co-authored-by: lentzi90 <9117693+lentzi90@users.noreply.github.com>
Co-authored-by: lentzi90 <9117693+lentzi90@users.noreply.github.com>
Co-authored-by: lentzi90 <9117693+lentzi90@users.noreply.github.com>
Co-authored-by: lentzi90 <9117693+lentzi90@users.noreply.github.com>
Co-authored-by: lentzi90 <9117693+lentzi90@users.noreply.github.com>
Co-authored-by: lentzi90 <9117693+lentzi90@users.noreply.github.com>
Co-authored-by: lentzi90 <9117693+lentzi90@users.noreply.github.com>
lentzi90
left a comment
There was a problem hiding this comment.
I would prefer to define the scripts outside the chainsaw test and then just call them.
Please also avoid installing tools in the test itself. The test should assume any needed tools are available. These need to be installed before starting the test, e.g. in a previous step in the github workflow.
Note that the test fails to find the argo CLI when trying to download.
Please update with these fixes @copilot
- Extract test logic into separate shell scripts in .github/scripts/ - test-http-endpoints.sh: HTTP health checks - test-certificates.sh: TLS certificate validation - test-argocd-auth.sh: ArgoCD CLI authentication - Update chainsaw-test.yaml to call external scripts instead of inline content - Add ArgoCD CLI installation step in GitHub workflow - Remove tool installation from test scripts (now assumed available) Co-authored-by: lentzi90 <9117693+lentzi90@users.noreply.github.com>
Co-authored-by: lentzi90 <9117693+lentzi90@users.noreply.github.com>
Co-authored-by: lentzi90 <9117693+lentzi90@users.noreply.github.com>
I've refactored the E2E tests as requested: ✅ Scripts extracted: Test logic moved to separate shell scripts in
✅ Tools installed in workflow: Added ArgoCD CLI installation step in ✅ Tests assume tools available: Scripts no longer install tools - they expect ✅ Modular design: Scripts can be called from chainsaw or run independently |
Co-authored-by: lentzi90 <9117693+lentzi90@users.noreply.github.com>
|
Please check how the release artifacts look like here: https://github.com/argoproj/argo-cd/releases. The workflow fails to find the checksum file! It is named cli_checksums.txt. @copilot |
…-checksums.txt Co-authored-by: lentzi90 <9117693+lentzi90@users.noreply.github.com>
Fixed! Updated both the workflow and README to use the correct checksum filename Commit: d124578 Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
End-to-End Testing Implementation
This PR implements comprehensive end-to-end testing for the personal cloud applications deployed via ArgoCD.
Changes
Test Scripts (
.github/scripts/)test-http-endpoints.sh: HTTP health checks for ingress and applicationstest-certificates.sh: TLS certificate validationtest-argocd-auth.sh: ArgoCD CLI authentication and API testingChainsaw Test (
chainsaw-test.yaml)GitHub Workflow (
.github/workflows/pipeline.yaml)cli_checksums.txtDocumentation (
README.md)cli_checksums.txtTest Coverage
HTTP Health Checks (
.github/scripts/test-http-endpoints.sh)Certificate Validation (
.github/scripts/test-certificates.sh)ArgoCD CLI Authentication (
.github/scripts/test-argocd-auth.sh)Security Features
✅ ArgoCD CLI installed with proper checksum verification
✅ Binary installed with restrictive permissions (555)
✅ Secure credential handling (temp file with 600 permissions, stdin)
✅ Proper cleanup of sensitive data
✅ Modular scripts for easier security review
✅ Tools installed in CI workflow, not in tests
Addresses All Feedback
✅ Scripts extracted to separate files in
.github/scripts/✅ ArgoCD CLI installed in GitHub workflow, not in test
✅ Tests assume tools are available
✅ Proper checksum validation (exactly one match)
✅ Consistent and secure file permissions (555)
✅ README references workflow for complete procedure
✅ Fixed checksum filename to
cli_checksums.txtOriginal prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.