This doesn't actually need to use the Otter app at all.  It could just instantiate a new Klein app.  The Otter app isn't the system under test.  It's the transaction_id function.  In fact this test doesn't really need to invoke any of the HTTP machinery, but that's probably not worth changing here.