def test_closed(self): from pyramid_sockjs import Session, STATE_CLOSED session = Session('id') session.open() session.closed() self.assertTrue(session.expired) self.assertEqual(session.state, STATE_CLOSED)
def test_open_on_open_exception(self): from pyramid_sockjs import Session, STATE_OPEN class TestSession(Session): def on_open(self): raise Exception() session = TestSession('id') session.open() self.assertEqual(session.state, STATE_OPEN)
def test_message(self): from pyramid_sockjs import Session session = Session('id') session.open() self.now = self.now + timedelta(hours=1) session.message('message') self.assertEqual(session.expires, self.now + session.timeout)
def test_closed_event(self): from pyramid_sockjs import Session closed = [] class TestSession(Session): def on_closed(self): closed.append(True) session = TestSession('id') session.open() session.closed() self.assertTrue(closed[0])
def test_open_on_open(self): from pyramid_sockjs import Session opened = [] class TestSession(Session): def on_open(self): opened.append(True) session = TestSession('id') session.open() self.assertTrue(opened[0])
def test_message_on_message(self): from pyramid_sockjs import Session messages = [] class TestSession(Session): def on_message(self, msg): messages.append(msg) session = TestSession('id') session.open() session.message('message') self.assertEqual(messages[0], 'message')
def test_gc_expire(self): from pyramid_sockjs import STATE_CLOSED Session, sm = self.make_one() session = Session('id') session.open() sm._add(session) self.now = session.expires + timedelta(seconds=10) sm._gc() self.assertNotIn('id', sm) self.assertTrue(session.expired) self.assertEqual(session.state, STATE_CLOSED)
def test_close_on_message_exception(self): from pyramid_sockjs import Session class TestSession(Session): def on_close(self): raise Exception() session = TestSession('id') session.open() err = None try: session.close() except Exception as exc: # pragma: no cover err = exc self.assertIsNone(err)
def test_closed_on_message_exception(self): from pyramid_sockjs import Session, STATE_CLOSED class TestSession(Session): def on_closed(self): raise Exception() session = TestSession('id') session.open() err = None try: session.closed() except Exception as exc: # pragma: no cover err = exc self.assertIsNone(err) self.assertEqual(session.state, STATE_CLOSED)
def test_open(self): from pyramid_sockjs import Session, STATE_OPEN session = Session('id') session.open() self.assertEqual(session.state, STATE_OPEN)