Øvelse i kodegjennomgang · 8 MIN
Gjennomgå en AI-generert endring
Undersøk et kort endepunkt. Bestem hvilke bevis du trenger før du godtar endringen.
Situasjonen
En AI-assistent foreslår et fakturaendepunkt. En innlogget bruker skal bare se fakturaer fra sin egen organisasjon. Du gjennomgår endringen før den kan gis ut.
Hva du skal gjøre
- Les koden og forklaringen i vanlig språk. Du trenger ikke kjøre den.
- Velg alle kontroller som trengs før godkjenning. Kontroller svarene, les begrunnelsene og prøv igjen hvis en kontroll mangler.
Du gjennomgår denne PR-en. Funksjonen skal bare returnere en faktura til en autentisert bruker i samme organisasjon. Utdraget er ufullstendig.
// 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);
});Hva gjør koden?
Endepunktet tar en faktura-ID fra forespørselen, henter fakturaen, logger hele fakturaen og returnerer den. Utdraget viser ikke hvem som kontrollerer brukerens rett til fakturaen.
Autentisering kontrollerer hvem brukeren er. Autorisasjon kontrollerer hva brukeren kan gjøre. Middleware er kode som behandler forespørselen før dette endepunktet. Den kan inneholde kontroller som ikke vises i utdraget.
TIL SLUTT
Beviser en vellykket forespørsel at fakturaendepunktet er trygt?
Sammenlign svaret ditt med forklaringen
Nei. Den beviser at én forespørsel virket. Du trenger også bevis på at en bruker ikke kan lese en annen organisasjons faktura. Undersøk hele forespørselsveien, oppførselen ved manglende opplysninger og loggingen. En vellykket test må dekke kravet som betyr noe.
Bruk dette på jobb
I neste PR-gjennomgang legger du til én test for en handling som må nektes.
Velg en annen øvelse