[asterisk-commits] jrose: branch group/cdr_test_log_congestion r2945 - in /asterisk/team/group/c...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Dec 21 15:14:00 CST 2011


Author: jrose
Date: Wed Dec 21 15:13:58 2011
New Revision: 2945

URL: http://svnview.digium.com/svn/testsuite?view=rev&rev=2945
Log:
Converts the remaining non-lua cdr tests to use CDRTestCase and deletes some configs.

Removed:
    asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_dial_sip_answer/configs/ast2/
    asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_dial_sip_busy/configs/ast2/
    asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_dial_sip_congestion/configs/ast2/
    asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_dial_sip_transfer/configs/ast2/
    asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_after_busy_forward/configs/ast1/manager.conf
    asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_after_busy_forward/configs/ast2/
    asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_before_dial/configs/ast2/
    asterisk/team/group/cdr_test_log_congestion/tests/cdr/nocdr/configs/ast1/manager.conf
Modified:
    asterisk/team/group/cdr_test_log_congestion/lib/python/asterisk/CDRTestCase.py
    asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_after_busy_forward/configs/ast1/extensions.conf
    asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_after_busy_forward/configs/ast1/sip.conf
    asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_after_busy_forward/run-test
    asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_after_busy_forward/test-config.yaml
    asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_before_dial/configs/ast1/extensions.conf
    asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_before_dial/run-test
    asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_before_dial/test-config.yaml
    asterisk/team/group/cdr_test_log_congestion/tests/cdr/nocdr/run-test

Modified: asterisk/team/group/cdr_test_log_congestion/lib/python/asterisk/CDRTestCase.py
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/group/cdr_test_log_congestion/lib/python/asterisk/CDRTestCase.py?view=diff&rev=2945&r1=2944&r2=2945
==============================================================================
--- asterisk/team/group/cdr_test_log_congestion/lib/python/asterisk/CDRTestCase.py (original)
+++ asterisk/team/group/cdr_test_log_congestion/lib/python/asterisk/CDRTestCase.py Wed Dec 21 15:13:58 2011
@@ -71,7 +71,7 @@
         """
         self.CDRFileExpectations[recordname].append(cdrline)
 
-    def __match_cdrs(self):
+    def match_cdrs(self):
         #Automatically invoked at the end of the test, this will test the CDR files against the listed expectations.
         self.passed = True
 
@@ -105,7 +105,7 @@
             return test.results()
         """
 
-        self.__match_cdrs()
+        self.match_cdrs()
         if self.passed == True:
             return 0
         return 1

Modified: asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_after_busy_forward/configs/ast1/extensions.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_after_busy_forward/configs/ast1/extensions.conf?view=diff&rev=2945&r1=2944&r2=2945
==============================================================================
--- asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_after_busy_forward/configs/ast1/extensions.conf (original)
+++ asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_after_busy_forward/configs/ast1/extensions.conf Wed Dec 21 15:13:58 2011
@@ -5,9 +5,19 @@
 [globals]
 
 [default]
-exten => 1,1,Dial(SIP/1 at test)
-exten => 1,n,Goto(${DIALSTATUS})
-exten => 1,n,Hangup
-exten => 1,n(BUSY),ForkCDR
-exten => 1,n,Dial(SIP/2 at test)
-exten = >1,n,Hangup
+exten => 1,1,NoOp(Dial something that should fail)
+	same => n,Set(CDR(accountcode)=cdrtest_local)
+	same => n,Dial(SIP/test/2)
+	same => n,Goto(${DIALSTATUS})
+	same => n,Hangup
+	same => n(BUSY),ForkCDR
+	same => n,Dial(SIP/test/3)
+	same => n,Hangup
+
+exten => 2,1,NoOp()
+	same => n,Busy()
+	same => n,Hangup()
+
+exten => 3,1,NoOp()
+	same => n,Answer()
+	same => n,Hangup()

