예제 #1
0
 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)
예제 #2
0
 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)
예제 #3
0
 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)])
예제 #4
0
파일: server.py 프로젝트: praekelt/echidna
 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)
예제 #5
0
 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)])
예제 #6
0
 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))
예제 #7
0
 def test_implements_ICardStore(self):
     store = InMemoryCardStore()
     self.assertTrue(ICardStore.providedBy(store))
예제 #8
0
 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))