<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://reviewboard.asterisk.org/r/3361/">https://reviewboard.asterisk.org/r/3361/</a>
</td>
</tr>
</table>
<br />
<p>Ship it!</p>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Ship It!</pre>
<br />
<p>- Jonathan Rose</p>
<br />
<p>On March 14th, 2014, 4:23 p.m. CDT, Matt Jordan wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://reviewboard.asterisk.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for Asterisk Developers, David Lee, Joshua Colp, and kmoore.</div>
<div>By Matt Jordan.</div>
<p style="color: grey;"><i>Updated March 14, 2014, 4:23 p.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
testsuite
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">The change in r410528 (https://reviewboard.asterisk.org/r/3336/) introduced a subtle behaviour change that broke the rest_api/bridges/subscription test. Previously, the test did the following:
* Create a Stasis application 'testsuite'
* Create a Stasis application 'bridge-watching-app'
* POST a channel to application 'testsuite'
* POST a bridge
* Subscribe application 'bridge-watching-app' to the bridge
* Add the previously posted channel to the bridge
** Verify that the app 'testsuite' sees the bridge update (as its channel is in the bridge)
** Verify that the app 'bridge-watching-app' sees the bridge update (as it was subscribed)
* Unsubscribe the app 'testsuite' from the bridge
* Remove the channel from the bridge
** Verify that the app 'bridge-watching-app' see the bridge update
** Verify that the app 'testsuite' does NOT see the bridge update <------------ THIS IS NOW BROKEN
The last verification broke because we now ensure that applications who have channels in a bridge are now subscribed implicitly to the bridge while their channel is in it. You can now no longer unsubscribe from the implicit subscription created by your channel: you may decrement the subscription count, but it won't be sufficient to nuke out the subscription that ARI has created for you.
I actually think this behaviour change is a good thing: If you have a channel in an application, and it is doing "things", you should always be notified of the "things" it is doing. Even if you claim you don't want to know - otherwise, how do you know when you can DELETE the channel? Or do something else crazy to it?
This test has now been updated so that the thing unsubscribed is the 'bridge-watching-app'. This still verifies subscribes/unsubscribes - but it does so where the entity subscribing for the bridge updates never had a 'stake' in the state of the bridge in the first place.
</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>/asterisk/trunk/tests/rest_api/applications/subscribe-bridge/test-config.yaml <span style="color: grey">(4844)</span></li>
<li>/asterisk/trunk/tests/rest_api/applications/subscribe-bridge/subscribe_bridge.py <span style="color: grey">(4844)</span></li>
</ul>
<p><a href="https://reviewboard.asterisk.org/r/3361/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>