mirror of
https://github.com/CorentinTh/it-tools.git
synced 2025-05-04 13:29:13 -04:00

* feat(new tool): Outlook Safelink Decoder Fix #897 * Use native URL parsing Co-authored-by: Corentin THOMASSET <corentin.thomasset74@gmail.com> * Update src/tools/safelink-decoder/index.ts --------- Co-authored-by: Corentin THOMASSET <corentin.thomasset74@gmail.com>
21 lines
1.6 KiB
TypeScript
21 lines
1.6 KiB
TypeScript
import { describe, expect, it } from 'vitest';
|
|
import { decodeSafeLinksURL } from './safelink-decoder.service';
|
|
|
|
describe('safelink-decoder', () => {
|
|
describe('decodeSafeLinksURL', () => {
|
|
describe('decode outlook safelink urls', () => {
|
|
it('should decode basic safelink urls', () => {
|
|
expect(decodeSafeLinksURL('https://aus01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.google.com%2Fsearch%3Fq%3Dsafelink%26rlz%3D1&data=05%7C02%7C%7C1ed07253975b46da1d1508dc3443752a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C638442711583216725%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=%2BQY0HBnnxfI7pzZoxzlhZdDvYu80LwQB0zUUjrffVnk%3D&reserved=0'))
|
|
.toBe('https://www.google.com/search?q=safelink&rlz=1');
|
|
});
|
|
it('should decode encoded safelink urls', () => {
|
|
expect(decodeSafeLinksURL('https://aus01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.google.com%2Fsearch%3Fq%3Dsafelink%26rlz%3D1&data=05%7C02%7C%7C1ed07253975b46da1d1508dc3443752a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C638442711583216725%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=%2BQY0HBnnxfI7pzZoxzlhZdDvYu80LwQB0zUUjrffVnk%3D&reserved=0'))
|
|
.toBe('https://www.google.com/search?q=safelink&rlz=1');
|
|
});
|
|
it('throw on not outlook safelink urls', () => {
|
|
expect(() => decodeSafeLinksURL('https://google.com'))
|
|
.toThrow('Invalid SafeLinks URL provided');
|
|
});
|
|
});
|
|
});
|
|
});
|