Private Variablen und Eigenschaften mittels NUnit testen

Manchmal möchte man private Variablen und Eigenschaften einer Klasse mittels NUnit testen. Im Normalfall lautet die Antwort auf diese Fragestellung – Nein. Stattdessen soll nur das öffentliche Interface getestet werden. Möchte bzw. muss man trotzdem ein privates Mitglied einer Klasse testen, so muss man sich der Reflection bedienen. Das könnte dann so aussehen:

string[] lines=(string[])typeof(MyClass).GetField("Lines",BindingFlags.NonPublic|BindingFlags.Static).GetValue(null);

In diesem Fall wird sich das statische String Array Lines aus der Klasse MyClass geholt. Je nachdem, wie man die entsprechenden BindingFlags einstellt, ist es auch möglich Instanzvariablen zu ermitteln.

Polipo: Permission denied

Mein vor einiger Zeit aufgesetzter Proxyserver startete nicht mehr. Stattdessen bekam ich von Polipo nur noch die Meldung:

Starting polipo: Couldn't open log file /var/log/polipo: Permission denied

Allerdings ließ sich das ganze relativ problemlos aus der Welt schaffen:

touch /var/log/polipo
chmod 640 /var/log/polipo
chown proxy:proxy /var/log/polipo

Danach konnte der Dienst mittels:

service polipo restart

wieder gestartet werden.

Multisite-WordPress von einer Domain auf die andere umziehen

Eine Multisite-WordPress-Installation ist ein WordPress welches verschiedene Domains mit unterschiedlichen Inhalten aka Webseiten bespielt. Unter Umständen kann es vorkommen, das man diese WordPress-Installation von einer Domain auf eine andere Domain umziehen möchte. Leider lässt sich die Domain, auf welcher das Multisite-WordPress installiert wurde, nicht einfach ändern.

Die Netzwerkeinstellungen einer WordPress Multisite Installation

Die Netzwerkeinstellungen einer WordPress Multisite Installation

Stattdessen muss man die Änderungen an der Datenbank vornehmen. Im ersten Schritt sollte ein Backup der Datenbank erzeugt werden. In der resultierenden SQL-Datei werden dann alle Erwähnungen der alten Domain durch die neue Domain ersetzt. Diese geänderte SQL-Datei kann dann in eine neue oder in die bestehende (nachdem die alten Tabellen vorher gelöscht wurden) Datenbank importiert werden. Als letzter Schritt muss die wp-config.php angepasst werden. Dort findet sich der Punkt:

define('DOMAIN_CURRENT_SITE', 'example.com');

An diesem Punkt muss die neue Domain eingetragen werden. Eventuell muss man an dieser Stelle auch die Zugangsdaten für die Datenbank ändern, wenn man die SQL-Datei in eine neue Datenbank importiert hat.