Files
supabase/e2e/studio/env.config.ts
Ali Waseem c7f653f33f chore: move api solution to storage and parallelize tests (#42565)
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

## What kind of change does this PR introduce?

- Move storage tests to run in parallel
- Updated utils to use env

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Tests**
* Improved test reliability by shifting storage bucket setup and cleanup
from UI-based to API-backed operations.
* Enhanced test isolation with streamlined prerequisite navigation
steps.

* **Chores**
* Updated environment configuration to support dynamic API URL and
service role key settings.
* Refactored internal storage management utilities for improved
maintainability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-06 10:50:41 -07:00

52 lines
1.8 KiB
TypeScript

import dotenv from 'dotenv'
import path from 'path'
// Load .env.local before reading process.env
dotenv.config({
path: path.resolve(import.meta.dirname, '.env.local'),
override: true,
})
const toBoolean = (value?: string) => {
if (value == null) return false
const normalized = value.trim().toLowerCase()
return normalized === 'true'
}
// Default service role key for local development
const DEFAULT_SERVICE_ROLE_KEY = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZS1kZW1vIiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImV4cCI6MTk4MzgxMjk5Nn0.EGIM96RAZx35lJzdJsyH-qQwv8Hdp7fsn3W0YpN81IU"
export const env = {
STUDIO_URL: process.env.STUDIO_URL || 'http://localhost:8082',
API_URL: process.env.API_URL || 'http://127.0.0.1:54321',
IS_PLATFORM: toBoolean(process.env.IS_PLATFORM || 'false'),
EMAIL: process.env.EMAIL,
PASSWORD: process.env.PASSWORD,
PROJECT_REF: process.env.PROJECT_REF || undefined,
GITHUB_USER: process.env.GITHUB_USER,
GITHUB_PASS: process.env.GITHUB_PASS,
GITHUB_TOTP: process.env.GITHUB_TOTP,
VERCEL_AUTOMATION_BYPASS_SELFHOSTED_STUDIO:
process.env.VERCEL_AUTOMATION_BYPASS_SELFHOSTED_STUDIO || 'false',
ORG_SLUG: process.env.ORG_SLUG || 'default',
SUPA_REGION: process.env.SUPA_REGION || 'us-east-1',
SUPA_PAT: process.env.SUPA_PAT || 'test',
BRANCH_NAME: process.env.BRANCH_NAME || `e2e-test-local`,
AUTHENTICATION:
Boolean(process.env.EMAIL && process.env.PASSWORD) ||
Boolean(process.env.GITHUB_USER && process.env.GITHUB_PASS && process.env.GITHUB_TOTP),
IS_APP_RUNNING_ON_LOCALHOST:
process.env.STUDIO_URL?.includes('localhost') || process.env.STUDIO_URL?.includes('127.0.0.1'),
SERVICE_ROLE_KEY: process.env.SERVICE_ROLE_KEY || DEFAULT_SERVICE_ROLE_KEY,
}
export const STORAGE_STATE_PATH = path.join(import.meta.dirname, './playwright/.auth/user.json')