Skip to content

Add live test coverage: Tiers 1-3 + next-tier (~80 new commands)#3280

Open
Daniel Ayaz (danielayaz) wants to merge 3 commits intomainfrom
dayaz/live-test-coverage-audit
Open

Add live test coverage: Tiers 1-3 + next-tier (~80 new commands)#3280
Daniel Ayaz (danielayaz) wants to merge 3 commits intomainfrom
dayaz/live-test-coverage-audit

Conversation

@danielayaz
Copy link
Member

@danielayaz Daniel Ayaz (danielayaz) commented Mar 13, 2026

Release Notes

Breaking Changes

  • N/A

New Features

  • N/A

Bug Fixes

  • N/A

Checklist

  • I have successfully built and used a custom CLI binary, without linter issues from this PR.
  • I have clearly specified in the What section below whether this PR applies to Confluent Cloud, Confluent Platform, or both.
  • I have verified this PR in Confluent Cloud pre-prod or production environment, if applicable.
  • I have verified this PR in Confluent Platform on-premises environment, if applicable.
  • I have attached manual CLI verification results or screenshots in the Test & Review section below.
  • I have added appropriate CLI integration or unit tests for any new or updated commands and functionality.
  • I confirm that this PR introduces no breaking changes or backward compatibility issues.
  • I have indicated the potential customer impact if something goes wrong in the Blast Radius section below.
  • I have put checkmarks below confirming that the feature associated with this PR is enabled in:
    • Confluent Cloud prod
    • Confluent Cloud stag
    • Confluent Platform
    • Check this box if the feature is enabled for certain organizations only

What

Expands live test coverage from ~50 commands to ~130 commands across Confluent Cloud commands. This is a test-only PR — no production code is modified.

Coverage Summary

Metric Before After
Test files 11 28
Commands covered ~50 ~130
Command groups covered 5 15
Coverage (of ~250 cloud-testable commands) ~20% ~52%

The ~250 denominator excludes commands requiring enterprise entitlements, on-prem infrastructure, external KMS integration, file uploads, or async provisioning (e.g., network, ksql cluster create, schema-registry dek/kek, flink compute-pool/statement). The total CLI has ~622 leaf commands, of which ~572 are cloud-relevant.

Changes

Tiers 1-3 (14 new test files, ~70 commands):

  • Tier 1 (read-only, zero infra): organization, audit-log, service-quota, billing, kafka region, context/configuration commands.
  • Tier 2 (standard cloud IAM & kafka): iam user, ip-group/filter CRUD, identity provider/pool/group-mapping CRUD, certificate-authority/pool CRUD, kafka quota CRUD, kafka produce/consume.
  • Tier 3 (connect & SR extensions): connect custom-plugin list, schema-registry cluster describe, compatibility validate, subject update.

Next-tier wins (3 new test files, ~10 more commands):

  • flink region list (aws/gcp/azure) — new flink build tag and live-test-flink Makefile target
  • plugin list — local-only, no cloud dependency
  • kafka share-group list — requires existing cluster
  • billing payment describe — read-only addition to existing billing test
  • schema-registry endpoint list — read-only addition to existing SR extended test
  • connect custom-runtime list — read-only addition to existing connect extended test
  • connect offset describe / connect event describe — piggyback on existing connector lifecycle in TestConnectClusterCRUDLive

Makefile updates:

  • Added live-test-flink target
  • Added live-test-billing target, updated live-test-essential to include billing
  • Added 17 total new resources to live-test-resource (flink_region, plugin, kafka_share_group + 14 from Tiers 1-3)

Blast Radius

Zero customer impact. This PR only adds live test files and Makefile targets. No production CLI code is changed.

References

Test & Review

  • All files pass go vet -tags="live_test,all" and go vet -tags="live_test,flink" with no errors.
  • Verified make live-test-resource prints all 28 resources correctly.
  • Individual resource tests can be verified with: make live-test-resource RESOURCE=<name> (requires CI environment with CLI_LIVE_TEST=1 and appropriate env vars).
  • Passing live test semaphore job using this branch: https://semaphore.ci.confluent.io/jobs/b2b45809-0871-41b3-a73f-f27017deefc2

…additional commands

Tier 1 (read-only, zero infra): organization, audit-log, service-quota, billing,
kafka region, context/configuration commands.

Tier 2 (standard cloud IAM & kafka): iam user, ip-group/filter CRUD, identity
provider/pool/group-mapping CRUD, certificate-authority/pool CRUD, kafka quota
CRUD, kafka produce/consume.

