mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-11 11:06:16 -08:00
fix(downloads): guard restart artwork URL
This commit is contained in:
1 parent
d2f9725149
commit
3e7de1ebc9
2 files changed
+37
No files matched your search
@@ -326,6 +326,39 @@ describe('download request metadata snapshots', () => {
|
||||
expect(request.db.update).not.toHaveBeenCalled();
|
||||
expect(request.enqueueDownload).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('rejects a restart whose poster reuses the replacement stream URL', async () => {
|
||||
const replacementUrl =
|
||||
'https://replacement.example.test/images/live.jpg';
|
||||
const request = await setupStartMetadataRequest({
|
||||
contentType: 'vod',
|
||||
filePath: null,
|
||||
id: 42,
|
||||
metadataSnapshot: null,
|
||||
playlistId: 'playlist-1',
|
||||
status: 'canceled',
|
||||
title: 'Offline Movie',
|
||||
url: 'https://stored.example.test/movie.mp4',
|
||||
xtreamId: 7,
|
||||
});
|
||||
|
||||
await expect(
|
||||
request.startDownloadRequest(
|
||||
{
|
||||
...startPayload({
|
||||
...metadataSnapshot,
|
||||
posterUrl: replacementUrl,
|
||||
}),
|
||||
url: replacementUrl,
|
||||
},
|
||||
request.authorizer
|
||||
)
|
||||
).rejects.toThrow('Invalid download metadata snapshot');
|
||||
|
||||
expect(request.db.insert).not.toHaveBeenCalled();
|
||||
expect(request.db.update).not.toHaveBeenCalled();
|
||||
expect(request.enqueueDownload).not.toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
|
||||
describe('download requests resume', () => {
|
||||
|
||||
@@ -171,6 +171,10 @@ export async function startDownloadRequest(
|
||||
normalizedMetadataSnapshot,
|
||||
item.url
|
||||
);
|
||||
assertDownloadMetadataArtworkDiffersFromStream(
|
||||
normalizedMetadataSnapshot,
|
||||
data.url
|
||||
);
|
||||
}
|
||||
if (!['completed', 'failed', 'canceled'].includes(item.status)) {
|
||||
return {
|
||||
|
||||
Reference in new issue
Block a user