[asterisk-dev] [Code Review] 4520: Testsuite: stasis: set a channel variable on websocket disconnect error
Ashley Sanders
reviewboard at asterisk.org
Thu Mar 26 15:23:12 CDT 2015
> On March 24, 2015, 11:23 a.m., Matt Jordan wrote:
> > ./asterisk/trunk/tests/rest_api/applications/stasis_status/observable_object.py, lines 85-89
> > <https://reviewboard.asterisk.org/r/4520/diff/1/?file=72747#file72747line85>
> >
> > Should an ObservableObject raise an exception in this case?
> >
> > This feels like it would be a test writing error, which means I would expect things to blow up (so that, as a test writer, I can fix them). Right now, if this just returns, test execution will hum along without actually indicating (other than as a WARNING) that something really bad just happened.
> >
> > This finding applies to the other very off nominal paths in this class, particularly those where methods are passed invalid parameters.
I agree, and there are also three other places in the 'register_observers' function where I am surreptitiously returning from the function. As stated before, this is the testsuite and when something fails, obvious and immediate feedback is necessitated.
- Ashley
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4520/#review14783
-----------------------------------------------------------
On March 22, 2015, 11:34 p.m., Ashley Sanders wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/4520/
> -----------------------------------------------------------
>
> (Updated March 22, 2015, 11:34 p.m.)
>
>
> Review request for Asterisk Developers.
>
>
> Bugs: ASTERISK-24802
> https://issues.asterisk.org/jira/browse/ASTERISK-24802
>
>
> Repository: testsuite
>
>
> Description
> -------
>
> When an error occurs while writing to a web socket, the web socket is disconnected and the event is logged. A side-effect of this, however, is that any application on the other side waiting for a response from Stasis is left hanging indefinitely (as there is no mechanism presently available for notifying interested parties about web socket error states in Stasis).
>
> This patch introduces a new channel variable: STASIS_STATUS to give outside applications context when errors occur in Stasis that interrupt normal processing.
>
> This test exercises three scenarios to elicit updates to the STASIS_STATUS channel variable:
> 1) The 'Babs' scenario: tests a nominal path of Stasis to verify the 'ACTIVE' state is correctly applied. For this test, a call is originated under normal conditions and then the system is polled for the value of STASIS_STATUS before the channel is hung up.
> 2) The 'Bugs' scenario: tests the situation where a call is originated requesting an app that was never registered in Stasis to verify the 'FAILED' state is correctly applied.
> 3) The 'Buster' scenario: tests the situation where an app that was registered in Stasis when call A was originated (and while call A is still active) but is no longer registered when call B is originated. Determines if the 'FAILED' state is correctly applied.
>
> ***Note*** This is a test. It is only a test. The review for the Asterisk source can be found at: https://reviewboard.asterisk.org/r/4519/
>
>
> Diffs
> -----
>
> ./asterisk/trunk/tests/rest_api/applications/tests.yaml 6547
> ./asterisk/trunk/tests/rest_api/applications/stasis_status/test_scenario_factory.py PRE-CREATION
> ./asterisk/trunk/tests/rest_api/applications/stasis_status/test_scenario.py PRE-CREATION
> ./asterisk/trunk/tests/rest_api/applications/stasis_status/test_case.py PRE-CREATION
> ./asterisk/trunk/tests/rest_api/applications/stasis_status/test-config.yaml PRE-CREATION
> ./asterisk/trunk/tests/rest_api/applications/stasis_status/run-test PRE-CREATION
> ./asterisk/trunk/tests/rest_api/applications/stasis_status/observable_object.py PRE-CREATION
> ./asterisk/trunk/tests/rest_api/applications/stasis_status/configs/ast1/sip.conf PRE-CREATION
> ./asterisk/trunk/tests/rest_api/applications/stasis_status/configs/ast1/http.conf PRE-CREATION
> ./asterisk/trunk/tests/rest_api/applications/stasis_status/configs/ast1/extensions.conf PRE-CREATION
> ./asterisk/trunk/tests/rest_api/applications/stasis_status/configs/ast1/ari.conf PRE-CREATION
> ./asterisk/trunk/tests/rest_api/applications/stasis_status/ari_client.py PRE-CREATION
>
> Diff: https://reviewboard.asterisk.org/r/4520/diff/
>
>
> Testing
> -------
>
>
> Thanks,
>
> Ashley Sanders
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20150326/48bef69e/attachment-0001.html>
More information about the asterisk-dev
mailing list