Modified: asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_after_busy_forward/configs/ast1/sip.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_after_busy_forward/configs/ast1/sip.conf?view=diff&rev=2945&r1=2944&r2=2945
==============================================================================
--- asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_after_busy_forward/configs/ast1/sip.conf (original)
+++ asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_after_busy_forward/configs/ast1/sip.conf Wed Dec 21 15:13:58 2011
@@ -1,11 +1,9 @@
 [general]
 context=default
-udpbindaddr=0.0.0.0:5065
+udpbindaddr=127.0.0.1
 directmedia=no
-disallow=all
-allow=ulaw
 
 [test]
 type=peer
 host=127.0.0.1
-port=5070
+accountcode=cdrtest_sip

Modified: asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_after_busy_forward/run-test
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_after_busy_forward/run-test?view=diff&rev=2945&r1=2944&r2=2945
==============================================================================
--- asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_after_busy_forward/run-test (original)
+++ asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_after_busy_forward/run-test Wed Dec 21 15:13:58 2011
@@ -8,100 +8,60 @@
 '''
 
 import sys
-from time import sleep
 import os
+import logging
+import re
 sys.path.append("lib/python")
 from asterisk.asterisk import Asterisk
 from asterisk.cdr import AsteriskCSVCDR, AsteriskCSVCDRLine
-from asterisk.ami import AMI
+from asterisk.TestCase import TestCase
+from asterisk.CDRTestCase import CDRTestCase
 from twisted.internet import reactor
-import logging
 
-workingdir = "cdr/console_fork_after_busy_forward"
-testdir = "tests/%s" % workingdir
+logger = logging.getLogger(__name__)
 
-class Test:
+class Fork_After_Busy_Test(CDRTestCase):
     def __init__(self):
-        self.passed = False
+        CDRTestCase.__init__(self)
 
-        self.ast1 = Asterisk(base=workingdir)
-        self.ast1.install_configs("%s/configs/ast1" % (testdir))
+        self.add_expectation('cdrtest_local', AsteriskCSVCDRLine(
+            destination="1",
+            lastapp="Dial",
+            lastarg="SIP/test/3",
+            dcontext="default",
+            dchannel="SIP/test-.*",
+            channel="Local/1 at default-.*",
+            disposition="ANSWERED",
+            amaflags="DOCUMENTATION"
+        ))
+        self.add_expectation('cdrtest_local', AsteriskCSVCDRLine(
+            destination="1",
+            lastapp="Dial",
+            lastarg="SIP/test/3",
+            dcontext="default",
+            dchannel="SIP/test-.*",
+            channel="Local/1 at default-.*",
+            disposition="ANSWERED",
+            amaflags="DOCUMENTATION"
+        ))
 
-        self.ast2 = Asterisk(base=workingdir)
-        self.ast2.install_configs("%s/configs/ast2" % (testdir))
-
-        self.ast1.start()
-        self.ast2.start()
-
-        reactor.callLater(30, self.stop_reactor)
-
-        self.ami = AMI(self.start, self.stop_reactor, timeout=20)
-        self.ami.login()
-
-    def start(self, ami):
-        ami.registerEvent('Hangup', self.end)
-        self.ast1.cli_exec("console dial 1 at default")
-
-    def stop_asterisk(self):
-        self.ast1.stop()
-        self.ast2.stop()
-
-    def stop_reactor(self):
-        print "Stopping Reactor ..."
-        if reactor.running:
-            reactor.stop()
-        self.stop_asterisk()
-
-    def end(self, ami, event):
-        if event.get('channel').lower() != "console/dsp":
-            return
-        self.stop_reactor()
-
-        cdr1 = AsteriskCSVCDR(fn="%s/var/log/asterisk/cdr-csv/Master.csv" % (self.ast1.base))
-        cdr2 = AsteriskCSVCDR(fn="%s/var/log/asterisk/cdr-csv/Master.csv" % (self.ast2.base))
-
-        records = []
-
-        records.append(AsteriskCSVCDRLine(disposition='ANSWERED', dchannel='SIP/test-.*',
-            dcontext='default', amaflags='DOCUMENTATION', uniqueid=cdr1[0].uniqueid,
-            accountcode='', callerid='', userfield='', source='', destination='1',
-            lastapp='Dial', lastarg='SIP/2 at test', channel='Console/dsp', billsec=cdr1[0].billsec))
-
-        records.append(AsteriskCSVCDRLine(disposition='ANSWERED', dchannel='SIP/test-.*',
-            dcontext='default', amaflags='DOCUMENTATION', uniqueid=cdr1[0].uniqueid,
-            accountcode='', callerid='', userfield='', source='', destination='1',
-            lastapp='Dial', lastarg='SIP/2 at test', channel='Console/dsp', billsec=cdr1[0].billsec))
-
-        cdr1_expect = AsteriskCSVCDR(records=records)
-
-        cdr2_expect = AsteriskCSVCDR(records=[AsteriskCSVCDRLine(accountcode="",
-            source="asterisk", destination="2", dcontext="default",
-            callerid='"asterisk" <asterisk>', channel="SIP/.*5065-.*",
-            dchannel="", lastapp="Hangup", lastarg="", disposition="ANSWERED",
-            amaflags="DOCUMENTATION")])
-
-        if len(cdr1) < 2:
-            print "Fewer cdr records than expected! (%d)" % len(cdr1)
-            reactor.stop()
+    def match_cdrs(self):
+        CDRTestCase.match_cdrs(self)
+        if (self.passed == False):
             return
 
+        cdr1 = AsteriskCSVCDR(fn="%s/%s/cdr-csv/%s.csv" % (self.ast[0].base, self.ast[0].directories['astlogdir'], "cdrtest_local"))
+
         if int(cdr1[0].duration) < int(cdr1[1].duration):
-            print "Fail: Original CDR duration shorter than forked"
-            sys.exit(-1)
-
-        if cdr1_expect.match(cdr1) and cdr2_expect.match(cdr2):
-            print "Success"
-            self.passed = True
-        else:
-            print "Failure"
+            logger.error("Fail: Original CDR duration shorter than forked")
+            self.passed = False
 
 def main():
-    logging.basicConfig()
-    test = Test()
+    test = Fork_After_Busy_Test()
+    test.start_asterisk()
     reactor.run()
-    return not test.passed
+    test.stop_asterisk()
+    return test.results()
 
 if __name__ == '__main__':
     sys.exit(main())
-
-# vim:sw=4:ts=4:expandtab:textwidth=79

Modified: asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_after_busy_forward/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_after_busy_forward/test-config.yaml?view=diff&rev=2945&r1=2944&r2=2945
==============================================================================
--- asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_after_busy_forward/test-config.yaml (original)
+++ asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_after_busy_forward/test-config.yaml Wed Dec 21 15:13:58 2011
@@ -1,15 +1,14 @@
 testinfo:
     summary: CLI exec console dial busy forward with ForkCDR
     description: |
-        'One Asterisk instance with console dial excutes another instance via SIP.
-        It responds with busy, then we call ForkCDR and dial another number which
-        answers.  The other instance answers and the CDRs are tested for expected
-        behavior.'
+        'An Asterisk instance originates a local channel on an extension. This
+        extension dials another which responds with busy, then we call ForkCDR and
+        dial another number which answers. Afterwards, the CDRs are tested for
+        expected behavior.'
 
 properties:
     minversion: '1.4'
     dependencies:
         - python : 'twisted'
         - python : 'starpy'
-        - custom : 'soundcard'
         - asterisk : 'cdr_csv'

Modified: asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_before_dial/configs/ast1/extensions.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_before_dial/configs/ast1/extensions.conf?view=diff&rev=2945&r1=2944&r2=2945
==============================================================================
--- asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_before_dial/configs/ast1/extensions.conf (original)
+++ asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_before_dial/configs/ast1/extensions.conf Wed Dec 21 15:13:58 2011
@@ -7,7 +7,7 @@
 [default]
 exten => 1,1,NoOp(Wait a bit so that we can see different times)
 	same => n,Set(CDR(accountcode)=cdrtest_local)
-	same => n,Wait(3)
+	same => n,Playback(silence/3)
 	same => n,ForkCDR
 	same => n,Dial(SIP/test/2)
 

Modified: asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_before_dial/run-test
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_before_dial/run-test?view=diff&rev=2945&r1=2944&r2=2945
==============================================================================
--- asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_before_dial/run-test (original)
+++ asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_before_dial/run-test Wed Dec 21 15:13:58 2011
@@ -18,7 +18,9 @@
 from asterisk.CDRTestCase import CDRTestCase
 from twisted.internet import reactor
 
-class SIP_Dial_Congestion_Test(CDRTestCase):
+logger = logging.getLogger(__name__)
+
+class Fork_Before_Dial_Test(CDRTestCase):
     def __init__(self):
         CDRTestCase.__init__(self)
 
@@ -36,46 +38,28 @@
             disposition="ANSWERED",
             amaflags="DOCUMENTATION"
         ))
-    '''
-    def end(self, ami, event):
-        if event.get('channel').lower() != "console/dsp":
+        self.add_expectation('cdrtest_sip', AsteriskCSVCDRLine(
+            destination="2",
+            dcontext="default",
+            channel="SIP/test-.*",
+            disposition="ANSWERED",
+            amaflags="DOCUMENTATION"
+        ))
+
+    def match_cdrs(self):
+        CDRTestCase.match_cdrs(self)
+
+        if (self.passed == False):
             return
