Άσκηση ανασκόπησης κώδικα · 8 min

Εξετάστε μια αλλαγή που παρήγαγε AI

Εξετάστε ένα σύντομο endpoint. Αποφασίστε ποια αποδεικτικά στοιχεία χρειάζεστε πριν αποδεχτείτε την αλλαγή.

Η κατάσταση

Ένας βοηθός AI προτείνει ένα endpoint τιμολογίων. Ένας συνδεδεμένος χρήστης πρέπει να βλέπει μόνο τιμολόγια του δικού του οργανισμού. Εξετάζετε την αλλαγή πριν επιτραπεί η διάθεσή της.

Τι να κάνετε

  1. Διαβάστε τον κώδικα και την εξήγησή του σε απλή γλώσσα. Δεν χρειάζεται να τον εκτελέσετε.
  2. Επιλέξτε κάθε έλεγχο που απαιτείται πριν από την αποδοχή. Ελέγξτε τις απαντήσεις σας, διαβάστε τους λόγους και δοκιμάστε ξανά αν λείπει κάποιος έλεγχος.
Χρειάζεστε το υπόβαθρο; Διαβάστε το μάθημα

Κάνετε ανασκόπηση αυτού του PR. Η λειτουργία πρέπει να επιστρέφει τιμολόγιο μόνο σε χρήστη του ίδιου οργανισμού που έχει περάσει έλεγχο ταυτότητας. Το απόσπασμα είναι ελλιπές.

// 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);
});
Τι κάνει ο κώδικας;

Το endpoint λαμβάνει αναγνωριστικό τιμολογίου από το αίτημα, ανακτά το τιμολόγιο, το καταγράφει ολόκληρο και το επιστρέφει. Το απόσπασμα δεν δείχνει ποιος ελέγχει το δικαίωμα του χρήστη σε αυτό το τιμολόγιο.

Ο έλεγχος ταυτότητας ελέγχει ποιος είναι ο χρήστης. Η εξουσιοδότηση ελέγχει τι επιτρέπεται να κάνει. Το middleware είναι κώδικας που επεξεργάζεται το αίτημα πριν από αυτό το endpoint. Μπορεί να περιέχει ελέγχους που απουσιάζουν από το απόσπασμα.

Επιλέξτε όλες τις απαραίτητες ενέργειες ανασκόπησης.

ΓΙΑ ΝΑ ΟΛΟΚΛΗΡΩΣΕΤΕ

Αποδεικνύει ένα επιτυχές αίτημα ότι το endpoint τιμολογίων είναι ασφαλές;

Συγκρίνετε την απάντησή σας με την εξήγηση

Όχι. Αποδεικνύει ότι ένα αίτημα λειτούργησε. Χρειάζεστε επίσης αποδεικτικά στοιχεία ότι ένας χρήστης δεν μπορεί να διαβάσει τιμολόγιο άλλου οργανισμού. Εξετάστε ολόκληρη τη διαδρομή του αιτήματος, τη συμπεριφορά όταν λείπει η εγγραφή και το logging. Ένα επιτυχές test πρέπει να καλύπτει την απαίτηση που έχει σημασία.

Εφαρμόστε το στην εργασία σας

Στην επόμενη ανασκόπηση PR, προσθέστε ένα test για ενέργεια που πρέπει να απορρίπτεται.

Επιλέξτε άλλη άσκηση