Tier 3 (connect & SR extensions): connect custom-plugin list, schema-registry
cluster describe, compatibility validate, subject update.

Also adds live-test-billing Makefile target and updates live-test-essential
to include billing. All 14 new resources added to live-test-resource.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@danielayaz Daniel Ayaz (danielayaz) requested a review from a team as a code owner March 13, 2026 20:07
Copilot AI review requested due to automatic review settings March 13, 2026 20:07
@confluent-cla-assistant
Copy link

🎉 All Contributor License Agreements have been signed. Ready to merge.
Please push an empty commit if you would like to re-run the checks to verify CLA status for all contributors.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new set of live integration tests (tiered by feature area) and Makefile conveniences to run them by group/resource, expanding end-to-end coverage of CLI commands across core, kafka, IAM, connect, schema registry, and billing.

Changes:

  • Add 14 new test/live/*_live_test.go files covering additional CLI command areas (list/describe + selected CRUD).
  • Extend make live-test-essential, add make live-test-billing, and register new resources in make live-test-resource.
  • Add schema-registry/connect/IAM extended live flows (schema compatibility validation, identity provider/pool/group-mapping, certificate authority/pool).

Reviewed changes

Copilot reviewed 15 out of 15 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
test/live/service_quota_live_test.go Adds live test for service-quota list.
test/live/schema_registry_extended_live_test.go Adds extended SR live flow (cluster describe, schema create, compat validate, subject update, config describe, cleanup).
test/live/organization_live_test.go Adds live tests for organization list/describe with JSON assertions.
test/live/kafka_region_live_test.go Adds live tests for kafka region list across clouds.
test/live/kafka_quota_live_test.go Adds live CRUD test for kafka quotas including SA creation and cleanup.
test/live/kafka_produce_consume_live_test.go Adds produce/consume live test + consumer group list + client-config create.
test/live/iam_user_live_test.go Adds live tests for IAM user list + invitation list.
test/live/iam_ip_group_filter_live_test.go Adds IAM IP group/filter CRUD live coverage with verification steps.
test/live/iam_identity_provider_live_test.go Adds IAM provider/pool/group-mapping live CRUD coverage.
test/live/iam_certificate_live_test.go Adds IAM certificate authority/pool live CRUD coverage (self-signed cert generation).
test/live/context_live_test.go Adds live tests for context/configuration commands and configuration update.
test/live/connect_extended_live_test.go Adds connect custom-plugin live test scaffold.
test/live/billing_live_test.go Adds live tests for billing price/cost/promo list commands.
test/live/audit_log_live_test.go Adds live tests for audit-log describe + route list.
Makefile Adds billing live-test target, includes billing in essential set, and registers new resources for live-test-resource.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

Comment on lines +21 to +23
// Register cleanup
s.registerCleanup(t, "connect custom-plugin delete {{.plugin_id}} --force", state)

"testing"
)

func (s *CLILiveTestSuite) TestConnectCustomPluginCRUDLive() {
Comment on lines +30 to +31
Name: "Describe disable_updates config",
Args: "configuration describe disable_updates -o json",
// Group Mapping CRUD
{
Name: "Create group mapping",
Args: `iam group-mapping create ` + groupMappingName + ` --description "Live test group mapping" --filter "\"engineering\" in groups" -o json`,
// Certificate Pool CRUD (depends on authority)
{
Name: "Create certificate pool",
Args: `iam certificate-pool create --provider {{.cert_authority_id}} --display-name "live-test-pool" --description "Live test certificate pool" --external-identifier "OU=Engineering" --filter "certificate.subject == \"OU=Engineering\"" -o json`,
…connect offsets/events, billing payment, SR endpoint

Batch A (read-only): flink region list (aws/gcp/azure), plugin list, kafka share-group list,
billing payment describe, schema-registry endpoint list, connect custom-runtime list.
Batch B (connect lifecycle): connect offset describe, connect event describe piggybacking
on existing connector in TestConnectClusterCRUDLive.

Adds live-test-flink Makefile target and flink_region, plugin, kafka_share_group resources.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@danielayaz Daniel Ayaz (danielayaz) changed the title 14 new test files covering ~70 … Add live test coverage: Tiers 1-3 + next-tier wins (~80 new commands) Mar 13, 2026
@danielayaz Daniel Ayaz (danielayaz) changed the title Add live test coverage: Tiers 1-3 + next-tier wins (~80 new commands) Add live test coverage: Tiers 1-3 + next-tier (~80 new commands) Mar 13, 2026
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@sonarqube-confluent
Copy link

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