-        self.stop_reactor()
 
-        cdr1 = AsteriskCSVCDR(fn="%s/var/log/asterisk/cdr-csv/Master.csv" % (self.ast1.base))
-        cdr2 = AsteriskCSVCDR(fn="%s/var/log/asterisk/cdr-csv/Master.csv" % (self.ast2.base))
-
-        records = []
-
-        records.append(AsteriskCSVCDRLine(disposition='ANSWERED', dchannel='',
-            dcontext='default', amaflags='DOCUMENTATION', uniqueid=cdr1[0].uniqueid,
-            accountcode='', callerid='', userfield='', source='', destination='1',
-            lastapp='Dial', lastarg='SIP/1 at test', channel='Console/dsp', billsec=cdr1[0].billsec))
-
-        records.append(AsteriskCSVCDRLine(disposition='ANSWERED', dchannel='SIP/test-.*',
-            dcontext='default', amaflags='DOCUMENTATION', uniqueid=cdr1[0].uniqueid,
-            accountcode='', callerid='', userfield='', source='', destination='1',
-            lastapp='Dial', lastarg='SIP/1 at test', channel='Console/dsp', billsec=cdr1[0].billsec))
-
-        cdr1_expect = AsteriskCSVCDR(records=records)
-
-        cdr2_expect = AsteriskCSVCDR(records=[AsteriskCSVCDRLine(accountcode="",
-            source="asterisk", destination="1", dcontext="default",
-            callerid='"asterisk" <asterisk>', channel="SIP/.*5065-.*",
-            dchannel="", lastapp="Hangup", lastarg="", disposition="ANSWERED",
-            amaflags="DOCUMENTATION")])
+        cdr1 = AsteriskCSVCDR(fn="%s/%s/cdr-csv/%s.csv" % (self.ast[0].base, self.ast[0].directories['astlogdir'], "cdrtest_local"))
 
         if int(cdr1[0].duration) < int(cdr1[1].duration):
