Skip to content

Feature/quickstarter automatic tests improvements#1362

Merged
BraisVQ merged 45 commits intomasterfrom
feature/quickstarter-auto-tests-improvements
Feb 6, 2026
Merged

Feature/quickstarter automatic tests improvements#1362
BraisVQ merged 45 commits intomasterfrom
feature/quickstarter-auto-tests-improvements

Conversation

@jorge-romero
Copy link
Contributor

This pull request introduces several improvements to the quickstarter test framework, focusing on developer experience, test diagnostics, and usability. The main enhancements include a new developer-friendly test runner script, extended documentation for test resource management and namespace specification, improved command-line argument handling for test scripts. There are also updates to dependencies and some cleanup of unused code.

Developer tooling and usability improvements:

  • Added a new script dev-test.sh that provides a developer-friendly interface for running quickstarter tests, including environment detection, clear output, and automatic port-forwarding for local development.
  • Enhanced quickstarter-test.sh with improved command-line argument parsing (support for project, quickstarter, and parallel options), better workspace cleanup, and result processing.
  • Updated the Makefile to pass new arguments to quickstarter-test.sh and set a default project variable, improving test invocation flexibility. [1] [2]

Documentation enhancements:

  • Extended README.md with instructions for writing and running automatic quickstarters tests.
    Dependency updates and code cleanup:

  • Updated Go module dependencies to newer versions and added new libraries for logging and JSON parsing.

jorge-romero and others added 30 commits February 4, 2026 12:46
…ariables with TMPL_ prefix and updating TemplateData structure for better clarity.
…canning all environment variables, with added logging for loaded variables and warnings for missing ones.
…cy by removing unnecessary blank lines and ensuring proper formatting in comments.
…ConfigMaps, Secrets, PersistentVolumeClaims, ServiceAccounts, and RoleBindings. Introduce utility functions for finding ConfigMaps, PersistentVolumeClaims, Secrets, ServiceAccounts, and Routes.
…arison with pretty printing and error handling.
…y by introducing a VerificationContext struct, consolidating verification logic, and enhancing error handling for resource cleanup.
…directly compare unmarshalled objects for improved clarity and performance.
…ramework

Implemented CreateTemplateData to generate structured template data for
step rendering.
Defined step types for upload, run, provision, build, http, wait, and
inspect to formalize and unify test step behavior.

Upload & template rendering

Added ExecuteUpload to support file uploads to Bitbucket repositories,
including optional template rendering for dynamic content handling.

Service URL resolution

Implemented service URL resolution for internal and external access
paths.
Added caching for resolved URLs and support for port-forwarding
scenarios.

Verification utilities

Introduced verification functions for Jenkins stages, SonarQube scans,
run step attachments, test result outputs, and OpenShift resource state
validation.

Wait step capabilities

Added waiting logic for multiple asynchronous conditions:

Pod readiness
Deployment rollout completion
Job completion
Route reachability
HTTP endpoint accessibility
Log message appearance
…nt variable

Add resource cleanup logic with KEEP_RESOURCES environment variable
…, logging refactor, and diagnostics

Added support for additional Kubernetes resources to improve resource
verification and management.
Implemented expose-service step to make services accessible during
tests.
Updated quickstarter test framework to resolve service URLs and set
environment variables for exposed services.
Enhanced documentation (README, QUICKSTARTERS_TESTS) with details on
resource retention and namespace configuration.
Removed unused PVC and role-binding utilities to streamline the
codebase.

Logging refactor

Replaced all fmt.Printf/fmt.Println usages with centralized logger
methods.
Improved message clarity and context (resource name, namespace, status).
Added structured log levels (Info, Warn, Success, Error, etc.).
Unified logging format and initialization across steps.

New test steps and Bitbucket enhancements

Added new test steps: expose-service, http, inspect, provision, run,
upload, and wait.
Enhanced Bitbucket step with new actions (delete-files, upload-file) and
expanded verification rules.
Improved Bitbucket logger initialization and test folder structure.

Build & provision improvements

Added support for rendering environment variables in build and provision
steps using the template engine.

Framework refactoring

Introduced step registry pattern for unified step execution.
Added hooks and retry logic for step execution.
Implemented diagnostics and reporting framework for quickstarter tests.
Improved advanced features documentation and reorganized test structure.

Misc

Added pretty-printing for golden JSON test diffs.
Fixed script issues.
@jorge-romero jorge-romero force-pushed the feature/quickstarter-auto-tests-improvements branch from f93016a to f70e3ef Compare February 6, 2026 07:48
@BraisVQ BraisVQ merged commit b627369 into master Feb 6, 2026
24 checks passed
@BraisVQ BraisVQ deleted the feature/quickstarter-auto-tests-improvements branch February 6, 2026 11:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants