fix(api): robustesse des providers de métadonnées
Recherche ISBN directe sur Open Library avec repli titre/auteur, normalisation des réponses, timeouts et User-Agent explicites sur les trois providers distants, abandon de l'extraction de jaquette CBR en échec silencieux (fallback métadonnées seules), tests des providers et garde du test de migration si better-sqlite3 est indisponible. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -18,7 +18,7 @@ afterEach(() => {
|
||||
});
|
||||
|
||||
describe("database migrations", () => {
|
||||
it("adds metadata columns to an existing comic-capable books table before creating dependent indexes", () => {
|
||||
it.runIf(canLoadBetterSqlite())("adds metadata columns to an existing comic-capable books table before creating dependent indexes", () => {
|
||||
const dir = mkdtempSync(join(tmpdir(), "readabook-migration-"));
|
||||
tempDirs.push(dir);
|
||||
const databasePath = join(dir, "readabook.sqlite");
|
||||
@ -107,3 +107,12 @@ describe("database migrations", () => {
|
||||
database.onModuleDestroy();
|
||||
});
|
||||
});
|
||||
|
||||
function canLoadBetterSqlite(): boolean {
|
||||
try {
|
||||
new Database(":memory:").close();
|
||||
return true;
|
||||
} catch {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user