-            print "Fail: Original CDR duration shorter than forked"
+            logger.error("Fail: Original CDR duration shorter than forked")
+            self.passed = False
 
-        if cdr1_expect.match(cdr1) and cdr2_expect.match(cdr2):
-            print "Success"
-            self.passed = True
-        else:
-            print "Failure"
-    '''
 def main():
-    test = SIP_Dial_Congestion_Test()
+    test = Fork_Before_Dial_Test()
     test.start_asterisk()
     reactor.run()
     test.stop_asterisk()

Modified: asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_before_dial/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_before_dial/test-config.yaml?view=diff&rev=2945&r1=2944&r2=2945
==============================================================================
--- asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_before_dial/test-config.yaml (original)
+++ asterisk/team/group/cdr_test_log_congestion/tests/cdr/console_fork_before_dial/test-config.yaml Wed Dec 21 15:13:58 2011
@@ -1,9 +1,9 @@
 testinfo:
     summary: CLI exec console dial which calls ForkCDR before dialing via SIP which answers
     description: |
-        'One Asterisk instance with console dial excutes ForkCDR and calls another
-        instance via SIP. The other instance answers and the CDRs are tested for
-        expected behavior.'
+        'An Asterisk instance originates a Local channel which will play silence for about
+        3 seconds before using ForkCDR and then dial itself via SIP. The receiving channel
+        answers and then immediately hangs up. CDRs are tested for expected behavior.'
 
 properties:
     minversion: '1.4'

Modified: asterisk/team/group/cdr_test_log_congestion/tests/cdr/nocdr/run-test
URL: http://svnview.digium.com/svn/testsuite/asterisk/team/group/cdr_test_log_congestion/tests/cdr/nocdr/run-test?view=diff&rev=2945&r1=2944&r2=2945
==============================================================================
--- asterisk/team/group/cdr_test_log_congestion/tests/cdr/nocdr/run-test (original)
+++ asterisk/team/group/cdr_test_log_congestion/tests/cdr/nocdr/run-test Wed Dec 21 15:13:58 2011
@@ -8,63 +8,35 @@
 '''
 
 import sys
