Optional qBittorrent creds; require SABnzbd key

Allow qBittorrent to be configured without credentials (supports IP whitelist) and require an API key for SABnzbd. Skip connection testing when disabling a client. Updates include: validation changes in admin and setup API routes, test-download-client flows, DownloadClientModal UI validation and save/test logic, and DownloadClientManager to pass empty strings for optional credentials. Tests updated to reflect SABnzbd API key requirement.
This commit is contained in:
kikootwo
2026-02-03 13:30:51 -05:00
parent c559f8ebe9
commit 863f8466ea
8 changed files with 47 additions and 44 deletions
+3 -3
View File
@@ -163,15 +163,15 @@ describe('Setup test routes', () => {
expect(payload.error).toMatch(/Invalid client type/);
});
it('rejects missing qBittorrent credentials', async () => {
it('rejects missing SABnzbd API key', async () => {
const { POST } = await import('@/app/api/setup/test-download-client/route');
const response = await POST({
json: vi.fn().mockResolvedValue({ type: 'qbittorrent', url: 'http://qbt' }),
json: vi.fn().mockResolvedValue({ type: 'sabnzbd', url: 'http://sab' }),
} as any);
const payload = await response.json();
expect(response.status).toBe(400);
expect(payload.error).toMatch(/Username and password/);
expect(payload.error).toMatch(/API key/);
});
it('tests SABnzbd connection', async () => {