Skip to content

UI tests for Developer Portal (API Products and API Key management) #1003

Description

@emmaaroche

Description

Add UI tests for API Product / Management happy paths to the testsuite repo. We need basic end-to-end flows for the three user roles (Admin, Owner, Consumer) that verify both the console UI and the created resources.

The console plugin repo already has comprehensive e2e tests for all the edge cases and detailed interactions. This testsuite work focuses on core happy paths that validate the full stack in nightlies and releases.

User Flows

Admin/Owner (these two roles have the same permissions for CRUD)

  • Create an APIProduct through the form, verify it appears in the list
  • View the product in the list
  • Delete it and confirm it's gone
  • Approve a consumer's API key request (verify the Secret gets created)
  • Deny a request with a reason (verify the status updates)
  • Bulk approve multiple requests
  • Bulk deny multiple requests

Consumer

  • Browse the API catalog across all namespaces
  • View product details (read-only - no edit/delete buttons)
  • Request an API key for a product with manual approval (should show Pending)
  • Request a key for auto-approval product (should immediately go Active and create the Secret)
  • View their API keys
  • Reveal a key value through the warning modal
  • Delete a key with name confirmation

Test Structure

testsuite/tests/singlecluster/ui/console_plugin/api_products/
├── conftest.py                      # User auth states, fixtures for API products/keys/requests
├── test_api_product_crud.py         # Admin + Owner parametrized CRUD tests
├── test_consumer_catalog.py         # Consumer browse/view flows
├── test_approval_flows.py           # Admin/Owner approval operations
└── test_consumer_api_keys.py        # Consumer key request/management

Page objects go in testsuite/page_objects/api_products/.

What's NOT in scope

The console plugin e2e already covers:

  • All the details page tabs
  • Edit flows
  • Edge cases and error conditions
  • Form validation details

Metadata

Metadata

Assignees

Labels

UIUI test cases and improvements to infrastructure

Type

No type

Projects

Status
🆕 New
Status
No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions