[asterisk-commits] jbigelow: testsuite/asterisk/trunk r6349 - in /asterisk/trunk/tests/rest_api/...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Jan 29 15:37:30 CST 2015
Author: jbigelow
Date: Thu Jan 29 15:37:22 2015
New Revision: 6349
URL: http://svnview.digium.com/svn/testsuite?view=rev&rev=6349
Log:
Testsuite: Add ext. bridging tests for Stasis bridge (one channel) interactions
This adds the remaining external bridging tests for Stasis bridge (one channel)
interactions as defined on the StasisStart/StasisEnd Test Plan (tests 2.2, 2.3,
and 2.4) at:
https://wiki.asterisk.org/wiki/pages/viewpage.action?pageId=30279826
This also renames the test
'tests/rest_api/external_interaction/ami_bridge/stasis_bridge/' to
'tests/rest_api/external_interaction/ami_bridge/stasis_bridge/non_stasis_app'
and adds these new tests under
'tests/rest_api/external_interaction/ami_bridge/stasis_bridge/'.
(closes issue ASTERISK-24610)
Review: https://reviewboard.asterisk.org/r/4330/
Added:
asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/different_stasis_app/
asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/different_stasis_app/configs/
asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/different_stasis_app/configs/ast1/
asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/different_stasis_app/configs/ast1/extensions.conf (with props)
asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/different_stasis_app/test-config.yaml (with props)
asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/non_stasis_app/
asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/non_stasis_app/configs/
- copied from r6226, asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/configs/
asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/non_stasis_app/test-config.yaml
- copied unchanged from r6226, asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/test-config.yaml
asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/non_stasis_bridge/
asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/non_stasis_bridge/configs/
asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/non_stasis_bridge/configs/ast1/
asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/non_stasis_bridge/configs/ast1/extensions.conf (with props)
asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/non_stasis_bridge/test-config.yaml (with props)
asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/same_stasis_app/
asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/same_stasis_app/configs/
asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/same_stasis_app/configs/ast1/
asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/same_stasis_app/configs/ast1/extensions.conf (with props)
asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/same_stasis_app/test-config.yaml (with props)
asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/tests.yaml (with props)
Removed:
asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/configs/
asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/test-config.yaml
Modified:
asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/tests.yaml
Added: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/different_stasis_app/configs/ast1/extensions.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/different_stasis_app/configs/ast1/extensions.conf?view=auto&rev=6349
==============================================================================
--- asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/different_stasis_app/configs/ast1/extensions.conf (added)
+++ asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/different_stasis_app/configs/ast1/extensions.conf Thu Jan 29 15:37:22 2015
@@ -1,0 +1,6 @@
+[default]
+
+exten => echo,1,Answer()
+ same => n,Echo()
+ same => n,Hangup()
+
Propchange: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/different_stasis_app/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/different_stasis_app/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/different_stasis_app/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/different_stasis_app/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/different_stasis_app/test-config.yaml?view=auto&rev=6349
==============================================================================
--- asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/different_stasis_app/test-config.yaml (added)
+++ asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/different_stasis_app/test-config.yaml Thu Jan 29 15:37:22 2015
@@ -1,0 +1,202 @@
+testinfo:
+ summary: Bridge channel in stasis bridge with channel in different stasis app.
+ description: |
+ "This test originates a Local channel placing half ('alice') into
+ Stasis(App_A) and the other half ('echo_alice') into Echo(). The
+ 'alice' half is added to the bridge 'test_bridge'. Another Local
+ channel is originated with half ('bob') placed into Stasis(App_B) while
+ the other half ('echo_bob') is placed into Echo().
+
+ The AMI bridge action is then used to pull 'alice' out of the
+ Stasis(App_A) bridge and 'bob' out of Stasis(App_B) and push them into
+ a new bridge. The 'bob' channel half is then hung up. This test
+ verifies that the StasisStart & StasisEnd events occur for both 'alice'
+ & 'bob'. Additionally it verifies that 'alice' does not re-enter Stasis
+ when 'bob' is hung up."
+
+test-modules:
+ test-object:
+ config-section: test-object-config
+ typename: 'ari.AriBaseTestObject'
+ modules:
+ -
+ config-section: pluggable-config
+ typename: 'pluggable_modules.EventActionModule'
+
+test-object-config:
+ apps: App_A,App_B
+
+pluggable-config:
+ # Create channel where the 'alice' half enters Stasis and the 'echo_alice'
+ # half enters dialplan executing Echo()
+ -
+ ami-start:
+ ari-requests:
+ method: 'post'
+ uri: 'channels/alice'
+ params:
+ endpoint: 'Local/echo at default'
+ app: 'App_A'
+ otherChannelId: 'echo_alice'
+ # Ensure the 'alice' channel half enters Stasis. Create stasis bridge
+ # 'test_bridge' and add 'alice' to it.
+ -
+ ari-events:
+ match:
+ type: StasisStart
+ application: 'App_A'
+ args: []
+ channel:
+ id: 'alice'
+ count: 1
+ ari-requests:
+ -
+ method: 'post'
+ uri: 'bridges/test_bridge'
+ -
+ method: 'post'
+ uri: 'bridges/test_bridge/addChannel'
+ params:
+ channel: 'alice'
+ # Ensure 'alice' is in a Stasis bridge. Then create channel where the 'bob'
+ # half enters Stasis and the 'echo_bob' half enters dialplan executing
+ # Echo().
+ -
+ ari-events:
+ match:
+ type: ChannelEnteredBridge
+ bridge:
+ id: 'test_bridge'
+ channels: ['alice']
+ channel:
+ id: 'alice'
+ application: 'App_A'
+ count: 1
+ ari-requests:
+ method: 'post'
+ uri: 'channels/bob'
+ params:
+ endpoint: 'Local/echo at default'
+ app: 'App_B'
+ otherChannelId: 'echo_bob'
+ # Ensure the 'bob' channel half enters Stasis. Then bridge 'alice' and
+ # 'bob' using AMI.
+ -
+ ari-events:
+ match:
+ type: StasisStart
+ application: 'App_B'
+ args: []
+ channel:
+ id: 'bob'
+ count: 1
+ ami-actions:
+ action:
+ Action: 'Bridge'
+ Channel1: 'alice'
+ Channel2: 'bob'
+ # Ensure 'alice' leaves the Stasis bridge (test_bridge)
+ -
+ ari-events:
+ match:
+ type: ChannelLeftBridge
+ bridge:
+ id: 'test_bridge'
+ channels: []
+ channel:
+ id: 'alice'
+ application: 'App_A'
+ count: 1
+ # Ensure 'alice' leaves Stasis
+ -
+ ari-events:
+ match:
+ type: StasisEnd
+ application: 'App_A'
+ channel:
+ id: 'alice'
+ count: 1
+ # Ensure 'bob' leaves Stasis()
+ -
+ ari-events:
+ match:
+ type: StasisEnd
+ application: 'App_B'
+ channel:
+ id: 'bob'
+ count: 1
+ # Ensure 'alice' & 'bob' enter the new bridge.
+ -
+ ami-events:
+ -
+ conditions:
+ match:
+ Event: BridgeEnter
+ UniqueID: 'alice'
+ nomatch:
+ Bridgeuniqueid: 'test_bridge'
+ count: 1
+ -
+ conditions:
+ match:
+ Event: BridgeEnter
+ UniqueID: 'bob'
+ nomatch:
+ Bridgeuniqueid: 'test_bridge'
+ count: 1
+ # Ensure 'alice' & 'bob' are bridged together and then hang up 'bob'.
+ -
+ ami-events:
+ conditions:
+ match:
+ Event: VarSet
+ Uniqueid: 'alice'
+ Variable: 'BRIDGEPEER'
+ Value: 'Local/echo at default-.*'
+ count: 1
+ ami-actions:
+ action:
+ Action: 'Hangup'
+ Channel: 'bob'
+ # Ensure bob is hung up.
+ -
+ ami-events:
+ conditions:
+ match:
+ Event: Hangup
+ Uniqueid: 'bob'
+ count: 1
+ # Ensure alice is hung up (not returned to Stasis) and destroy the Stasis
+ # bridge.
+ -
+ ami-events:
+ conditions:
+ match:
+ Event: Hangup
+ Uniqueid: 'alice'
+ count: 1
+ ari-requests:
+ method: 'delete'
+ uri: 'bridges/test_bridge'
+ # Ensure the Stasis bridge was destroyed.
+ -
+ ari-events:
+ match:
+ type: BridgeDestroyed
+ bridge:
+ id: 'test_bridge'
+ count: 1
+ stop_test:
+
+properties:
+ minversion: '13.1.0'
+ dependencies:
+ - python : autobahn.websocket
+ - python : requests
+ - python : twisted
+ - python : starpy
+ - asterisk : res_ari_channels
+ - asterisk : res_ari_bridges
+ - asterisk : app_echo
+ tags:
+ - ARI
Propchange: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/different_stasis_app/test-config.yaml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/different_stasis_app/test-config.yaml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/different_stasis_app/test-config.yaml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/non_stasis_bridge/configs/ast1/extensions.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/non_stasis_bridge/configs/ast1/extensions.conf?view=auto&rev=6349
==============================================================================
--- asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/non_stasis_bridge/configs/ast1/extensions.conf (added)
+++ asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/non_stasis_bridge/configs/ast1/extensions.conf Thu Jan 29 15:37:22 2015
@@ -1,0 +1,14 @@
+[default]
+
+exten => echo,1,Answer()
+ same => n,Echo()
+ same => n,Hangup()
+
+exten => 1003,1,NoOp()
+ same => n,Dial(Local/carol at default)
+ same => n,Hangup()
+
+exten => carol,1,Answer()
+ same => n,Echo()
+ same => n,Hangup()
+
Propchange: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/non_stasis_bridge/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/non_stasis_bridge/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/non_stasis_bridge/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/non_stasis_bridge/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/non_stasis_bridge/test-config.yaml?view=auto&rev=6349
==============================================================================
--- asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/non_stasis_bridge/test-config.yaml (added)
+++ asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/non_stasis_bridge/test-config.yaml Thu Jan 29 15:37:22 2015
@@ -1,0 +1,210 @@
+testinfo:
+ summary: Bridge channel in stasis bridge with channel in non-stasis bridge.
+ description: |
+ "This test originates a Local channel placing half ('alice') into
+ Stasis() and the other half ('echo_alice') into Echo(). The 'alice'
+ half is added to the bridge 'test_bridge'. Another Local channel is
+ originated with half ('bob') executing Dial(Local/carol at default) while
+ the other half ('echo_bob') executes Echo(). Half of the Local channel
+ representing carol is bridged with 'bob' while the other half executes
+ Echo().
+
+ The AMI bridge action is then used to pull 'alice' and 'bob' out of
+ their bridges and push them into a new bridge. The 'bob' channel half
+ is then hung up. This test verifies that the StasisStart & StasisEnd
+ events occur for 'alice' and that 'alice' does not re-enter Stasis when
+ 'bob' is hung up."
+
+test-modules:
+ test-object:
+ typename: ari.AriBaseTestObject
+ modules:
+ -
+ config-section: pluggable-config
+ typename: 'pluggable_modules.EventActionModule'
+
+pluggable-config:
+ # Create channel where the 'alice' half enters Stasis and the 'echo_alice'
+ # half enters dialplan executing Echo(). Then create Stasis bridge
+ # 'test_bridge'.
+ -
+ ami-start:
+ ari-requests:
+ -
+ method: 'post'
+ uri: 'channels/alice'
+ params:
+ endpoint: 'Local/echo at default'
+ app: 'testsuite'
+ otherChannelId: 'echo_alice'
+ -
+ method: 'post'
+ uri: 'bridges/test_bridge'
+ # Ensure the 'alice' channel half enters Stasis and add to bridge
+ -
+ ari-events:
+ match:
+ type: StasisStart
+ application: 'testsuite'
+ args: []
+ channel:
+ id: 'alice'
+ count: 1
+ ari-requests:
+ method: 'post'
+ uri: 'bridges/test_bridge/addChannel'
+ params:
+ channel: 'alice'
+ # Ensure 'alice' is in a Stasis bridge
+ -
+ ari-events:
+ match:
+ type: ChannelEnteredBridge
+ bridge:
+ id: 'test_bridge'
+ channels: ['alice']
+ channel:
+ id: 'alice'
+ count: 1
+ # Ensure 'echo_alice' is in Echo() and originate a call from bob to carol
+ -
+ ari-events:
+ match:
+ type: ChannelDialplan
+ channel:
+ id: 'echo_alice'
+ state: 'Up'
+ count: 1
+ ami-actions:
+ action:
+ Action: 'Originate'
+ Channel: 'Local/1003 at default'
+ Context: 'default'
+ Exten: 'echo'
+ Priority: '1'
+ ChannelId: 'echo_bob'
+ OtherChannelId: 'bob'
+ Async: 'false'
+ # Ensure 'bob' and the local channel representing carol are bridged and
+ # then bridge the 'alice' & 'bob' channel halfs using AMI.
+ -
+ ami-events:
+ conditions:
+ match:
+ Event: VarSet
+ Uniqueid: 'bob'
+ Variable: 'BRIDGEPEER'
+ Value: 'Local/carol at default-.*'
+ count: 1
+ ami-actions:
+ action:
+ Action: 'Bridge'
+ Channel1: 'alice'
+ Channel2: 'bob'
+ # Ensure 'alice' leaves the Stasis bridge (test_bridge)
+ -
+ ari-events:
+ match:
+ type: ChannelLeftBridge
+ bridge:
+ id: 'test_bridge'
+ channels: []
+ channel:
+ id: 'alice'
+ count: 1
+ # Ensure 'alice' leaves Stasis
+ -
+ ari-events:
+ match:
+ type: StasisEnd
+ application: 'testsuite'
+ channel:
+ id: 'alice'
+ count: 1
+ # Ensure alice enters the new bridge
+ -
+ ami-events:
+ conditions:
+ match:
+ Event: BridgeEnter
+ UniqueID: 'alice'
+ nomatch:
+ Bridgeuniqueid: 'test_bridge'
+ count: 1
+ # Ensure 'bob' leaves the bridge with carol and later on with alice
+ -
+ ami-events:
+ conditions:
+ match:
+ Event: BridgeLeave
+ UniqueID: 'bob'
+ nomatch:
+ Bridgeuniqueid: 'test_bridge'
+ count: 2
+ # Ensure 'alice' and the local channel representing bob are bridged.
+ -
+ ami-events:
+ conditions:
+ match:
+ Event: VarSet
+ Uniqueid: 'alice'
+ Variable: 'BRIDGEPEER'
+ Value: 'Local/1003 at default-.*'
+ count: 1
+ # Ensure the non-stasis bridges used for bob & carol and alice & bob are
+ # destroyed.
+ -
+ ami-events:
+ conditions:
+ match:
+ Event: BridgeDestroy
+ nomatch:
+ Bridgeuniqueid: 'test_bridge'
+ count: 2
+ # Ensure carol is hung up and hang up bob
+ -
+ ami-events:
+ conditions:
+ match:
+ Event: Hangup
+ Channel: 'Local/carol at default-.*;2'
+ count: 1
+ ami-actions:
+ action:
+ Action: 'Hangup'
+ Channel: 'bob'
+ # Ensure alice is hung up (not returned to Stasis) and destroy the Stasis
+ # bridge.
+ -
+ ami-events:
+ conditions:
+ match:
+ Event: Hangup
+ Uniqueid: 'alice'
+ count: 1
+ ari-requests:
+ method: 'delete'
+ uri: 'bridges/test_bridge'
+ # Ensure the Stasis bridge was destroyed.
+ -
+ ari-events:
+ match:
+ type: BridgeDestroyed
+ bridge:
+ id: 'test_bridge'
+ count: 1
+ stop_test:
+
+properties:
+ minversion: '13.1.0'
+ dependencies:
+ - python : autobahn.websocket
+ - python : requests
+ - python : twisted
+ - python : starpy
+ - asterisk : res_ari_channels
+ - asterisk : res_ari_bridges
+ - asterisk : app_dial
+ - asterisk : app_echo
+ tags:
+ - ARI
Propchange: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/non_stasis_bridge/test-config.yaml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/non_stasis_bridge/test-config.yaml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/non_stasis_bridge/test-config.yaml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/same_stasis_app/configs/ast1/extensions.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/same_stasis_app/configs/ast1/extensions.conf?view=auto&rev=6349
==============================================================================
--- asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/same_stasis_app/configs/ast1/extensions.conf (added)
+++ asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/same_stasis_app/configs/ast1/extensions.conf Thu Jan 29 15:37:22 2015
@@ -1,0 +1,6 @@
+[default]
+
+exten => echo,1,Answer()
+ same => n,Echo()
+ same => n,Hangup()
+
Propchange: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/same_stasis_app/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/same_stasis_app/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/same_stasis_app/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/same_stasis_app/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/same_stasis_app/test-config.yaml?view=auto&rev=6349
==============================================================================
--- asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/same_stasis_app/test-config.yaml (added)
+++ asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/same_stasis_app/test-config.yaml Thu Jan 29 15:37:22 2015
@@ -1,0 +1,196 @@
+testinfo:
+ summary: Bridge channel in stasis bridge with channel in same stasis app.
+ description: |
+ "This test originates a Local channel placing half ('alice') into
+ Stasis() and the other half ('echo_alice') into Echo(). The 'alice'
+ half is added to the bridge 'test_bridge'. Another Local channel is
+ originated with half ('bob') placed into Stasis() while the other half
+ ('echo_bob') is placed into Echo().
+
+ The AMI bridge action is then used to pull 'alice' out of the Stasis
+ bridge and 'bob' out of Stasis() and push them into a new bridge. The
+ 'bob' channel half is then hung up. This test verifies that the
+ StasisStart & StasisEnd events occur for both 'alice' & 'bob'.
+ Additionally it verifies that 'alice' does not re-enter Stasis when
+ 'bob' is hung up."
+
+test-modules:
+ test-object:
+ typename: ari.AriBaseTestObject
+ modules:
+ -
+ config-section: pluggable-config
+ typename: 'pluggable_modules.EventActionModule'
+
+pluggable-config:
+ # Create channel where the 'alice' half enters Stasis and the 'echo_alice'
+ # half enters dialplan executing Echo()
+ -
+ ami-start:
+ ari-requests:
+ method: 'post'
+ uri: 'channels/alice'
+ params:
+ endpoint: 'Local/echo at default'
+ app: 'testsuite'
+ otherChannelId: 'echo_alice'
+ # Ensure the 'alice' channel half enters Stasis. Create stasis bridge
+ # 'test_bridge' and add 'alice' to it.
+ -
+ ari-events:
+ match:
+ type: StasisStart
+ application: 'testsuite'
+ args: []
+ channel:
+ id: 'alice'
+ count: 1
+ ari-requests:
+ -
+ method: 'post'
+ uri: 'bridges/test_bridge'
+ -
+ method: 'post'
+ uri: 'bridges/test_bridge/addChannel'
+ params:
+ channel: 'alice'
+ # Ensure 'alice' is in a Stasis bridge. Then create channel where the 'bob'
+ # half enters Stasis and the 'echo_bob' half enters dialplan executing
+ # Echo().
+ -
+ ari-events:
+ match:
+ type: ChannelEnteredBridge
+ bridge:
+ id: 'test_bridge'
+ channels: ['alice']
+ channel:
+ id: 'alice'
+ count: 1
+ ari-requests:
+ method: 'post'
+ uri: 'channels/bob'
+ params:
+ endpoint: 'Local/echo at default'
+ app: 'testsuite'
+ otherChannelId: 'echo_bob'
+ # Ensure the 'bob' channel half enters Stasis. Then bridge 'alice' and
+ # 'bob' using AMI.
+ -
+ ari-events:
+ match:
+ type: StasisStart
+ application: 'testsuite'
+ args: []
+ channel:
+ id: 'bob'
+ count: 1
+ ami-actions:
+ action:
+ Action: 'Bridge'
+ Channel1: 'alice'
+ Channel2: 'bob'
+ # Ensure 'alice' leaves the Stasis bridge (test_bridge)
+ -
+ ari-events:
+ match:
+ type: ChannelLeftBridge
+ bridge:
+ id: 'test_bridge'
+ channels: []
+ channel:
+ id: 'alice'
+ count: 1
+ # Ensure 'alice' leaves Stasis
+ -
+ ari-events:
+ match:
+ type: StasisEnd
+ application: 'testsuite'
+ channel:
+ id: 'alice'
+ count: 1
+ # Ensure 'bob' leaves Stasis
+ -
+ ari-events:
+ match:
+ type: StasisEnd
+ application: 'testsuite'
+ channel:
+ id: 'bob'
+ count: 1
+ # Ensure 'alice' & 'bob' enter the new bridge.
+ -
+ ami-events:
+ -
+ conditions:
+ match:
+ Event: BridgeEnter
+ UniqueID: 'alice'
+ nomatch:
+ Bridgeuniqueid: 'test_bridge'
+ count: 1
+ -
+ conditions:
+ match:
+ Event: BridgeEnter
+ UniqueID: 'bob'
+ nomatch:
+ Bridgeuniqueid: 'test_bridge'
+ count: 1
+ # Ensure 'alice' & 'bob' are bridged together and then hang up 'bob'.
+ -
+ ami-events:
+ conditions:
+ match:
+ Event: VarSet
+ Uniqueid: 'alice'
+ Variable: 'BRIDGEPEER'
+ Value: 'Local/echo at default-.*'
+ count: 1
+ ami-actions:
+ action:
+ Action: 'Hangup'
+ Channel: 'bob'
+ # Ensure bob is hung up.
+ -
+ ami-events:
+ conditions:
+ match:
+ Event: Hangup
+ Uniqueid: 'bob'
+ count: 1
+ # Ensure alice is hung up (not returned to Stasis) and destroy the Stasis
+ # bridge.
+ -
+ ami-events:
+ conditions:
+ match:
+ Event: Hangup
+ Uniqueid: 'alice'
+ count: 1
+ ari-requests:
+ method: 'delete'
+ uri: 'bridges/test_bridge'
+ # Ensure the Stasis bridge was destroyed.
+ -
+ ari-events:
+ match:
+ type: BridgeDestroyed
+ bridge:
+ id: 'test_bridge'
+ count: 1
+ stop_test:
+
+properties:
+ minversion: '13.1.0'
+ dependencies:
+ - python : autobahn.websocket
+ - python : requests
+ - python : twisted
+ - python : starpy
+ - asterisk : res_ari_channels
+ - asterisk : res_ari_bridges
+ - asterisk : app_echo
+ tags:
+ - ARI
Propchange: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/same_stasis_app/test-config.yaml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/same_stasis_app/test-config.yaml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/same_stasis_app/test-config.yaml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/tests.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/tests.yaml?view=auto&rev=6349
==============================================================================
--- asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/tests.yaml (added)
+++ asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/tests.yaml Thu Jan 29 15:37:22 2015
@@ -1,0 +1,5 @@
+tests:
+ - test: 'non_stasis_app'
+ - test: 'non_stasis_bridge'
+ - test: 'same_stasis_app'
+ - test: 'different_stasis_app'
Propchange: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/tests.yaml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/tests.yaml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/stasis_bridge/tests.yaml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/tests.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/tests.yaml?view=diff&rev=6349&r1=6348&r2=6349
==============================================================================
--- asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/tests.yaml (original)
+++ asterisk/trunk/tests/rest_api/external_interaction/ami_bridge/tests.yaml Thu Jan 29 15:37:22 2015
@@ -1,3 +1,3 @@
tests:
- - test: 'stasis_bridge'
+ - dir: 'stasis_bridge'
- test: 'stasis_app'
More information about the asterisk-commits
mailing list