Skip to content

Comments

[Feature]: Add custom upgrade testing framework#205

Draft
SatabdiG wants to merge 12 commits intomainfrom
182_refactor_testing_code
Draft

[Feature]: Add custom upgrade testing framework#205
SatabdiG wants to merge 12 commits intomainfrom
182_refactor_testing_code

Conversation

@SatabdiG
Copy link
Collaborator

@SatabdiG SatabdiG commented Feb 16, 2026

#202

Add Custom Upgrade Test Framework

Implements a flexible upgrade test framework for the CloudFoundry provider, enabling specialized validation during provider upgrades beyond standard resource health checks.

What's New

Custom Upgrade Test Framework (upgrade_test_framework.go)

  • builder API for creating upgrade tests with custom pre/post-upgrade validations
  • Configurable timeouts, resource directories, and test phases
  • Per-test ProviderConfig management to avoid CRD ownership conflicts

Example Custom Test (space_external_name_upgrade_test.go)

  • Validates Space external-name follows UUID format
  • Ensures external-name annotations don't change during upgrades

New Test Infrastructure

  • CreateProviderConfig() helper for per-test ProviderConfig creation
  • LoadUpgradePackages() for version resolution

New Make Targets

  • make test-upgrade-base - Run baseline tests only
  • make test-upgrade-custom - Run custom tests only
  • make test-upgrade-compile - Verify compilation
  • make test-upgrade-help - Show usage examples

Testing

✅ Baseline upgrade test (v0.3.2 → v0.3.3): PASS
✅ Custom external-name test: PASS

Documentation

Updated upgrade-testing.md with quickstart guide
Usage examples for creating custom tests
Environment variable reference

Note

Follows patterns from crossplane-provider-btp for consistency across SAP providers.

@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval February 16, 2026 18:14 — with GitHub Actions Inactive
@SatabdiG SatabdiG changed the title feat: add custom upgrade testing framework [Feature]: Add custom upgrade testing framework Feb 16, 2026
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval February 18, 2026 17:38 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval February 20, 2026 09:57 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval February 20, 2026 13:27 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval February 20, 2026 20:39 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval February 20, 2026 20:46 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval February 20, 2026 21:22 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval February 20, 2026 21:40 — with GitHub Actions Inactive
@SatabdiG SatabdiG added the CF CF Provider label Feb 20, 2026
@SatabdiG SatabdiG self-assigned this Feb 20, 2026
@SatabdiG SatabdiG deployed to pr-e2e-no-approval February 20, 2026 21:51 — with GitHub Actions Active
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CF CF Provider

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

1 participant