This document describes how to run Feldera platform tests with different authentication methods.
Platform tests support two authentication methods depending on configuration:
- OIDC Authentication (preferred when configured)
- API Key Authentication (fallback)
- No Authentication (development fallback)
The authentication method is automatically selected based on available environment variables.
Uses Resource Owner Password Flow to obtain JWT tokens from your OIDC provider.
Environment Variables:
export OIDC_TEST_ISSUER="https://your-oidc-provider.com"
export OIDC_TEST_CLIENT_ID="your-client-id"
export OIDC_TEST_CLIENT_SECRET="your-client-secret"
export OIDC_TEST_USERNAME="testuser@example.com"
export OIDC_TEST_PASSWORD="test-password"Uses a static API key for authentication.
Environment Variables:
export FELDERA_API_KEY="your-api-key"If neither OIDC nor API key is configured, tests run without authentication.
Assumes a local Feldera instance running on localhost:8080.
-
Configure your OIDC provider (e.g., Okta, Auth0)
-
Set environment variables:
export OIDC_TEST_ISSUER="https://your-provider.com" export OIDC_TEST_CLIENT_ID="your-client-id" export OIDC_TEST_CLIENT_SECRET="your-client-secret" export OIDC_TEST_USERNAME="testuser@example.com" export OIDC_TEST_PASSWORD="test-password" export FELDERA_HOST="http://localhost:8080"
-
Start pipeline-manager with OIDC authentication:
./pipeline-manager \ --auth-provider generic-oidc \ --auth-issuer "$OIDC_TEST_ISSUER" \ --auth-client-id "$OIDC_TEST_CLIENT_ID"
-
Run platform tests:
cd python uv run pytest tests/platform -v
-
Create an API key via Feldera UI or API
-
Set environment variables:
export FELDERA_API_KEY="your-api-key" export FELDERA_HOST="http://localhost:8080"
-
Start pipeline-manager (default configuration):
./pipeline-manager
-
Run platform tests:
cd python uv run pytest tests/platform -v
-
Set environment variables:
export FELDERA_HOST="http://localhost:8080"
-
Start pipeline-manager (default configuration):
./pipeline-manager
-
Run platform tests:
cd python uv run pytest tests/platform -v
Tests OIDC authentication functionality specifically:
cd python
uv run pytest tests/platform/test_oidc_auth_simple.py -vNote: These tests require OIDC configuration and will be skipped if not available.
Tests all platform functionality with whatever authentication is configured:
cd python
uv run pytest tests/platform -vThe platform tests automatically select authentication in this order:
- OIDC Token (if all OIDC environment variables are set)
- API Key (if
FELDERA_API_KEYis set) - No Authentication (fallback for development)
OIDC_TEST_ISSUER=https://your-oidc-provider.com
OIDC_TEST_CLIENT_ID=your-client-id
OIDC_TEST_CLIENT_SECRET=your-client-secret
OIDC_TEST_USERNAME=testuser@example.com
OIDC_TEST_PASSWORD=test-password
helper.py- Main test utilities with unified authentication supporttest_oidc_auth_simple.py- OIDC-specific authentication teststestutils_oidc.py- OIDC token management utilities- All other
test_*.pyfiles - Platform tests that use unified authentication