mirror of
https://github.com/supabase/supabase.git
synced 2026-10-05 09:25:06 +03:00
Add regex guard for edge functions test endpoint (#35688)
* Add regex guard for edge functions test endpoint * Remove conosle log * add tests * empty --------- Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
This commit is contained in:
1 parent
dc2f1270db
commit
9e72050658
3 files changed
+48
No files matched your search
@@ -0,0 +1,31 @@
|
||||
import { expect, describe, it } from 'vitest'
|
||||
import { isValidEdgeFunctionURL } from './edgeFunctions'
|
||||
|
||||
describe('isValidEdgeFunctionURL', () => {
|
||||
const validEdgeFunctionUrls = [
|
||||
'https://projectref.supabase.co/functions/v1/hello-world',
|
||||
'https://projectref.supabase.red/functions/v1/hello-world',
|
||||
'https://projectref.supabase.red/functions/v3/hello-world',
|
||||
'https://projectref.supabase.red/functions/v3/hello-world',
|
||||
]
|
||||
|
||||
const invalidEdgeFunctionUrls = [
|
||||
'https://notsupabase.com/functions/v1/test',
|
||||
'https://projectref.notsupabase.com/functions/v1/test',
|
||||
'https://localhost?https://aaaa.supabase.co/functions/v1/xxx',
|
||||
'https://localhost:3000/?https://aaaa.supabase.co/functions/v1/xxx',
|
||||
'http://localhost:3000/?https://aaaa.supabase.co/functions/v1/xxx',
|
||||
]
|
||||
|
||||
it('should match valid edge function URLs', () => {
|
||||
for (const url of validEdgeFunctionUrls) {
|
||||
expect(isValidEdgeFunctionURL(url), `Expected ${url} to be valid`).toBe(true)
|
||||
}
|
||||
})
|
||||
|
||||
it('should not match invalid edge function URLs', () => {
|
||||
for (const url of invalidEdgeFunctionUrls) {
|
||||
expect(isValidEdgeFunctionURL(url), `Expected ${url} to be invalid`).toBe(false)
|
||||
}
|
||||
})
|
||||
})
|
||||
@@ -0,0 +1,7 @@
|
||||
export const isValidEdgeFunctionURL = (url: string) => {
|
||||
const regexValidEdgeFunctionURL = new RegExp(
|
||||
'^https://[a-z]*.supabase.(red|co)/functions/v[0-9]{1}/.*$'
|
||||
)
|
||||
|
||||
return regexValidEdgeFunctionURL.test(url)
|
||||
}
|
||||
Reference in new issue
Block a user