-from time import sleep
 import os
+import logging
+import re
 sys.path.append("lib/python")
 from asterisk.asterisk import Asterisk
 from asterisk.cdr import AsteriskCSVCDR, AsteriskCSVCDRLine
-from asterisk.ami import AMI
+from asterisk.TestCase import TestCase
+from asterisk.CDRTestCase import CDRTestCase
 from twisted.internet import reactor
-import logging
 
-workingdir = "cdr/nocdr"
-testdir = "tests/%s" % workingdir
+logger = logging.getLogger(__name__)
 
-class Test:
+class NoCDRTest(CDRTestCase):
     def __init__(self):
-        self.passed = False
-
-        self.ast1 = Asterisk(base=workingdir)
-        self.ast1.install_configs("%s/configs/ast1" % (testdir))
-
-        self.ast1.start()
-
-        reactor.callLater(30, self.stop_reactor)
-
-        self.ami = AMI(self.start, self.stop_reactor, timeout=20)
-        self.ami.login()
-
-    def start(self, ami):
-        ami.registerEvent('Hangup', self.end)
-        ami.originate(channel = "Local/1 at default", application = "Echo")
-
-    def stop_asterisk(self):
-        self.ast1.stop()
-
-    def stop_reactor(self):
-        print "Stopping Reactor ..."
-        if reactor.running:
-            reactor.stop()
-        self.stop_asterisk()
-
-    def end(self, ami, event):
-        self.stop_reactor()
-
-        print "The failure to open the next CDR is expected"
-        cdr1 = AsteriskCSVCDR(fn="%s/var/log/asterisk/cdr-csv/Master.csv" % (self.ast1.base))
-
-        if len(cdr1) == 1 and cdr1[0].lastapp == "Echo":
-            # There will be 1 CDR record for the second end of the originated channel.
-            print "Success"
-            self.passed = True
-        else:
-            print "Failure"
+        CDRTestCase.__init__(self)
+        self.add_expectation('Master', AsteriskCSVCDRLine(
+            destination="1",
+            dcontext="default",
+            channel="Local/1 at default-.*",
+            disposition="ANSWERED",
+            amaflags="DOCUMENTATION"
+        ))
 
 def main():
-    logging.basicConfig()
-    test = Test()
+    test = NoCDRTest()
+    test.start_asterisk()
     reactor.run()
-    return not test.passed
+    test.stop_asterisk()
+    return test.results()
 
 if __name__ == '__main__':
     sys.exit(main())




More information about the asterisk-commits mailing list