Testseiten

Um möglichst einfach feststellen zu können, ob irgend eine Methode z.B. durch Änderungen auf der IMDB site "kaputt gegangen" ist, verfügt IMDBPHP auch über ein "Test-Modul". Dieses ist mit Datensätzen konfiguriert, von denen wir wissen, dass die IMDB Sites die entsprechenden Daten bereithalten - sodass wir zumindest erwarten können, auch ein Ergebnis zu bekommen (auch wenn der Inhalt einer Beschreibung sich durchaus ändern kann). Dieses "Test-Modul" befindet sich im Unterverzeichnis test/, und sollte dort auch einfach mit dem Browser aufrufbar sein (sofern sich das ganze Paket innerhalb des DOCUMENT_ROOT des Webservers befindet). Eventuell muss die URL noch um den Dateinamen index.php erweitert werden, falls diese nicht aufgrund der Webserver-Konfiguration automatisch verwendet wird. Nun sollten die verfügbaren Methoden aufgelistet werden - zusammen mit einem grünen "PASS" (wenn sie funktioniert) bzw. einem roten "FAIL" (im Fehlerfall).

Cache

Um sicherzustellen, dass eventuelle Probleme nicht etwa mit dem lokalen Caching zu tun haben, kann man diesen explizit an- oder abschalten, indem man der URL die entsprechenden Parameter mitgibt: ?cache=off schaltet ihn aus, ?cache=on aktiviert ihn explizit.

Tests einschränken

Es ist auch möglich, die Tests auf einzelne "Sektionen" einzuschränken: ?check=movie würde z.B. nur die Methoden der Hauptklasse ausführen, während sich ?check=name auf die Methoden der Klasse imdb_person beschränken würde. Natürlich lässt sich dies auch mit der o.g. Cache-Anweisung verbinden, z.B. als ?check=movie;cache=off oder ?check=name&cache=on. Natürlich muss als Options-Trenner das verwendet werden, was in der php.ini konfiguriert wurde - die beiden Beispiele zeigen die meistverwendeten Trennzeichen, das ";" und das "&".

Folgende Werte sind für die Variable check möglich:

Wert Bedeutung
movieMethoden der Hauptklasse (movie methods)
nameMethoden der Klasse imdb_person
chartsMethoden der Klasse imdb_topcharts
nowplayMethoden der Klasse imdb_nowplaying
trailMethoden der Klasse imdb_trailers

Cron-Modus

Für automatische Tests lässt sich der "Cron-Modus" in der URL mit ?cron=1 aktivieren. Dies weist den Test an, keine Ausgaben zu produzieren - es sei denn, es treten Fehler auf. Und in diesem Fall werden auch nur reine Text-Ausgaben (kein HTML) erstellt. Damit lässt sich wunderbar ein Cron-Task erstellen: wget -q -O - http://your.server.dom/imdb/test/?cron=1 würde dafür sorgen, dass Cron (nur) in dem Fall eine Mail generiert, wo eine (oder mehrere) Methoden der IMDB-Klassen fehlschlagen (gewöhnlich dann, wenn auf den IMDB-Sites wieder gebastelt wurde). Wer das einsetzen möchte, möge die URL bitte auf den eigenen Server (und nicht auf die Projektseiten) zeigen lassen ;)

Zusammenfassung der URL-Parameter

Der Übersichtlichkeit halber, an dieser Stelle eine alphabetisch sortierte Zusammenfassung der verfügbaren URL-Parameter und ihrer Beschreibungen:

Name Wert Beschreibung
cache0/off/false, 1/on/trueErzwingt die (De-)Aktivierung der Cache-Funktionalität - unabhängig von der Konfiguration
checkmovie/name/charts/nowplay/trailNur die angegebene Klasse testen (es kann hier nur ein Wert angegeben werden)
cron1Aktiviere den Cron-Modus (per default deaktiviert)
skipKomma-separierte Liste von check-OptionsTeste alle Klassen außer die hier angegebenen
Last modified by izzy, 09/30/09 08:36:56 (4 years ago)