Feature/quickstarter automatic tests improvements#1362
Merged
Conversation
…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.
f93016a to
f70e3ef
Compare
…//github.com/opendevstack/ods-core into feature/quickstarter-auto-tests-improvements
…nd improve logging format
BraisVQ
approved these changes
Feb 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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:
dev-test.shthat provides a developer-friendly interface for running quickstarter tests, including environment detection, clear output, and automatic port-forwarding for local development.quickstarter-test.shwith improved command-line argument parsing (support for project, quickstarter, and parallel options), better workspace cleanup, and result processing.Makefileto pass new arguments toquickstarter-test.shand set a default project variable, improving test invocation flexibility. [1] [2]Documentation enhancements:
Extended
README.mdwith 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.