From 0e77ac488395846fe054b405869b72ce7e69a0b3 Mon Sep 17 00:00:00 2001 From: Ghislain MARY Date: Thu, 28 Aug 2014 17:05:27 +0200 Subject: [PATCH] Add a second call unit test in Python. --- tools/python/unittests/linphonetester.py | 7 ++++--- tools/python/unittests/test_call.py | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/tools/python/unittests/linphonetester.py b/tools/python/unittests/linphonetester.py index 49fec9791..d2591d723 100644 --- a/tools/python/unittests/linphonetester.py +++ b/tools/python/unittests/linphonetester.py @@ -175,6 +175,10 @@ class CoreManager: res = func(*managers) return res + @classmethod + def wait_for(cls, manager1, manager2, func): + return cls.wait_for_until(manager1, manager2, func, 10000) + @classmethod def registration_state_changed(cls, lc, cfg, state, message): manager = lc.user_data @@ -316,9 +320,6 @@ class CoreManager: def stop(self): self.lc = None - def __del__(self): - self.stop() - def configure_lc_from(self, vtable, resources_path, rc_path): filepath = None if rc_path is not None: diff --git a/tools/python/unittests/test_call.py b/tools/python/unittests/test_call.py index 1c299413d..e64032391 100644 --- a/tools/python/unittests/test_call.py +++ b/tools/python/unittests/test_call.py @@ -26,3 +26,23 @@ class TestCall: out_call_log = pauline.lc.call_logs[0] assert out_call_log is not None assert_equals(out_call_log.status, linphone.CallStatus.CallAborted) + marie.stop() + pauline.stop() + + def test_declined_call(self): + marie = linphonetester.CoreManager('marie_rc', logger=TestCall.logger) + pauline = linphonetester.CoreManager('pauline_rc', logger=TestCall.logger) + out_call = pauline.lc.invite_address(marie.identity) + assert_equals(linphonetester.CoreManager.wait_for(pauline, marie, lambda pauline, marie: marie.stats.number_of_LinphoneCallIncomingReceived == 1), True) + in_call = marie.lc.current_call + assert in_call is not None + if in_call is not None: + marie.lc.terminate_call(in_call) + assert_equals(linphonetester.CoreManager.wait_for(pauline, marie, lambda pauline, marie: marie.stats.number_of_LinphoneCallReleased == 1), True) + assert_equals(linphonetester.CoreManager.wait_for(pauline, marie, lambda pauline, marie: pauline.stats.number_of_LinphoneCallReleased == 1), True) + assert_equals(marie.stats.number_of_LinphoneCallEnd, 1) + assert_equals(pauline.stats.number_of_LinphoneCallEnd, 1) + assert_equals(in_call.reason, linphone.Reason.ReasonDeclined) + assert_equals(out_call.reason, linphone.Reason.ReasonDeclined) + marie.stop() + pauline.stop()