AshvinBambhaniya2003 and GitHub
3f5b698dac
Feat(appfile): Add comprehensive unit tests for appfile and component package ( #6908 )
...
* feat(appfile): Add comprehensive unit tests for appfile package
This commit significantly enhances the test coverage for the `pkg/appfile` package by adding a comprehensive suite of new unit tests. These tests improve the reliability of core application parsing, generation, and validation logic.
Key additions include:
- **Parsing:** New tests for policy parsing, legacy application revision handling, and dynamic component loading.
- **Manifest Generation:** Added coverage for `GenerateComponentManifests` and `GeneratePolicyManifests` to ensure correctness of generated resources.
- **OAM Contracts:** New tests for `SetOAMContract` and `setWorkloadRefToTrait` to verify OAM label and reference injection.
- **Template & Context:** Added tests for loading templates from revisions (`LoadTemplateFromRevision`) and preparing the process context (`PrepareProcessContext`).
- **Validation:** Enhanced validation tests for component parameters and uniqueness of output names.
As part of this effort, the existing tests were also migrated from Ginkgo to the standard `testing` package with `testify/assert` to maintain consistency across the codebase.
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com >
* refactor(pkg/component): Migrate ref-objects tests to standard Go testing and add new test cases
This commit refactors the unit tests for `pkg/component/ref-objects` from a Ginkgo-based suite to the standard Go `testing` package. Additionally, new unit test cases have been added to further enhance test coverage and ensure the robustness of the `ref-objects` functionality.
Key changes include:
- Deletion of `pkg/component/ref_objects_suite_test.go`.
- Introduction of `pkg/component/main_test.go` to manage test environment setup and teardown using `TestMain`.
- Creation of `pkg/component/ref_objects_test.go` containing all the ref-objects related unit tests, now using standard Go testing functions, along with newly added test cases for improved coverage.
This migration improves consistency with other unit tests in the codebase and leverages the native Go testing framework.
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com >
* chore(pkg/component): Reorder imports in ref_objects_test.go
This commit reorders the import statements in `pkg/component/ref_objects_test.go` to adhere to standard Go formatting and import grouping conventions. This change improves code readability and consistency.
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com >
---------
Signed-off-by: Ashvin Bambhaniya <ashvin.bambhaniya@improwised.com >
2025-10-17 10:45:45 +01:00
36f217e258
Feat: webhook reject unknown cr outputs ( #6932 )
...
* feat: implement output resource existence validation in component, trait, and policy definitions
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
feat: add validation tests for ComponentDefinition and TraitDefinition outputs
- Implement tests for ComponentDefinition with non-existent CRDs in outputs, ensuring they are rejected.
- Add tests for valid outputs in ComponentDefinition, confirming acceptance.
- Include tests for mixed valid and non-K8s outputs in ComponentDefinition, verifying they pass validation.
- Test handling of empty outputs in ComponentDefinition, ensuring they are accepted.
- Introduce tests for invalid apiVersion formats in ComponentDefinition, confirming rejection.
- Add tests for TraitDefinition with mixed valid and invalid outputs, ensuring proper rejection.
- Create YAML manifests for valid and invalid ComponentDefinitions and TraitDefinitions to support e2e tests.
- Ensure comprehensive coverage of edge cases in output validation logic.
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
fix: handle errors in resource validation for component, trait, and policy definitions
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
fix: improve error handling in Go module tidy and resource validation
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
feat: add webhook debugging setup and validation tests for ComponentDefinition and TraitDefinition
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
feat: add VS Code launch configuration for debugging webhook validation
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
refactor: streamline error handling in Go module tidy and remove obsolete test manifests
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
feat: add mock context support for CUE template compilation
Signed-off-by: Reetika Malhotra <malhotra.reetika25@gmail.com >
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
feat: enhance validation for WorkflowStepDefinition resources and improve output resource checks
Signed-off-by: viskumar <viskumar@guidewire.com >
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
feat: implement resource validation for CUE templates and add unit tests
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
feat: enhance logging and validation for component, policy, and trait definitions
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
feat: improve error handling and logging in validation handlers for component, policy, trait, and workflow step definitions
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
Remove testUnknownResource folder from repository
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
feat: implement structured logging for validation handlers and remove deprecated request_logger
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
feat: enhance structured logging and error handling in admission validation handlers
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
feat: improve logging messages in validating handlers for better clarity
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
feat: refactor logging field definitions for consistency and improve error handling in resource validation
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
chore: add license header to invalid_resource_check.go and invalid_resource_check_test.go
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
feat: enhance validation tests for WorkflowStepDefinition and improve error messages
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
feat: add e2e-test-local target for k3d cluster setup and webhook validation
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
feat: add webhook configuration for workflow step definitions with validation rules
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
feat: update e2e-test-local configuration and improve Ingress API version compatibility
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
feat: add installation of FluxCD CRDs in pre-hook to prevent webhook validation errors
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
feat: add ValidateResourcesExist feature gate and enhance resource validation in webhook handlers
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
feat: enhance resource validation in e2e tests and improve addon definition checks
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
feat: enhance addon definition detection by using owner references for validation
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
feat: add ValidateResourcesExist feature gate and implement webhook validation for resource existence
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
feat: update Ingress API version to v1 and adjust service references in tests
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
chore: remove webhook test commands and related YAML files from makefiles and tests
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
chore: remove architecture section from webhook debugging guide
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
feat: update webhook setup script with k3d host gateway IP note and improve cluster creation logic
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
* Fix: Correct path in Ingress resource definition in template tests
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
* Chore: add empty line to re-trigger failing workflow
Signed-off-by: Vaibhav Agrawal <vaibhav.agrawal0096@gmail.com >
* Chore: remove space to re-trigger workflow
Signed-off-by: Chaitanya Reddy Onteddu <co@guidewire.com >
---------
Signed-off-by: Ayush Kumar <ayushshyamkumar888@gmail.com >
Signed-off-by: Vaibhav Agrawal <vaibhav.agrawal0096@gmail.com >
Signed-off-by: Chaitanya Reddy Onteddu <co@guidewire.com >
Co-authored-by: Chaitanya Reddy Onteddu <chaitanyareddy0702@gmail.com >
Co-authored-by: Amit Singh <amisingh@guidewire.com >
2025-09-30 09:30:53 -07:00
bc15e5b359
Feat: Semantic versioning support for Definitions ( #6648 )
...
CodeQL / Analyze (go) (push) Failing after 1m43s
Definition-Lint / definition-doc (push) Failing after 6m13s
E2E MultiCluster Test / detect-noop (push) Successful in 24s
E2E Test / detect-noop (push) Successful in 17s
Go / detect-noop (push) Successful in 21s
license / Check for unapproved licenses (push) Failing after 2m38s
Registry / publish-core-images (push) Failing after 40s
Unit-Test / detect-noop (push) Successful in 20s
E2E MultiCluster Test / e2e-multi-cluster-tests (v1.29) (push) Failing after 1m55s
E2E Test / e2e-tests (v1.29) (push) Failing after 1m18s
Go / staticcheck (push) Successful in 18m35s
Go / lint (push) Failing after 19m38s
Go / check-diff (push) Failing after 15m7s
Go / check-core-image-build (push) Failing after 3m45s
Go / check-cli-image-build (push) Failing after 2m23s
Unit-Test / unit-tests (push) Failing after 12m43s
Go / check-windows (push) Has been cancelled
Scorecards supply-chain security / Scorecards analysis (push) Failing after 48s
* feature: Add Semantic versioning to KubeVela Definitions
Fixes https://github.com/kubevela/kubevela/issues/6435
Fixes https://github.com/kubevela/kubevela/issues/6534
Changes:
- Adds an optional "Version" field for all Definition Specs.
- Adds the following new validations to Webhooks for Definitions:
- Validate the "Version" field follows Semantic versioning.
- Dis-allow conflicting versioning fields ( Name annotation, Spec.Version)
- Adds the following new validations to Webhooks for Application:
- Dis-allow the use of both the "publishVersion" & "autoUpdate" annotations.
- Enahnce "multiStageComponentApply" feature to support auto updates.
Boy Scout Changes:
- Fixes Plugin e2e tests broken by the fix for 6534.
- Fixes the dryRun and livediff commands to respect the "-n" namespace flag.
- Fixes the Application ValidationWebhook to respect the "-n" namespace flag.
Co-authored-by: Rahul Kumar <35751394+bugbounce@users.noreply.github.com >
Co-authored-by: Chaitanya Reddy <chaitanyareddy0702@gmail.com >
Co-authored-by: Vibhor Chinda <vibhorchinda@gmail.com >
Co-authored-by: Shivin Gopalani <gopalanishivin@gmail.com >
Signed-off-by: kanchan-dhamane <74534570+kanchan-dhamane@users.noreply.github.com >
* feature: Add KEP to define the proposal
Signed-off-by: kanchan-dhamane <74534570+kanchan-dhamane@users.noreply.github.com >
* fix: Rebase and fix merge conflicts
Signed-off-by: kanchan-dhamane <74534570+kanchan-dhamane@users.noreply.github.com >
* Fix: Adds unit test cases
Signed-off-by: kanchan-dhamane <74534570+kanchan-dhamane@users.noreply.github.com >
---------
Signed-off-by: kanchan-dhamane <74534570+kanchan-dhamane@users.noreply.github.com >
Co-authored-by: bugbounce <35751394+bugbounce@users.noreply.github.com >
2025-02-03 11:09:28 +08:00
qiaozp and GitHub
00ae0c9494
Feat: support offline dryrun with deploy step ( #6234 )
2023-07-26 18:09:01 +08:00
Somefive and GitHub
f1bae16723
Chore: remove schematic kube and helm ( #6099 )
...
* Chore: remove unused code
Signed-off-by: Somefive <yd219913@alibaba-inc.com >
* Chore: remove schematic Kube & Helm
Signed-off-by: Somefive <yd219913@alibaba-inc.com >
---------
Signed-off-by: Somefive <yd219913@alibaba-inc.com >
2023-06-12 10:41:02 +08:00
Somefive and GitHub
dd899c2b39
Chore: remove outdated apis(v1alppha2 ApplicationConfiguration Component, and HealthScope, Rollout) ( #6041 )
...
* remove outdated api
Signed-off-by: Somefive <yd219913@alibaba-inc.com >
* fix rt test: no component rt
Signed-off-by: Somefive <yd219913@alibaba-inc.com >
* recover context.revision to component hash
Signed-off-by: Somefive <yd219913@alibaba-inc.com >
---------
Signed-off-by: Somefive <yd219913@alibaba-inc.com >
2023-06-01 09:32:49 +08:00
Somefive and GitHub
ef4bb07fb3
Chore: remove dm ( #6036 )
...
Signed-off-by: Somefive <yd219913@alibaba-inc.com >
2023-05-25 13:54:35 +08:00
Tianxin Dong and GitHub
c3ca308489
Chore: update cue version to 0.4.3 ( #4425 )
...
* Chore: update cue version to 0.4.3
Signed-off-by: FogDong <dongtianxin.tx@alibaba-inc.com >
* resolve some comments
Signed-off-by: FogDong <dongtianxin.tx@alibaba-inc.com >
* fix lint
Signed-off-by: FogDong <dongtianxin.tx@alibaba-inc.com >
* add more tests
Signed-off-by: FogDong <dongtianxin.tx@alibaba-inc.com >
* rebase and add more tests
Signed-off-by: FogDong <dongtianxin.tx@alibaba-inc.com >
* resolve comments
Signed-off-by: FogDong <dongtianxin.tx@alibaba-inc.com >
2022-08-08 17:57:48 +08:00
Jianbo Sun and GitHub
aa87d3da24
upgrade K8s dependency lib to v0.21 ( #1985 )
...
* upgrade K8s dependency to v0.21
* update CRD for new version of controller-runtime
* fix ci component revision create must fill Raw in runtime.RawExtension
* try fix test
* start control plane timeout set to 1min and fix tests
* add timeout for env test start and stop
* longer timeout time for BeforeSuit function
* upgrade kubebuilder and k8s cluster version to match with v1.21.2 in github action
* fix test
* fix resource tracker ownerRef override
* update developer guides
2021-08-03 11:30:02 +08:00
yangsoon and GitHub
fed40a1060
fix webhook: set a default workload.type for componentdefinition which doesn't refer to a workload ( #1686 )
...
* fix webhook
* fix controller
* fix error message
2021-05-24 23:32:02 +08:00
Yue Wang and GitHub
0556f03f28
fix traitDef appliesToWorkloads ( #1667 )
...
update docs
Signed-off-by: roy wang <seiwy2010@gmail.com >
2021-05-20 19:06:38 +08:00
b3302b318c
Support server-side Terraform as cloud resource provider ( #1519 )
...
* Support server-side Terraform as cloud resource provider
Provide another schematic `Terraform` to provision cloud
resource.
Fix #698
* make namespace optional
add unit-tests
* support vela show to generate componentdefinition usage
* add unit-tests
* tidy go mod
* clean go mod and updated go sum
* Remove `variable` from `properties` of Terraform compoent
* don't literally set component catagory
* refine error message when a capability could not be found
* fix ut
* Code refactor and add unittests
* fix ci issues
* Update references/plugins/references.go
Co-authored-by: Jianbo Sun <wonderflow.sun@gmail.com >
* add test cases
* fix ci issue
* revert lowercase of "Properties"
* fix ci issue
* add ut for appfile
* fix e2e issue
* add docs
* fix official site build
Co-authored-by: Jianbo Sun <wonderflow.sun@gmail.com >
2021-04-30 16:28:00 +08:00
Yue Wang and GitHub
63b348f4d8
implement cli vela system live-diff ( #1419 )
...
move dry-run and live-diff into an independent pkg
WIP add sample and doc
WIP unit test for live-diff
add unit test
Signed-off-by: roy wang <seiwy2010@gmail.com >
2021-04-13 12:29:25 +08:00
Yue Wang and GitHub
2d6f2083db
refactor pkg/appfile ( #1447 )
...
Signed-off-by: roy wang <seiwy2010@gmail.com >
2021-04-11 14:10:16 +08:00