[asterisk-dev] [Code Review]: A pile of Dial tests for Asterisk 12

Matt Jordan reviewboard at asterisk.org
Fri Mar 15 15:34:24 CDT 2013



> On March 15, 2013, 2:34 p.m., opticron wrote:
> > /asterisk/trunk/tests/apps/dial/dial_answer/test-config.yaml, lines 72-74
> > <https://reviewboard.asterisk.org/r/2384/diff/1/?file=34312#file34312line72>
> >
> >     These items are the defaults so there is no reason to set them.  This appears in most if not all of the test-config.yaml files.  This also applies to the trigger option in some of the configs.

Hm.

On the one hand, I don't like having items that aren't necessary exist in the YAML.

On the other hand, relying on some of these to be defaults feels brittle. ID: okay, I can see that being the default AMI connection. But the fact that it spawns a Local channel to s at default and connects that to the Echo application feels somewhat arbitrary as far as 'defaults' go. Not only that, but when I look at the test, I have to know that's the default values to know where the channel gets originated to.

I'm not sure about this. I'll at least remove the id:, but I'm not sure I like relying on the library to provide test specific functionality.


On March 15, 2013, 2:34 p.m., Matt Jordan wrote:
> > There are many identical xml scenarios in the parallel dial tests.  Tests with this include: all_busy, all_cancel, all_congestion, all_no_answer, and all_unavail.
> > 
> > Following the naming convention of the other tests here, dial_parallel_answer_cancel should probably be dial_parallel_single_cancel.
> > 
> > It would be nice if these tests could share SIPp scenario files, but that is outside the scope of this task.

For the "all" parallel tests, I can change those to be generic for both bob and charlie.

The naming convention for dial_parallel_answer_cancel doesn't follow the others because the endpoint that answers causes the cancel - whereas for the others, you have an endpoint that first returns a failure response code, followed by an endpoint that answers.


- Matt


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/2384/#review8059
-----------------------------------------------------------


