def test_create_client(self): store = InMemoryCardStore() callback = lambda channel_name, card: None client = yield store.create_client(callback) self.assertTrue(IClient.providedBy(client)) self.assertTrue(isinstance(client, InMemoryClient)) self.assertTrue(isinstance(client.client_id, str)) self.assertEqual(client.callback, callback)
def test_publish(self): store = InMemoryCardStore() card1, card2 = object(), object() recorder = Recorder() client = yield store.create_client(recorder) yield store.publish("ah-ha", card1) self.assertEqual(recorder.calls, []) cards = yield store.subscribe("ah-ha", client) self.assertEqual(recorder.calls, []) self.assertEqual(cards, [card1]) yield store.publish("ah-ha", card2) self.assertEqual(recorder.calls, [("ah-ha", card2)])
def __init__(self, root, **settings): self.store = InMemoryCardStore() handlers = [ (r"/", root), (r"/publish/(?P<channel>.*)/", PublicationHandler, dict(store=self.store)), (r"/subscribe", SubscriptionHandler, dict(store=self.store)), ] Application.__init__(self, handlers, **settings)
def mk_store_and_client(self): store = InMemoryCardStore() callback = lambda channel_name, card: None d = store.create_client(callback) return d.addCallback(lambda client: (store, client))
def test_implements_ICardStore(self): store = InMemoryCardStore() self.assertTrue(ICardStore.providedBy(store))