[asterisk-commits] pabelanger: testsuite/asterisk/trunk r3070 - in /asterisk/trunk/tests/channel...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue Feb 28 11:47:19 CST 2012
Author: pabelanger
Date: Tue Feb 28 11:47:15 2012
New Revision: 3070
URL: http://svnview.digium.com/svn/testsuite?view=rev&rev=3070
Log:
Convert test to use SIPpTest class
Removed:
asterisk/trunk/tests/channels/SIP/sip_register/configs/ast1/manager.conf
Modified:
asterisk/trunk/tests/channels/SIP/sip_register/run-test
asterisk/trunk/tests/channels/SIP/sip_register/test-config.yaml
Modified: asterisk/trunk/tests/channels/SIP/sip_register/run-test
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/channels/SIP/sip_register/run-test?view=diff&rev=3070&r1=3069&r2=3070
==============================================================================
--- asterisk/trunk/tests/channels/SIP/sip_register/run-test (original)
+++ asterisk/trunk/tests/channels/SIP/sip_register/run-test Tue Feb 28 11:47:15 2012
@@ -9,101 +9,36 @@
import sys
import os
-import signal
-import subprocess
-from twisted.application import service, internet
-from twisted.internet import reactor, defer
-from starpy import manager
sys.path.append("lib/python")
-from asterisk.asterisk import Asterisk
-workingdir = "channels/SIP/sip_register"
-testdir = "tests/%s" % workingdir
+from twisted.internet import reactor
+from asterisk.sipp import SIPpTest
-class RegisterTest:
- def __init__(self):
- self.passed = False
- self.last_step = ""
- self.sipps = {}
+WORKING_DIR = "channels/SIP/sip_register"
+TEST_DIR = os.path.dirname(os.path.realpath(__file__))
- reactor.callWhenRunning(self.run)
+SIPP_SCENARIOS = [
+ {
+ 'scenario' : 'registerv4.xml'
+ },
+ {
+ 'scenario' : 'registerv6.xml'
+ }
+]
- self.ast1 = Asterisk(base=workingdir)
- self.ast1.install_configs("%s/configs/ast1" % (testdir))
-
- def start_asterisk(self):
- self.log_last_step("Starting Asterisk")
- self.ast1.start()
-
- def stop_asterisk(self):
- self.log_last_step("Stopping Asterisk")
- self.ast1.stop()
-
- def ami_on_connect(self, ami):
- self.log_last_step("Connected to the AMI")
- self.ami = ami
- self.ami.registerEvent("PeerStatus", self.check_register_result)
- self.start_sipp("SIP/v4-in", "127.0.0.1", "registerv4.xml", "5061")
- self.start_sipp("SIP/v6-in", "[::1]", "registerv6.xml", "5062")
-
- def ami_login_error(self, ami):
- self.log_last_step("AMI login failed")
- self.stop_reactor()
-
- def ami_login(self):
- self.log_last_step("Logging in to the AMI")
- self.ami_factory = manager.AMIFactory("user", "mysecret")
- self.ami_factory.login('127.0.0.1', 5038).addCallbacks(self.ami_on_connect, self.ami_login_error)
-
- def check_register_result(self, ami, event):
- peer = event.get("peer")
- status = event.get("peerstatus")
- self.log_last_step("Checking registration result")
- if not self.sipps[peer]:
- return
-
- if status == "Registered":
- print "Successful registration for peer %s" % (peer)
- self.sipps[peer]['pass'] = True
- else:
- print ("Registration for peer %s in state %s" % (peer, status))
-
- if (self.sipps['SIP/v4-in']['pass'] is True and
- self.sipps['SIP/v6-in']['pass'] is True):
- self.stop_reactor()
- self.passed = True
- print "SIP registration test passed!"
-
- def start_sipp(self, peer, host, scenario, port):
- self.log_last_step("Starting SIPp scenario %s" % (scenario))
- self.sipps[peer] = {'process': subprocess.Popen(['sipp', host, '-sf', 'tests/channels/SIP/sip_register/sipp/%s' % (scenario), '-p', '%s' % (port), '-m', '1', '-i', '%s' % (host), '-bg']),
- 'pass': False}
-
- def log_last_step(self, step):
- print step
- self.lastStep = step
-
- def stop_reactor(self):
- print "Stopping reactor"
- if reactor.running:
- reactor.stop()
-
- def run(self):
- self.ami_login()
- reactor.callLater(30, self.stop_reactor)
def main():
- # Run Register Test
- test = RegisterTest()
- test.start_asterisk()
+ test = SIPpTest(WORKING_DIR, TEST_DIR, SIPP_SCENARIOS)
reactor.run()
- test.stop_asterisk()
if not test.passed:
return 1
+
return 0
+
if __name__ == "__main__":
- sys.exit(main() or 0)
+ sys.exit(main())
+
# vim:sw=4:ts=4:expandtab:textwidth=79
Modified: asterisk/trunk/tests/channels/SIP/sip_register/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/channels/SIP/sip_register/test-config.yaml?view=diff&rev=3070&r1=3069&r2=3070
==============================================================================
--- asterisk/trunk/tests/channels/SIP/sip_register/test-config.yaml (original)
+++ asterisk/trunk/tests/channels/SIP/sip_register/test-config.yaml Tue Feb 28 11:47:15 2012
@@ -1,5 +1,4 @@
testinfo:
- skip: 'Fails to pass under FreeBSD'
summary: 'Test reception of SIP REGISTER requests'
description: |
'Two UACs register with Asterisk. One uses IPv6 addresses and the other
More information about the asterisk-commits
mailing list