Vaja pregleda kode · 8 min

Preglejte spremembo, ustvarjeno z AI

Preglejte kratko izvedbo končne točke. Določite dokazila, ki jih potrebujete pred sprejetjem spremembe.

Situacija

Pomočnik AI predlaga končno točko za račune. Prijavljeni uporabnik sme videti samo račune svoje organizacije. Spremembo pregledujete pred izdajo.

Kaj narediti

  1. Preberite kodo in njeno preprosto pojasnilo. Ni je treba zagnati.
  2. Izberite vsa preverjanja, potrebna pred sprejetjem. Preverite odgovore, preberite razloge in poskusite znova, če preverjanje manjka.
Potrebujete ozadje? Preberite lekcijo

Pregledujete ta PR. Funkcionalnost mora vrniti račun samo uporabniku s preverjeno istovetnostjo iz iste organizacije. Izsek je nepopoln.

// 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);
});
Kaj naredi koda?

Končna točka vzame identifikator računa iz zahtevka, pridobi ta račun, ga v celoti zabeleži in vrne. Izsek ne pokaže, kdo preveri uporabnikovo pravico do tega računa.

Preverjanje istovetnosti preveri, kdo je uporabnik. Avtorizacija preveri, kaj uporabnik sme narediti. Vmesna programska oprema obdela zahtevek pred to končno točko. Vsebuje lahko preverjanja, ki jih ta izsek ne pokaže.

Izberite vsa potrebna dejanja pri pregledu.

ZA ZAKLJUČEK

Ali uspešna zahteva dokazuje varnost končne točke za račune?

Primerjajte odgovor z razlago

Ne. Dokazuje, da je ena zahteva delovala. Potrebujete tudi dokazila, da uporabnik ne more prebrati računa druge organizacije. Preglejte celotno pot zahteve, delovanje ob manjkajočem zapisu in beleženje. Uspešen test mora pokrivati pomembno zahtevo.

Uporabite pri delu

Pri naslednjem pregledu PR-ja dodajte en test za dejanje, ki mora biti zavrnjeno.

Izberite drugo vajo