Skip to content

chore: add E2E tests for Flink UDFs#3386

Open
Dave Shoup (shouples) wants to merge 13 commits into
mainfrom
djs/e2e-flink-udfs
Open

chore: add E2E tests for Flink UDFs#3386
Dave Shoup (shouples) wants to merge 13 commits into
mainfrom
djs/e2e-flink-udfs

Conversation

@shouples

@shouples Dave Shoup (shouples) commented May 5, 2026

Copy link
Copy Markdown
Contributor

Summary of Changes

Sample run: https://semaphore.ci.confluent.io/workflows/fe780ab0-c8d1-4314-8be7-127b44de7217?pipeline_id=9b07a948-933a-4cfd-9ec5-17047030507c

image

Closes #2482, and also closes #3110 by setting up the artifact playwright fixture.

Pull request checklist

Please check if your PR fulfills the following (if applicable):

Tests

  • Added new
  • Updated existing
  • Deleted existing

Release notes

  • Does anything in this PR need to be mentioned in the user-facing CHANGELOG?

Copilot AI review requested due to automatic review settings May 5, 2026 13:47

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR adds Playwright E2E coverage for Flink UDF user flows and introduces a reusable Playwright fixture to create/clean up Flink artifacts (to reduce leaked test resources), along with small supporting updates to tags/CI defaults and accessibility labeling needed for stable selectors.

Changes:

  • Added new E2E specs covering guided UDF creation, SQL registration document generation, and UDF deletion (parameterized by cloud provider/region).
  • Introduced an artifact Playwright fixture (plus ArtifactConfig typing) to upload an artifact for a test and delete it afterward.
  • Added a new @flink-udfs tag and included it in default CI E2E tag sets; added an accessibility label for Flink UDF tree items.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
tests/e2e/types/artifact.ts Adds ArtifactConfig type for configuring artifact fixture behavior.
tests/e2e/tags.ts Introduces Tag.FlinkUDFs (@flink-udfs).
tests/e2e/specs/flinkUdf.spec.ts New E2E tests for UDF create/open-SQL-template/delete flows.
tests/e2e/objects/views/FlinkDatabaseView.ts Adds UDF-related view helpers; refactors artifact deletion to use search-based lookup.
tests/e2e/baseTest.ts Adds artifactConfig option + artifact fixture with upload + teardown deletion behavior.
src/models/flinkUDF.ts Adds accessibilityInformation.label for UDF tree items (enables stable aria-label selectors).
service.yml Adds @flink-udfs to default E2E tag sets.
.semaphore/semaphore.yml Adds @flink-udfs to default E2E tag sets for Semaphore promotions.

Comment thread tests/e2e/objects/views/FlinkDatabaseView.ts Outdated
Comment thread tests/e2e/baseTest.ts Outdated
Comment thread tests/e2e/specs/flinkUdf.spec.ts Outdated
@sonarqube-confluent

Copy link
Copy Markdown

@shouples Dave Shoup (shouples) changed the base branch from main to djs/flink-view-progress-fix June 26, 2026 20:06
Base automatically changed from djs/flink-view-progress-fix to main June 29, 2026 15:27
@sonarqube-confluent

Copy link
Copy Markdown

@shouples Dave Shoup (shouples) marked this pull request as ready for review June 29, 2026 16:38
@shouples Dave Shoup (shouples) requested a review from a team as a code owner June 29, 2026 16:38

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

looks good ✅✅✅✅✅✅✅

// server-side cleanup: if the happy-path test didn't reach its inline delete
// (e.g. an earlier assertion failed), drop the orphaned artifact here so
// reruns don't pile up dangling artifacts on the cluster. Best-effort: a
// failed cleanup must not mask the original test failure, hence the catch.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

👍

Comment thread tests/e2e/baseTest.ts
Comment on lines +104 to +106
* Configuration options for creating an artifact with the {@linkcode artifact} fixture.
*/
artifactConfig: ArtifactConfig | undefined;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

😎

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.

E2E: Set up playwright fixture for creating and deleting Flink artifacts E2E testing for UDF user flows

3 participants