-
Notifications
You must be signed in to change notification settings - Fork 0
TEST REPORT BACKEND izvorna datoteka
| Issue | S5-01 |
| Datum | 3. 6. 2026 |
| Framework | JUnit 5 + Mockito |
| Avtor | Tilen Brunec |
| Razred | Vloga |
|---|---|
IzvornaDatotekaService |
Poslovna logika za brisanje datotek in izračun SHA-256 hash vrednosti |
IzvornaDatotekaController |
REST endpointi za upravljanje izvornih datotek in nalaganje |
| Razred | Skupaj | ✅ Pravilen | ❌ Napačen | |
|---|---|---|---|---|
IzvornaDatotekaServiceTest |
7 | 4 | 1 | 2 |
IzvornaDatotekaControllerTest |
13 | 7 | 2 | 4 |
| Skupaj | 20 | 11 | 3 | 6 |
| Oznaka | Pomen |
|---|---|
| ✅ Pravilen primer | Normalen potek — vse deluje kot pričakovano |
| Mejni pogoji — prazna datoteka, prazen seznam | |
| ❌ Napačen primer | Neobstoječa datoteka, napačen lastnik, duplikat |
Testi pokrivajo poslovno logiko v
IzvornaDatotekaService— brisanje datotek z preverjanjem lastništva ter izračun SHA-256 hash vrednosti za preverjanje duplikatov.
Cilj: Preveriti da se datoteka uspešno izbriše iz shrambe in repozitorija.
| Vhod | Veljavni fileId, profesorId ki je lastnik datoteke |
| Pričakovan rezultat |
deleteFile() in deleteById() klicana enkrat |
Cilj: Preveriti da sistem vrže napako, ko datoteka ne obstaja.
| Vhod | Neobstoječi fileId
|
| Pričakovan rezultat |
IllegalArgumentException, deleteFile() nikoli klican |
Cilj: Preveriti da sistem vrže napako, ko profesor ni lastnik datoteke.
| Vhod | Veljaven fileId, napačen profesorId
|
| Pričakovan rezultat |
IllegalArgumentException, deleteFile() nikoli klican |
Cilj: Preveriti da metoda vrne veljavni SHA-256 hash (64 znakov).
| Vhod | Datoteka z vsebino "hello world"
|
| Pričakovan rezultat | Hash dolžine 64 znakov |
Cilj: Preveriti da dve datoteki z enako vsebino dobita enak hash.
| Vhod | Dve datoteki z enako vsebino "same content"
|
| Pričakovan rezultat | hash1 == hash2 |
Cilj: Preveriti da dve datoteki z različno vsebino dobita različen hash.
| Vhod | Datoteka z "content A" in datoteka z "content B"
|
| Pričakovan rezultat | hash1 != hash2 |
Cilj: Preveriti da metoda pravilno obdela prazno datoteko.
| Vhod | Prazna datoteka (0 bajtov) |
| Pričakovan rezultat | Hash dolžine 64 znakov |
Testi pokrivajo vse REST endpointe v
IzvornaDatotekaController— pridobivanje datotek, nalaganje z avtorizacijo, filtriranje vizualne vsebine in brisanje.
Cilj: Preveriti da endpoint vrne vse datoteke učitelja.
| Vhod | JWT učitelja z eno datoteko |
| Pričakovan rezultat | HTTP 200, seznam z 1 elementom, ime = "test.pdf"
|
Cilj: Preveriti da endpoint vrne prazen seznam, ko učitelj nima datotek.
| Vhod | JWT učitelja brez datotek |
| Pričakovan rezultat | HTTP 200, prazen seznam |
Cilj: Preveriti da se PDF datoteka uspešno naloži.
| Vhod | JWT lastnika, PDF datoteka, veljaven predmetId
|
| Pričakovan rezultat | HTTP 200, isSuccess() = true
|
Cilj: Preveriti da endpoint vrne napako, ko modul ne obstaja.
| Vhod | JWT učitelja, neobstoječi predmetId
|
| Pričakovan rezultat | HTTP 400, isSuccess() = false
|
Cilj: Preveriti da endpoint vrne 403, ko učitelj ni lastnik modula.
| Vhod | JWT napačnega učitelja |
| Pričakovan rezultat | HTTP 403, isSuccess() = false
|
Cilj: Preveriti da endpoint vrne napako pri nalaganju duplikata.
| Vhod | Datoteka z istim hash-om kot obstoječa |
| Pričakovan rezultat | HTTP 400, isSuccess() = false
|
Cilj: Preveriti da se video datoteka pravilno zazna in naloži.
| Vhod | MP4 datoteka z video/mp4 MIME tipom |
| Pričakovan rezultat | HTTP 200, isSuccess() = true
|
Cilj: Preveriti da se audio datoteka pravilno zazna in naloži.
| Vhod | MP3 datoteka z audio/mpeg MIME tipom |
| Pričakovan rezultat | HTTP 200, isSuccess() = true
|
Cilj: Preveriti da endpoint vrne samo IMG in VIDEO datoteke.
| Vhod | Modul z IMG, VIDEO in PDF datoteko |
| Pričakovan rezultat | HTTP 200, seznam z 2 elementoma (brez PDF) |
Cilj: Preveriti da endpoint vrne prazen seznam, ko ni datotek.
| Vhod |
predmetId brez datotek |
| Pričakovan rezultat | HTTP 200, prazen seznam |
Cilj: Preveriti da PDF datoteke niso vključene v vizualno vsebino.
| Vhod | Modul samo s PDF datoteko |
| Pričakovan rezultat | HTTP 200, prazen seznam |
Cilj: Preveriti da endpoint uspešno izbriše datoteko.
| Vhod | JWT lastnika, veljaven fileId
|
| Pričakovan rezultat | HTTP 204, deleteFile() klican enkrat |
Cilj: Preveriti da endpoint vrne 500 ob napaki pri brisanju.
| Vhod |
fileId ki sproži napako v storitvi |
| Pričakovan rezultat | HTTP 500 |