Move SQLiteMemoryDbPool implementation into tests.utils

pull/10/head
Paul "LeoNerd" Evans 2014-09-10 16:56:02 +01:00
parent 9774949cc9
commit 08f5c48fc8
2 changed files with 15 additions and 27 deletions

View File

@ -18,38 +18,12 @@ from twisted.trial import unittest
from twisted.internet import defer from twisted.internet import defer
from mock import Mock, call from mock import Mock, call
from twisted.enterprise.adbapi import ConnectionPool
from synapse.server import HomeServer from synapse.server import HomeServer
from synapse.storage import prepare_database from synapse.storage import prepare_database
from synapse.storage.profile import ProfileStore from synapse.storage.profile import ProfileStore
from tests.utils import SQLiteMemoryDbPool
class SQLiteMemoryDbPool(ConnectionPool, object):
def __init__(self):
super(SQLiteMemoryDbPool, self).__init__(
"sqlite3", ":memory:",
cp_min=1,
cp_max=1,
)
def prepare(self):
return self.runWithConnection(prepare_database)
#def runInteraction(self, interaction, *args, **kwargs):
# # Just use a cursor as the txn directly
# txn = self.db.cursor()
# def _on_success(result):
# txn.commit()
# return result
# def _on_failure(failure):
# txn.rollback()
# raise failure
# d = interaction(txn, *args, **kwargs)
# d.addCallbacks(_on_success, _on_failure)
# return d
class ProfileStoreTestCase(unittest.TestCase): class ProfileStoreTestCase(unittest.TestCase):

View File

@ -16,12 +16,14 @@
from synapse.http.server import HttpServer from synapse.http.server import HttpServer
from synapse.api.errors import cs_error, CodeMessageException, StoreError from synapse.api.errors import cs_error, CodeMessageException, StoreError
from synapse.api.constants import Membership from synapse.api.constants import Membership
from synapse.storage import prepare_database
from synapse.api.events.room import ( from synapse.api.events.room import (
RoomMemberEvent, MessageEvent RoomMemberEvent, MessageEvent
) )
from twisted.internet import defer, reactor from twisted.internet import defer, reactor
from twisted.enterprise.adbapi import ConnectionPool
from collections import namedtuple from collections import namedtuple
from mock import patch, Mock from mock import patch, Mock
@ -120,6 +122,18 @@ class MockClock(object):
self.now += secs self.now += secs
class SQLiteMemoryDbPool(ConnectionPool, object):
def __init__(self):
super(SQLiteMemoryDbPool, self).__init__(
"sqlite3", ":memory:",
cp_min=1,
cp_max=1,
)
def prepare(self):
return self.runWithConnection(prepare_database)
class MemoryDataStore(object): class MemoryDataStore(object):
Room = namedtuple( Room = namedtuple(