> On June 26, 2014, 10:27 a.m., Matt Jordan wrote:
> > /asterisk/trunk/tests/pbx/manager_extensions/ami_extension_control.py, line 
> > 39
> > <https://reviewboard.asterisk.org/r/3660/diff/1/?file=60057#file60057line39>
> >
> >     This should not set the test to pass here. You should only pass the 
> > test if the channels that are originated are successfully created (that is, 
> > answered).
> >     
> >     You can use a deferred list to gather up the deferreds returned by the 
> > AMIProtocol originate. When all deferreds have fired, the deferred list 
> > will fire, which will call the callback you've defined for the deferred 
> > list. By default, the first parameter passed to a callback of a deferred 
> > list is a list of tuples (success, result) where success is a boolean 
> > indicating whether or not the callback succeeded. You can then set the test 
> > to passed if all of the originates succeeded.
> >     
> >     Something like:
> >     
> >     def _pass_test(results, test_object):
> >         passed = all([result[0] for result in results if result[0])
> >         test_object.set_passed(passed)
> >     
> >     deferds = []
> >     for channel in self.originates:
> >         deferred = self.ami.originate(...)
> >         deferred.addErrback(self.handle_originate_failure)
> >         deferds.append(deferred)
> >     
> >     
> >     deferred_list = defer.DeferredList(deferds)
> >     deferred_list.addCallback(_pass_test, self)
> >
> 
> Jonathan Rose wrote:
>     "You should only pass the test if the channels that are originated are 
> successfully created (that is, answered)"
>     
>     That isn't going to be the case for all originates by design. When 
> attempting to originate to an extension that has been deleted, the call isn't 
> meant to be answered.

Ah, on second thought I can get around that by just having an extension that 
matches on everything and creates an event for ending up there.


- Jonathan


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


On June 20, 2014, 1:42 p.m., Jonathan Rose wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/3660/
> -----------------------------------------------------------
> 
> (Updated June 20, 2014, 1:42 p.m.)
> 
> 
> Review request for Asterisk Developers, kmoore and Matt Jordan.
> 
> 
> Repository: testsuite
> 
> 
> Description
> -------
> 
> 11 part test:
>  1 - Remove an extension with a priority
>      If the manager command fails, a failure token will be set
>      If the original extension runs, a user event will be generated that 
> makes the test fail
> 
>  2 - Remove an entire existing extension
>      If the manager command fails, a failure token will be set
>      If the original extension runs, a user event will be generated that 
> makes the test fail
> 
>  3 - Add an extension
>      If the manager command fails, a failure token will be set
>      If the extension fails to run, an expected user event will not be 
> generated and the test will fail
> 
>  4 - Add an extension with a CID match that doesn't match the originated 
> channel
>      If the manager command fails, a failure token will be set
>      If the extension runs, a user event will be generated that makes the 
> test fail
> 
>  5 - Add an extension with a CID match that should match the originated 
> channel
>      If the manager command fails, a failure token will be set
>      If the extension fails to run, an expected user event will not be 
> generated and the test will fail
> 
>  6 - Add an extension that replaces an existing priority
>      If the manager command fails, a failure token will be set
>      If the original extension runs, a user event will be generated that 
> makes the test fail
>      If the replacement extension doesn't run, an expected user event will 
> not be generated and the test will fail
> 
>  7 - Attempt to add an extension that would replace an existing priority, but 
> don't allow replacement
>      If the manager command doesn't fail, a failure token will be set
>      If the original extension doesn't run, an expected user event will not 
> be generated and the test will fail
>      If the replacement extension runs, a user event will be generated that 
> makes the test fail
> 
>  8 - Remove an extension at a specific priority with caller ID matching
>      If the manager command fails, a failure token will be set
>      If the original extension runs, a user event will be generated that 
> makes the test fail
>      The originate is checked by means of a user event on a separate priority 
> taht is not removed
> 
>  9 - Attempt DialplanAddExtension without priority set
>      If the manager command doesn't fail, a failure token will be set
> 
> 10 - Attempt DialplanAddExtension without application set
>      If the manager command doesn't fail, a failure token will be set
> 
> 11 - Attempt DialplanRemoveExtension on an extension that does not exist
>      If the manager command doesn't fail, a failure token will be set
> 
> 
> Diffs
> -----
> 
>   /asterisk/trunk/tests/pbx/tests.yaml 5144 
>   /asterisk/trunk/tests/pbx/manager_extensions/test-config.yaml PRE-CREATION 
>   /asterisk/trunk/tests/pbx/manager_extensions/configs/ast1/extensions.conf 
> PRE-CREATION 
>   /asterisk/trunk/tests/pbx/manager_extensions/ami_extension_control.py 
> PRE-CREATION 
> 
> Diff: https://reviewboard.asterisk.org/r/3660/diff/
> 
> 
> Testing
> -------
> 
> Removed execution of many of the test AMI commands to guarantee that if above 
> failures occurred that the test would fail
> 
> 
> Thanks,
> 
> Jonathan Rose
> 
>

-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to