def test_legCallSetup(self): from shtoom.sip import Dialog ae = self.assertEquals d = Dialog() cookie = 'NCookie' class A: res = None def good(self, res): self.res = res def bad(self, err): self.res = err l = Leg(cookie, d) a = A() d = defer.Deferred() d.addCallbacks(a.good, a.bad) l.incomingCall(d) ae(a.res, None) l.answerCall(voiceapp=None) twisted.trial.util.wait(d) ae(a.res, cookie) l.rejectCall(Exception('because')) twisted.trial.util.wait(d) ae(a.res, cookie) l = Leg(cookie, d) a = A() d = defer.Deferred() d.addCallbacks(a.good, a.bad) l.incomingCall(d) ae(a.res, None) # XXX should be an exception l.rejectCall(Exception('because')) twisted.trial.util.wait(d) # rejectCall triggers an errback, so we get # Failure(DefaultException(reason)) ae(a.res.value.args, ('because', ))
def test_legCallSetup(self): from shtoom.sip import Dialog ae = self.assertEquals d = Dialog() cookie = 'NCookie' class A: res = None def good(self, res): self.res = res def bad(self, err): self.res = err l = Leg(cookie, d) a = A() d = defer.Deferred() d.addCallbacks(a.good, a.bad) l.incomingCall(d) ae(a.res, None) l.answerCall(voiceapp=None) twisted.trial.util.wait(d) ae(a.res, cookie) l.rejectCall(Exception('because')) twisted.trial.util.wait(d) ae(a.res, cookie) l = Leg(cookie, d) a = A() d = defer.Deferred() d.addCallbacks(a.good, a.bad) l.incomingCall(d) ae(a.res, None) # XXX should be an exception l.rejectCall(Exception('because')) twisted.trial.util.wait(d) # rejectCall triggers an errback, so we get # Failure(DefaultException(reason)) ae(a.res.value.args, ('because',))