LU07.A02 - Bookshelf testen

Teste die API der Bookshelf-Applikation mit Postman.

Die Webapplikation “Bookshelf” stellt eine API zur Verwaltung eines Bücherregals bereit. Über diese API kann ein Programm die Bücher lesen, erstellen, ändern und löschen.

Die API ist unter https://it.bzz.ch/book/FUNKTION erreichbar. Der Pfad der einzelnen Funktionen wird jeweils hinten angehängt. Also z.B.: https://it.bzz.ch/book/list.

Buch lesen

Liest ein einzelnes Buch anhand der UUID.

  • Pfad: read/<book_uuid>
  • HTTP-Methode: GET
  • Response: Buch als JSON-Struktur
  • HTTP-Status:
    • 200 = Buch gefunden
    • 404 = Kein Buch gefunden

Buch löschen

Löscht ein einzelnes Buch anhand der UUID.

  • Pfad: delete/<book_uuid>
  • HTTP-Methode: DELETE
  • Response: leer
  • HTTP-Status:
    • 200 = Buch gelöscht
    • 404 = Kein Buch gefunden

Buch speichern

Speichert ein Buch mit den angegebenen Formulardaten. Falls eine bekannte Buch-UUID mitgegeben wird, wird das Buch geändert. Andernfalls wird ein neues Buch erstellt.

  • Pfad: save
  • HTTP-Methode: POST
  • Daten (x-www-form-urlencoded):
    • book_uuid (optional)
    • title
    • author
    • price
    • format
    • isbn (optional)
  • Reponse: leer
  • HTTP-Status
    • 200 = Bestehendes Buch wurde aktualisiert.
    • 201 = Neues Buch wurde eingefügt.
    • 400 = Daten fehlen oder sind formal ungültig
    • 422 = Daten entsprechen nicht den Validierungsregeln
Datenfeld Datentyp Regeln
book_uuid UUIDv4 Die UUID eines Buchs.
title String 2-50 Zeichen, alle Zeichen der ASCII-Codetabelle gemäss ISO-8859-1.
author String 4-100 Zeichen, alle Zeichen der ASCII-Codetabelle gemäss ISO-8859-1.
price Decimal 0.00 - 299.95 mit maximal 2 Nachkommastellen
isbn String optional, ISBN-13 Nummer
format Auswahl Hardcover, Softcover, eBook oder Audio

Diese Testdaten stehen in der API zur Verfügung.

[
  {
    "book_uuid": "c746a291-0ef9-4b2a-8268-392b12d636bd",
    "title": "The Winds of Winter",
    "author": "George R R Martin",
    "price": 52.75,
    "format": "Hardcover",
    "isbn": "978-0-1256-0432-1"
  },
  {
    "book_uuid": "d82bf28e-eb73-45c9-9ce3-1f94a599a0b5",
    "title": "The Shadow of What Was Lost",
    "author": "James Islington",
    "price": 15.3,
    "format": "eBook",
    "isbn": "978-0-3162-7407-4"
  },
  {
    "book_uuid": "3247c340-c712-402e-b400-0a23a9368c97",
    "title": "An Echo Of Things To Come",
    "author": "James Islington",
    "price": 32.5,
    "format": "",
    "isbn": "978-0-3162-7409-8"
  }
]

Erstelle die Testfälle mit Postman zu jeder API-Funktion.

  • Für jeden möglichen HTTP-Statuscode muss ein eigener Testfall erstellt werden.
  • Zum Testen der Validierung der Daten, müssen Testfälle gemäss Äquivalenzklassen-Analyse erstellt werden.

Falls die Funktion read ein Buch findet, liefert sie die Daten des Buchs und den HTTP-Status 200. Andernfalls antwortet die Funktion mit dem HTTP-Status 404. Du brauchst also 2 Testfälle für diese Funktion.

Führe die Tests manuell aus. Betrachte die Resultate (Daten, HTTP-Statuscode).

Nutze den Collection Runner um alle Requests automatisch auszuführen. Studiere den Output des Collection Runners.

Exportiere alle erstellten Postfälle als JSON-Datei. Lade die JSON-Datei hier in Moodle hoch.


Marcel Suter

  • modul/m450/learningunits/lu07/aufgaben/bookshelf.txt
  • Last modified: 2024/03/22 09:43
  • by msuter