feat: altyazı otomasyon sistemi MVP'sini ekle
Docker tabanlı mikro servis mimarisi ile altyazı otomasyon sistemi altyapısı kuruldu. - Core (Node.js): Chokidar dosya izleyici, BullMQ iş kuyrukları, ffprobe medya analizi, MongoDB entegrasyonu ve dosya yazma işlemleri. - API (Fastify): Mock sağlayıcılar, arşiv güvenliği (zip-slip), altyazı doğrulama, puanlama ve aday seçim motoru. - UI (React/Vite): İş yönetimi paneli, canlı SSE log akışı, manuel inceleme arayüzü ve sistem ayarları. - Altyapı: Docker Compose (dev/prod), Redis, Mongo ve çevresel değişken yapılandırmaları.
This commit is contained in:
26
services/core/test/parser.test.ts
Normal file
26
services/core/test/parser.test.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
import { describe, expect, it } from 'vitest';
|
||||
import { parseMediaFilename } from '../src/utils/parser.js';
|
||||
|
||||
describe('parseMediaFilename', () => {
|
||||
it('parses SxxEyy pattern', () => {
|
||||
const p = parseMediaFilename('The.Last.of.Us.S01E02.1080p-FLUX.mkv');
|
||||
expect(p.type).toBe('tv');
|
||||
expect(p.title).toBe('The Last of Us');
|
||||
expect(p.season).toBe(1);
|
||||
expect(p.episode).toBe(2);
|
||||
});
|
||||
|
||||
it('parses 1x02 pattern', () => {
|
||||
const p = parseMediaFilename('Dark.1x02.WEBRip.mkv');
|
||||
expect(p.type).toBe('tv');
|
||||
expect(p.season).toBe(1);
|
||||
expect(p.episode).toBe(2);
|
||||
});
|
||||
|
||||
it('parses movie pattern', () => {
|
||||
const p = parseMediaFilename('John.Wick.2014.1080p.BluRay-FLUX.mkv');
|
||||
expect(p.type).toBe('movie');
|
||||
expect(p.title).toBe('John Wick');
|
||||
expect(p.year).toBe(2014);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user