11import { assertEquals , assertThrows } from '@std/assert' ;
2- import {
3- KNOWN_LOCAL_ANON_KEY ,
4- KNOWN_LOCAL_SERVICE_ROLE_KEY ,
5- } from '../../../src/shared/localDetection.ts' ;
62import {
73 resolveConnectionString ,
84 assertConnectionAvailable ,
@@ -11,31 +7,28 @@ import {
117} from '../../../src/platform/resolveConnection.ts' ;
128import postgres from 'postgres' ;
139
10+ // Local URL for test envs (triggers isLocalSupabaseEnv = true)
11+ const LOCAL_SUPABASE_URL = 'http://kong:8000' ;
12+
1413// ============================================================
1514// Local environment tests
1615// ============================================================
1716
1817Deno . test ( 'connection priority - local env uses Docker pooler URL by default' , ( ) => {
19- const env = { SUPABASE_ANON_KEY : KNOWN_LOCAL_ANON_KEY } ;
20- const result = resolveConnectionString ( env ) ;
21- assertEquals ( result , DOCKER_TRANSACTION_POOLER_URL ) ;
22- } ) ;
23-
24- Deno . test ( 'connection priority - local env with service role key uses Docker pooler URL' , ( ) => {
25- const env = { SUPABASE_SERVICE_ROLE_KEY : KNOWN_LOCAL_SERVICE_ROLE_KEY } ;
18+ const env = { SUPABASE_URL : LOCAL_SUPABASE_URL } ;
2619 const result = resolveConnectionString ( env ) ;
2720 assertEquals ( result , DOCKER_TRANSACTION_POOLER_URL ) ;
2821} ) ;
2922
3023Deno . test ( 'connection priority - local env respects config.connectionString override' , ( ) => {
31- const env = { SUPABASE_ANON_KEY : KNOWN_LOCAL_ANON_KEY } ;
24+ const env = { SUPABASE_URL : LOCAL_SUPABASE_URL } ;
3225 const options = { connectionString : 'postgresql://custom:5432/db' } ;
3326 const result = resolveConnectionString ( env , options ) ;
3427 assertEquals ( result , 'postgresql://custom:5432/db' ) ;
3528} ) ;
3629
3730Deno . test ( 'connection priority - local env respects config.sql override' , ( ) => {
38- const env = { SUPABASE_ANON_KEY : KNOWN_LOCAL_ANON_KEY } ;
31+ const env = { SUPABASE_URL : LOCAL_SUPABASE_URL } ;
3932 const options = { hasSql : true } ;
4033 const result = resolveConnectionString ( env , options ) ;
4134 // When sql is provided, we don't use the local pooler URL
@@ -45,7 +38,7 @@ Deno.test('connection priority - local env respects config.sql override', () =>
4538
4639Deno . test ( 'connection priority - local env with EDGE_WORKER_DB_URL uses it instead of docker pooler' , ( ) => {
4740 const env = {
48- SUPABASE_ANON_KEY : KNOWN_LOCAL_ANON_KEY ,
41+ SUPABASE_URL : LOCAL_SUPABASE_URL ,
4942 EDGE_WORKER_DB_URL : 'postgresql://custom-local:5432/db' ,
5043 } ;
5144 const result = resolveConnectionString ( env ) ;
@@ -58,7 +51,7 @@ Deno.test('connection priority - local env with EDGE_WORKER_DB_URL uses it inste
5851
5952Deno . test ( 'connection priority - production uses EDGE_WORKER_DB_URL' , ( ) => {
6053 const env = {
61- SUPABASE_ANON_KEY : 'prod-anon-key ' ,
54+ SUPABASE_URL : 'https://abc123.supabase.co ' ,
6255 EDGE_WORKER_DB_URL : 'postgresql://prod:5432/db' ,
6356 } ;
6457 const result = resolveConnectionString ( env ) ;
@@ -67,7 +60,7 @@ Deno.test('connection priority - production uses EDGE_WORKER_DB_URL', () => {
6760
6861Deno . test ( 'connection priority - production config.connectionString overrides env var' , ( ) => {
6962 const env = {
70- SUPABASE_ANON_KEY : 'prod-anon-key ' ,
63+ SUPABASE_URL : 'https://abc123.supabase.co ' ,
7164 EDGE_WORKER_DB_URL : 'postgresql://prod:5432/db' ,
7265 } ;
7366 const options = { connectionString : 'postgresql://override:5432/db' } ;
@@ -76,7 +69,7 @@ Deno.test('connection priority - production config.connectionString overrides en
7669} ) ;
7770
7871Deno . test ( 'connection priority - production returns undefined when nothing configured' , ( ) => {
79- const env = { SUPABASE_ANON_KEY : 'prod-anon-key ' } ;
72+ const env = { SUPABASE_URL : 'https://abc123.supabase.co ' } ;
8073 const result = resolveConnectionString ( env ) ;
8174 assertEquals ( result , undefined ) ;
8275} ) ;
@@ -86,7 +79,7 @@ Deno.test('connection priority - production returns undefined when nothing confi
8679// ============================================================
8780
8881Deno . test ( 'connection validation - throws when no connection available on production' , ( ) => {
89- const env = { SUPABASE_ANON_KEY : 'prod-anon-key ' } ;
82+ const env = { SUPABASE_URL : 'https://abc123.supabase.co ' } ;
9083 const connectionString = resolveConnectionString ( env ) ;
9184
9285 assertThrows (
@@ -108,7 +101,7 @@ Deno.test('connection validation - does not throw when sql is provided', () => {
108101} ) ;
109102
110103Deno . test ( 'connection validation - error message lists all options' , ( ) => {
111- const env = { SUPABASE_ANON_KEY : 'prod-anon-key ' } ;
104+ const env = { SUPABASE_URL : 'https://abc123.supabase.co ' } ;
112105 const connectionString = resolveConnectionString ( env ) ;
113106
114107 try {
@@ -128,7 +121,7 @@ Deno.test('connection validation - error message lists all options', () => {
128121Deno . test ( 'connection priority - preview branch fallback pattern works' , ( ) => {
129122 // Simulates: connectionString: Deno.env.get('EDGE_WORKER_DB_URL') || Deno.env.get('SUPABASE_DB_URL')
130123 const env = {
131- SUPABASE_ANON_KEY : 'prod-anon-key ' ,
124+ SUPABASE_URL : 'https://abc123.supabase.co ' ,
132125 // EDGE_WORKER_DB_URL not set (preview branch)
133126 } ;
134127
@@ -146,7 +139,7 @@ Deno.test('connection priority - preview branch fallback pattern works', () => {
146139
147140Deno . test ( 'resolveSqlConnection - priority 1: returns provided sql directly' , ( ) => {
148141 const mockSql = postgres ( 'postgresql://mock:5432/db' ) ;
149- const env = { SUPABASE_ANON_KEY : 'prod-anon-key ' } ;
142+ const env = { SUPABASE_URL : 'https://abc123.supabase.co ' } ;
150143
151144 const result = resolveSqlConnection ( env , { sql : mockSql } ) ;
152145
@@ -155,7 +148,7 @@ Deno.test('resolveSqlConnection - priority 1: returns provided sql directly', ()
155148} ) ;
156149
157150Deno . test ( 'resolveSqlConnection - priority 2: creates sql from connectionString' , ( ) => {
158- const env = { SUPABASE_ANON_KEY : 'prod-anon-key ' } ;
151+ const env = { SUPABASE_URL : 'https://abc123.supabase.co ' } ;
159152 const options = { connectionString : 'postgresql://custom:5432/db' } ;
160153
161154 const result = resolveSqlConnection ( env , options ) ;
@@ -166,7 +159,7 @@ Deno.test('resolveSqlConnection - priority 2: creates sql from connectionString'
166159
167160Deno . test ( 'resolveSqlConnection - priority 3: creates sql from EDGE_WORKER_DB_URL' , ( ) => {
168161 const env = {
169- SUPABASE_ANON_KEY : 'prod-anon-key ' ,
162+ SUPABASE_URL : 'https://abc123.supabase.co ' ,
170163 EDGE_WORKER_DB_URL : 'postgresql://env-var:5432/db' ,
171164 } ;
172165
@@ -177,7 +170,7 @@ Deno.test('resolveSqlConnection - priority 3: creates sql from EDGE_WORKER_DB_UR
177170} ) ;
178171
179172Deno . test ( 'resolveSqlConnection - priority 4: creates sql from Docker URL in local env' , ( ) => {
180- const env = { SUPABASE_ANON_KEY : KNOWN_LOCAL_ANON_KEY } ;
173+ const env = { SUPABASE_URL : LOCAL_SUPABASE_URL } ;
181174
182175 const result = resolveSqlConnection ( env ) ;
183176
@@ -186,7 +179,7 @@ Deno.test('resolveSqlConnection - priority 4: creates sql from Docker URL in loc
186179} ) ;
187180
188181Deno . test ( 'resolveSqlConnection - throws when nothing configured in production' , ( ) => {
189- const env = { SUPABASE_ANON_KEY : 'prod-anon-key ' } ;
182+ const env = { SUPABASE_URL : 'https://abc123.supabase.co ' } ;
190183
191184 assertThrows (
192185 ( ) => resolveSqlConnection ( env ) ,
@@ -197,7 +190,7 @@ Deno.test('resolveSqlConnection - throws when nothing configured in production',
197190
198191Deno . test ( 'resolveSqlConnection - connectionString takes priority over EDGE_WORKER_DB_URL' , ( ) => {
199192 const env = {
200- SUPABASE_ANON_KEY : 'prod-anon-key ' ,
193+ SUPABASE_URL : 'https://abc123.supabase.co ' ,
201194 EDGE_WORKER_DB_URL : 'postgresql://env-var:5432/db' ,
202195 } ;
203196 const options = { connectionString : 'postgresql://explicit:5432/db' } ;
@@ -212,7 +205,7 @@ Deno.test('resolveSqlConnection - connectionString takes priority over EDGE_WORK
212205Deno . test ( 'resolveSqlConnection - sql takes priority over everything' , ( ) => {
213206 const mockSql = postgres ( 'postgresql://mock:5432/db' ) ;
214207 const env = {
215- SUPABASE_ANON_KEY : KNOWN_LOCAL_ANON_KEY ,
208+ SUPABASE_URL : LOCAL_SUPABASE_URL ,
216209 EDGE_WORKER_DB_URL : 'postgresql://env-var:5432/db' ,
217210 } ;
218211 const options = {
0 commit comments