@@ -0,0 +1,601 @@
+from rapidsms.router import Router%0A%0A# a subclass of Router with all the moving parts replaced%0Aclass MockRouter (Router):%0A    def __init__ (self):%0A        Router.__init__(self)%0A        self.logged = %5B%5D %0A%0A    def log(self, *args):%0A        self.logged.append(args)%0A    %0A    def add_backend (self, backend):%0A        self.backends.append(backend)%0A%0A    def add_app (self, app):%0A        self.apps.append(app)%0A%0A    def start (self):%0A        self.running = True%0A        self.start_all_backends()%0A        self.start_all_apps()%0A%0A    def stop (self):%0A        self.running = False%0A        self.stop_all_backends()%0A

Add harness module with MockRouter class. We'll put MockBackend here, too.