Example #1
0
    def test_add_synchronous_cb_when_transport_asynchronous(self):
        conn = mock()
        conn.synchronous = False
        c = Channel(conn, None, {})

        assertEquals(deque([]), c._pending_events)
        c.add_synchronous_cb('foo')
        assertEquals(deque(['foo']), c._pending_events)
Example #2
0
    def test_add_synchronous_cb_when_transport_asynchronous(self):
        conn = mock()
        conn.synchronous = False
        c = Channel(conn, None, {})

        assert_equals(deque([]), c._pending_events)
        c.add_synchronous_cb('foo')
        assert_equals(deque(['foo']), c._pending_events)
Example #3
0
    def test_add_synchronous_cb_when_transport_synchronous_and_channel_closes(self):
        conn = mock()
        conn.synchronous = True
        c = Channel(conn, None, {})

        wrapper = mock()
        wrapper._read = True
        wrapper._result = 'done'

        expect(channel.SyncWrapper).args('foo').returns(wrapper)
        expect(conn.read_frames)
        expect(conn.read_frames).side_effect(
            lambda: setattr(c, '_closed', True))

        with assert_raises(ChannelClosed):
            c.add_synchronous_cb('foo')
Example #4
0
  def test_add_synchronous_cb_when_transport_synchronous_and_channel_closes(self):
    conn = mock()
    conn.synchronous = True
    c = Channel(conn,None,{})

    wrapper = mock()
    wrapper._read = True
    wrapper._result = 'done'

    expect( channel.SyncWrapper ).args( 'foo' ).returns( wrapper )
    expect( conn.read_frames )
    expect( conn.read_frames ).side_effect(
      lambda: setattr(c, '_closed', True) )
    
    with assert_raises( ChannelClosed ):
      c.add_synchronous_cb('foo')
Example #5
0
    def test_add_synchronous_cb_when_transport_synchronous(self):
        conn = mock()
        conn.synchronous = True
        c = Channel(conn, None, {})

        wrapper = mock()
        wrapper._read = True
        wrapper._result = "done"

        expect(channel.SyncWrapper).args("foo").returns(wrapper)
        expect(conn.read_frames)
        expect(conn.read_frames).side_effect(lambda: setattr(wrapper, "_read", False))

        assertEquals(deque([]), c._pending_events)
        assert_equals("done", c.add_synchronous_cb("foo"))

        # This is technically cleared in runtime, but assert that it's not cleared
        # in this method
        assertEquals(deque([wrapper]), c._pending_events)
Example #6
0
    def test_add_synchronous_cb_when_transport_synchronous(self):
        conn = mock()
        conn.synchronous = True
        c = Channel(conn, None, {})

        wrapper = mock()
        wrapper._read = True
        wrapper._result = 'done'

        expect(channel.SyncWrapper).args('foo').returns(wrapper)
        expect(conn.read_frames)
        expect(conn.read_frames).side_effect(
            lambda: setattr(wrapper, '_read', False))

        assertEquals(deque([]), c._pending_events)
        assert_equals('done', c.add_synchronous_cb('foo'))

        # This is technically cleared in runtime, but assert that it's not cleared
        # in this method
        assertEquals(deque([wrapper]), c._pending_events)
Example #7
0
  def test_add_synchronous_cb(self):
    c = Channel(None,None)

    assertEquals( [], c._pending_events )
    c.add_synchronous_cb( 'foo' )
    assertEquals( ['foo'], c._pending_events )
Example #8
0
    def test_add_synchronous_cb(self):
        c = Channel(None, None)

        assertEquals([], c._pending_events)
        c.add_synchronous_cb('foo')
        assertEquals(['foo'], c._pending_events)