Example #1
0
    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', ))
Example #2
0
    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',))