Move database preparing code out of homserver.py into storage where it belongs
No need for a tiny run() function any more, just use reactor.run() directly
Make sure not to open our TCP ports until /after/ the DB is nicely prepared ready for use
prepare_database() on db_conn, not plain name, so we can pass in the connection from outside
Tiny trivial PoC unit-test using SQLite in :memory: mode
Also test avatar_url profile field
It's considered polite to actually wait for DB prepare before running tests
Move SQLiteMemoryDbPool implementation into tests.utils
Remember to kill now-dead import in test_profile.py
Added unit tests for PresenceDataStore too
Test ProfileHandler against the real datastore layer using SQLite :memory:
Added unit tests of DirectoryStore
Unit-test DirectoryHandler against (real) SQLite memory store, not mocked storage layer
Start of converting PresenceHandler unit tests to use SQLiteMemoryDbPool - just the 'State' test case for now
Need to prepare() the SQLiteMemoryDbPool before passing it to HomeServer constructor, as DataStore's constructor will want it ready
Perform PresenceInvitesTestCase against real SQLiteMemoryDbPool
Unit-test for RegistrationStore using SQLiteMemoryDbPool
Rename _store_room_member_txn to _store_room_member_from_event_txn so we can create another, more sensible function of that name
Add a better _store_room_member_txn() method that takes separated fields instead of an event object; also add FIXME comment about a big bug in the logic
Add a .runInteraction() method on SQLBaseStore itself to wrap the .db_pool