1
import { expect, test } from 'vitest';
2
import isUrlAllowed from './is-url-allowed.js';
4
test('isUrlAllowed should allow matching domain', () => {
5
const checkUrl = 'https://directus.io';
6
const allowedUrls = ['https://directus.io/'];
8
expect(isUrlAllowed(checkUrl, allowedUrls)).toBe(true);
11
test('isUrlAllowed should allow matching path', () => {
12
const checkUrl = 'https://directus.io/tv';
13
const allowedUrls = ['https://directus.io/tv'];
15
expect(isUrlAllowed(checkUrl, allowedUrls)).toBe(true);
18
test('isUrlAllowed should block different paths', () => {
19
const checkUrl = 'http://example.com/test1';
20
const allowedUrls = ['http://example.com/test2', 'http://example.com/test3', 'http://example.com/'];
22
expect(isUrlAllowed(checkUrl, allowedUrls)).toBe(false);
25
test('isUrlAllowed should block different domains', () => {
26
const checkUrl = 'http://directus.io/';
27
const allowedUrls = ['http://example.com/', 'http://directus.chat'];
29
expect(isUrlAllowed(checkUrl, allowedUrls)).toBe(false);
32
test('isUrlAllowed blocks varying protocols', () => {
33
const checkUrl = 'http://example.com/';
34
const allowedUrls = ['ftp://example.com/', 'https://example.com/'];
36
expect(isUrlAllowed(checkUrl, allowedUrls)).toBe(false);