Cvičenie kontroly kódu · 8 min
Skontrolujte zmenu vytvorenú AI
Preskúmajte krátky endpoint. Rozhodnite, aké dôkazy potrebujete pred prijatím zmeny.
Situácia
AI asistent navrhuje endpoint na faktúry. Prihlásený používateľ smie vidieť len faktúry vlastnej organizácie. Kontrolujete zmenu pred jej možným vydaním.
Čo urobiť
- Prečítajte kód a jeho vysvetlenie bežným jazykom. Nemusíte ho spúšťať.
- Vyberte všetky kontroly potrebné pred prijatím. Overte odpovede, prečítajte dôvody a pri chýbajúcej kontrole skúste znova.
Kontrolujete tento PR. Funkcia musí vrátiť faktúru len autentifikovanému používateľovi z rovnakej organizácie. Výňatok je neúplný.
// Fictional, incomplete example. Do not deploy.
app.get('/invoices/:id', async (req, res) => {
const invoice = await db.invoice.findUnique({
where: { id: req.params.id }
});
console.log('Invoice response', invoice);
return res.json(invoice);
});Čo kód robí?
Endpoint prevezme identifikátor faktúry z požiadavky, načíta faktúru, zapíše ju celú do logu a vráti ju. Výňatok neukazuje, kto kontroluje právo používateľa na túto faktúru.
Autentifikácia overuje, kto je používateľ. Autorizácia overuje, čo môže robiť. Middleware je kód spracúvajúci požiadavku pred týmto endpointom. Môže obsahovať kontroly, ktoré vo výňatku chýbajú.
NA DOKONČENIE
Dokazuje úspešná požiadavka bezpečnosť endpointu na faktúry?
Porovnajte odpoveď s vysvetlením
Nie. Dokazuje len úspech jednej požiadavky. Potrebujete aj dôkaz, že používateľ nemôže čítať faktúru inej organizácie. Preskúmajte úplnú cestu požiadavky, správanie pri chýbajúcom zázname a logovanie. Úspešný test musí pokrývať dôležitú požiadavku.
Použite to pri práci
Pri ďalšej kontrole PR pridajte jeden test akcie, ktorá musí byť zamietnutá.
Vybrať ďalšie cvičenie