diff --git a/mitogen/core.py b/mitogen/core.py index 75086d0d..59ae962a 100644 --- a/mitogen/core.py +++ b/mitogen/core.py @@ -308,8 +308,8 @@ class Receiver(object): class Channel(Sender, Receiver): - def __init__(self, router, context, dst_id, handle=None): - Sender.__init_(self, context, dst_id) + def __init__(self, router, context, dst_handle, handle=None): + Sender.__init__(self, context, dst_handle) Receiver.__init__(self, router, handle) def __repr__(self): diff --git a/tests/channel_test.py b/tests/channel_test.py new file mode 100644 index 00000000..0284449c --- /dev/null +++ b/tests/channel_test.py @@ -0,0 +1,16 @@ +import unittest + +import mitogen.core +import testlib + + +class ConstructorTest(testlib.RouterMixin, unittest.TestCase): + def test_constructor(self): + # issue 32 + l1 = self.router.local() + chan = mitogen.core.Channel(self.router, l1, 123) + assert chan.router == self.router + assert chan.context == l1 + assert chan.dst_handle == 123 + assert chan.handle is not None + assert chan.handle > 0