On March 13, 2013, 12:02 p.m., Matt Jordan wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/2384/
> -----------------------------------------------------------
> 
> (Updated March 13, 2013, 12:02 p.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Summary
> -------
> 
> For the CDR work being done for Asterisk 12, we need channel information as it pertains to Dialing to be pushed over the Stasis-Core message bus. As well, AMI (per the specification here https://wiki.asterisk.org/wiki/display/AST/AMI+1.4+Specification) requires knowledge of dialing to be able to raise the corresponding DialBegin/DialEnd events.
> 
> While the CDR work isn't ready yet for testing, AMI is much easier to port over to Stasis-Core - see Review https://reviewboard.asterisk.org/r/2383. These tests can be extended to verify any functionality that consumes the state of channels during a Dial operation - CDRs, CEL, etc.
> 
> This review provides a number of tests to cover Dial operations and the AMI events they produce. The following scenarios are covered:
> 
> -- Single Party --
> 
> * Dialing an endpoint and having it Answer
> * Dialing an endpoint and having it reply back with a Busy
> * Dialing an endpoint and having it be Unavailable
> * Dialing an endpoint and having it reply back as Congested
> * Dialing an endpoint and having the operation time out
> * Dialing an endpoint and having the caller press a DTMF key that hangs them up, cancelling the dial operation
> 
> -- Multi Party --
> 
> * Dialing two endpoints, having one Answer and the verifying that the other one gets Cancelled
> * Dialing two endpoints, having both be Busy/one Answer and the other be Busy
> * Dialing two endpoints, having both be Congested/one Answer and the other be Congested
> * Dialing two endpoints, having both be Unavailable/one Answer and the other be Unavailable
> * Dialing two endpoints and having the caller press a DTMF key that hangs them up, cancelling both dial operations
> 
> 
> This addresses bug ASTERISK-21196.
>     https://issues.asterisk.org/jira/browse/ASTERISK-21196
> 
> 
> Diffs
> -----
> 
>   /asterisk/trunk/lib/python/asterisk/PluggableModules.py 3666 
>   /asterisk/trunk/lib/python/asterisk/ami.py 3666 
>   /asterisk/trunk/tests/apps/dial/dial_answer/configs/ast1/extensions.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_answer/configs/ast1/sip.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_answer/sipp/charlie.xml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_answer/test-config.yaml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_busy/configs/ast1/extensions.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_busy/configs/ast1/sip.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_busy/sipp/bob.xml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_busy/test-config.yaml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_congestion/configs/ast1/extensions.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_congestion/configs/ast1/sip.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_congestion/sipp/bob.xml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_congestion/test-config.yaml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_dtmf_hangup_cancel/configs/ast1/extensions.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_dtmf_hangup_cancel/configs/ast1/sip.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_dtmf_hangup_cancel/send_dtmf.py PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_dtmf_hangup_cancel/sipp/bob.xml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_dtmf_hangup_cancel/test-config.yaml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_no_answer/configs/ast1/extensions.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_no_answer/configs/ast1/sip.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_no_answer/sipp/bob.xml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_no_answer/test-config.yaml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_all_busy/configs/ast1/extensions.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_all_busy/configs/ast1/sip.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_all_busy/sipp/bob.xml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_all_busy/sipp/charlie.xml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_all_busy/test-config.yaml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_all_cancel/configs/ast1/extensions.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_all_cancel/configs/ast1/sip.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_all_cancel/send_dtmf.py PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_all_cancel/sipp/bob.xml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_all_cancel/sipp/charlie.xml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_all_cancel/test-config.yaml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_all_congestion/configs/ast1/extensions.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_all_congestion/configs/ast1/sip.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_all_congestion/sipp/bob.xml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_all_congestion/sipp/charlie.xml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_all_congestion/test-config.yaml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_all_no_answer/configs/ast1/extensions.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_all_no_answer/configs/ast1/sip.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_all_no_answer/sipp/bob.xml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_all_no_answer/sipp/charlie.xml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_all_no_answer/test-config.yaml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_all_unavail/configs/ast1/extensions.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_all_unavail/configs/ast1/sip.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_all_unavail/sipp/bob.xml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_all_unavail/sipp/charlie.xml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_all_unavail/test-config.yaml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_answer_cancel/configs/ast1/extensions.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_answer_cancel/configs/ast1/sip.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_answer_cancel/sipp/bob.xml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_answer_cancel/sipp/charlie.xml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_answer_cancel/test-config.yaml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_single_busy/configs/ast1/extensions.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_single_busy/configs/ast1/sip.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_single_busy/sipp/bob.xml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_single_busy/sipp/charlie.xml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_single_busy/test-config.yaml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_single_congestion/configs/ast1/extensions.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_single_congestion/configs/ast1/sip.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_single_congestion/sipp/bob.xml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_single_congestion/sipp/charlie.xml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_single_congestion/test-config.yaml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_single_no_answer/configs/ast1/extensions.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_single_no_answer/configs/ast1/sip.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_single_no_answer/sipp/bob.xml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_single_no_answer/sipp/charlie.xml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_single_no_answer/test-config.yaml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_single_unavail/configs/ast1/extensions.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_single_unavail/configs/ast1/sip.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_single_unavail/sipp/bob.xml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_single_unavail/sipp/charlie.xml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/dial_parallel_single_unavail/test-config.yaml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_parallel/tests.yaml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_timeout/configs/ast1/extensions.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_timeout/configs/ast1/sip.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_timeout/sipp/bob.xml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_timeout/test-config.yaml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_unavail/configs/ast1/extensions.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_unavail/configs/ast1/sip.conf PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_unavail/sipp/bob.xml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/dial_unavail/test-config.yaml PRE-CREATION 
>   /asterisk/trunk/tests/apps/dial/tests.yaml PRE-CREATION 
>   /asterisk/trunk/tests/apps/tests.yaml 3666 
> 
> Diff: https://reviewboard.asterisk.org/r/2384/diff
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Matt
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20130315/c6c9b120/attachment-0001.htm>


More information about the asterisk-dev mailing list