Code-Review-Übung · 8 MIN
Eine KI-generierte Änderung prüfen
Prüfen Sie einen kurzen Endpunkt. Entscheiden Sie, welche Nachweise Sie vor der Abnahme brauchen.
Die Situation
Ein KI-Assistent schlägt einen Rechnungsendpunkt vor. Angemeldete Nutzer dürfen nur Rechnungen ihrer eigenen Organisation sehen. Sie prüfen die Änderung vor einer möglichen Veröffentlichung.
Ihre Aufgabe
- Lesen Sie den Code und seine allgemein verständliche Erklärung. Sie müssen ihn nicht ausführen.
- Wählen Sie alle vor der Abnahme nötigen Prüfungen. Prüfen Sie Ihre Antworten, lesen Sie die Begründungen und versuchen Sie es erneut, wenn eine Prüfung fehlt.
Sie prüfen diesen PR. Die Funktion darf eine Rechnung nur an einen authentifizierten Nutzer derselben Organisation zurückgeben. Der Ausschnitt ist unvollständig.
// 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);
});Was macht der Code?
Der Endpunkt übernimmt eine Rechnungs-ID aus der Anfrage, ruft diese Rechnung ab, protokolliert sie vollständig und gibt sie zurück. Der Ausschnitt zeigt nicht, wer das Recht des Nutzers auf diese Rechnung prüft.
Authentifizierung prüft, wer der Nutzer ist. Autorisierung prüft, was der Nutzer darf. Middleware ist Code, der die Anfrage vor diesem Endpunkt verarbeitet. Sie kann Prüfungen enthalten, die in diesem Ausschnitt fehlen.
ZUM ABSCHLUSS
Beweist eine erfolgreiche Anfrage, dass der Rechnungsendpunkt sicher ist?
Vergleichen Sie Ihre Antwort mit der Erklärung
Nein. Sie beweist, dass eine Anfrage funktioniert hat. Sie brauchen auch Nachweise, dass Nutzer keine Rechnung einer anderen Organisation lesen können. Prüfen Sie den vollständigen Anfrageweg, das Verhalten bei fehlenden Datensätzen und das Logging. Ein erfolgreicher Test muss die entscheidende Anforderung abdecken.
Bei der Arbeit anwenden
Ergänzen Sie in Ihrem nächsten PR-Review einen Test für eine Handlung, die verweigert werden muss.
Eine andere Übung wählen