[asterisk-commits] file: testsuite/asterisk/trunk r4383 - in /asterisk/trunk/tests/rest_api/chan...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Wed Nov 27 18:48:20 CST 2013
Author: file
Date: Wed Nov 27 18:48:17 2013
New Revision: 4383
URL: http://svnview.digium.com/svn/testsuite?view=rev&rev=4383
Log:
Add tests which cover Snoop spying and whispering in ARI.
(closes issue ASTERISK-22780)
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/3007/
Added:
asterisk/trunk/tests/rest_api/channels/snoop_spy/
asterisk/trunk/tests/rest_api/channels/snoop_spy/channel_spy.py (with props)
asterisk/trunk/tests/rest_api/channels/snoop_spy/configs/
asterisk/trunk/tests/rest_api/channels/snoop_spy/configs/ast1/
asterisk/trunk/tests/rest_api/channels/snoop_spy/configs/ast1/extensions.conf (with props)
asterisk/trunk/tests/rest_api/channels/snoop_spy/test-config.yaml (with props)
asterisk/trunk/tests/rest_api/channels/snoop_whisper/
asterisk/trunk/tests/rest_api/channels/snoop_whisper/channel_whisper.py (with props)
asterisk/trunk/tests/rest_api/channels/snoop_whisper/configs/
asterisk/trunk/tests/rest_api/channels/snoop_whisper/configs/ast1/
asterisk/trunk/tests/rest_api/channels/snoop_whisper/configs/ast1/extensions.conf (with props)
asterisk/trunk/tests/rest_api/channels/snoop_whisper/test-config.yaml (with props)
Modified:
asterisk/trunk/tests/rest_api/channels/tests.yaml
Added: asterisk/trunk/tests/rest_api/channels/snoop_spy/channel_spy.py
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/channels/snoop_spy/channel_spy.py?view=auto&rev=4383
==============================================================================
--- asterisk/trunk/tests/rest_api/channels/snoop_spy/channel_spy.py (added)
+++ asterisk/trunk/tests/rest_api/channels/snoop_spy/channel_spy.py Wed Nov 27 18:48:17 2013
@@ -1,0 +1,35 @@
+'''
+Copyright (C) 2013, Digium, Inc.
+Joshua Colp <jcolp at digium.com>
+
+This program is free software, distributed under the terms of
+the GNU General Public License Version 2.
+'''
+
+import logging
+
+LOGGER = logging.getLogger(__name__)
+
+class Snoop(object):
+ def __init__(self):
+ self.bridge_id = None
+
+TEST = Snoop()
+
+def on_start(ari, event, test_object):
+ LOGGER.debug("on_start(%r)" % event)
+ ari.post('channels', event['channel']['id'], 'snoop', spy='in', whisper='none', app='testsuite', appArgs='snoop')
+ ari.post('channels', event['channel']['id'], 'play', media='sound:demo-congrats')
+ return True
+
+def on_snoop_start(ari, event, test_object):
+ LOGGER.debug("on_snoop_start(%r)" % event)
+ TEST.bridge_id = ari.post('bridges').json()['id']
+ ari.post('bridges', TEST.bridge_id, 'addChannel', channel=event['channel']['id'])
+ ari.post('channels', endpoint='Local/amd at default', app='testsuite', appArgs='amd')
+ return True
+
+def on_amd_start(ari, event, test_object):
+ LOGGER.debug("on_amd_start(%r)" % event)
+ ari.post('bridges', TEST.bridge_id, 'addChannel', channel=event['channel']['id'])
+ return True
Propchange: asterisk/trunk/tests/rest_api/channels/snoop_spy/channel_spy.py
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/rest_api/channels/snoop_spy/channel_spy.py
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/rest_api/channels/snoop_spy/channel_spy.py
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/rest_api/channels/snoop_spy/configs/ast1/extensions.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/channels/snoop_spy/configs/ast1/extensions.conf?view=auto&rev=4383
==============================================================================
--- asterisk/trunk/tests/rest_api/channels/snoop_spy/configs/ast1/extensions.conf (added)
+++ asterisk/trunk/tests/rest_api/channels/snoop_spy/configs/ast1/extensions.conf Wed Nov 27 18:48:17 2013
@@ -1,0 +1,10 @@
+[default]
+
+exten => s,1,NoOp()
+ same => n,Answer()
+ same => n,Stasis(testsuite)
+ same => n,Hangup()
+
+exten => amd,1,NoOp()
+ same => n,Answer()
+ same => n,AMD()
Propchange: asterisk/trunk/tests/rest_api/channels/snoop_spy/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/rest_api/channels/snoop_spy/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/rest_api/channels/snoop_spy/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/rest_api/channels/snoop_spy/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/channels/snoop_spy/test-config.yaml?view=auto&rev=4383
==============================================================================
--- asterisk/trunk/tests/rest_api/channels/snoop_spy/test-config.yaml (added)
+++ asterisk/trunk/tests/rest_api/channels/snoop_spy/test-config.yaml Wed Nov 27 18:48:17 2013
@@ -1,0 +1,91 @@
+testinfo:
+ summary: Test spying on calls using ARI.
+ description: |
+ Originate a call and spy on it using ARI.
+
+test-modules:
+ add-test-to-search-path: True
+ test-object:
+ config-section: test-object-config
+ typename: ari.AriTestObject
+ modules:
+ - config-section: ari-config
+ typename: ari.WebSocketEventModule
+ -
+ config-section: ami-uut
+ typename: 'ami.AMIEventModule'
+
+test-object-config:
+ test-iterations:
+ -
+ - channel: Local/s at default
+ application: Playback
+ data: demo-congrats
+
+ami-uut:
+ -
+ type: 'headermatch'
+ id: '0'
+ conditions:
+ match:
+ Event: 'VarSet'
+ Variable: 'AMDSTATUS'
+ Value: 'MACHINE'
+ count: '1'
+ -
+ type: 'headermatch'
+ id: '0'
+ conditions:
+ match:
+ Event: 'ChanSpyStart'
+ count: '1'
+ -
+ type: 'headermatch'
+ id: '0'
+ conditions:
+ match:
+ Event: 'ChanSpyStop'
+ count: '1'
+
+ari-config:
+ apps: testsuite
+ events:
+ - conditions:
+ match:
+ type: StasisStart
+ application: testsuite
+ args: []
+ count: 1
+ callback:
+ module: channel_spy
+ method: on_start
+ - conditions:
+ match:
+ type: StasisStart
+ application: testsuite
+ args: ['snoop']
+ count: 1
+ callback:
+ module: channel_spy
+ method: on_snoop_start
+ - conditions:
+ match:
+ type: StasisStart
+ application: testsuite
+ args: ['amd']
+ count: 1
+ callback:
+ module: channel_spy
+ method: on_amd_start
+
+properties:
+ minversion: '12.0.0'
+ dependencies:
+ - python : autobahn.websocket
+ - python : requests
+ - python : twisted
+ - python : starpy
+ - asterisk : res_ari_channels
+ - asterisk : app_amd
+ tags:
+ - ARI
Propchange: asterisk/trunk/tests/rest_api/channels/snoop_spy/test-config.yaml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/rest_api/channels/snoop_spy/test-config.yaml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/rest_api/channels/snoop_spy/test-config.yaml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/rest_api/channels/snoop_whisper/channel_whisper.py
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/channels/snoop_whisper/channel_whisper.py?view=auto&rev=4383
==============================================================================
--- asterisk/trunk/tests/rest_api/channels/snoop_whisper/channel_whisper.py (added)
+++ asterisk/trunk/tests/rest_api/channels/snoop_whisper/channel_whisper.py Wed Nov 27 18:48:17 2013
@@ -1,0 +1,22 @@
+'''
+Copyright (C) 2013, Digium, Inc.
+Joshua Colp <jcolp at digium.com>
+
+This program is free software, distributed under the terms of
+the GNU General Public License Version 2.
+'''
+
+import logging
+
+LOGGER = logging.getLogger(__name__)
+
+def on_start(ari, event, test_object):
+ LOGGER.debug("on_start(%r)" % event)
+ ari.post('channels', event['channel']['id'], 'snoop', spy='none', whisper='out', app='testsuite', appArgs='snoop')
+ ari.post('channels', event['channel']['id'], 'play', media='sound:silence/10')
+ return True
+
+def on_snoop_start(ari, event, test_object):
+ LOGGER.debug("on_snoop_start(%r)" % event)
+ ari.post('channels', event['channel']['id'], 'play', media='sound:demo-congrats')
+ return True
Propchange: asterisk/trunk/tests/rest_api/channels/snoop_whisper/channel_whisper.py
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/rest_api/channels/snoop_whisper/channel_whisper.py
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/rest_api/channels/snoop_whisper/channel_whisper.py
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/rest_api/channels/snoop_whisper/configs/ast1/extensions.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/channels/snoop_whisper/configs/ast1/extensions.conf?view=auto&rev=4383
==============================================================================
--- asterisk/trunk/tests/rest_api/channels/snoop_whisper/configs/ast1/extensions.conf (added)
+++ asterisk/trunk/tests/rest_api/channels/snoop_whisper/configs/ast1/extensions.conf Wed Nov 27 18:48:17 2013
@@ -1,0 +1,6 @@
+[default]
+
+exten => s,1,NoOp()
+ same => n,Answer()
+ same => n,Stasis(testsuite)
+ same => n,Hangup()
Propchange: asterisk/trunk/tests/rest_api/channels/snoop_whisper/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/rest_api/channels/snoop_whisper/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/rest_api/channels/snoop_whisper/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/rest_api/channels/snoop_whisper/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/channels/snoop_whisper/test-config.yaml?view=auto&rev=4383
==============================================================================
--- asterisk/trunk/tests/rest_api/channels/snoop_whisper/test-config.yaml (added)
+++ asterisk/trunk/tests/rest_api/channels/snoop_whisper/test-config.yaml Wed Nov 27 18:48:17 2013
@@ -1,0 +1,81 @@
+testinfo:
+ summary: Test whispering calls using ARI.
+ description: |
+ Originate a call and whisper to it using ARI.
+
+test-modules:
+ add-test-to-search-path: True
+ test-object:
+ config-section: test-object-config
+ typename: ari.AriTestObject
+ modules:
+ - config-section: ari-config
+ typename: ari.WebSocketEventModule
+ -
+ config-section: ami-uut
+ typename: 'ami.AMIEventModule'
+
+test-object-config:
+ test-iterations:
+ -
+ - channel: Local/s at default
+ application: AMD
+
+ami-uut:
+ -
+ type: 'headermatch'
+ id: '0'
+ conditions:
+ match:
+ Event: 'VarSet'
+ Variable: 'AMDSTATUS'
+ Value: 'MACHINE'
+ count: '1'
+ -
+ type: 'headermatch'
+ id: '0'
+ conditions:
+ match:
+ Event: 'ChanSpyStart'
+ count: '1'
+ -
+ type: 'headermatch'
+ id: '0'
+ conditions:
+ match:
+ Event: 'ChanSpyStop'
+ count: '1'
+
+ari-config:
+ apps: testsuite
+ events:
+ - conditions:
+ match:
+ type: StasisStart
+ application: testsuite
+ args: []
+ count: 1
+ callback:
+ module: channel_whisper
+ method: on_start
+ - conditions:
+ match:
+ type: StasisStart
+ application: testsuite
+ args: ['snoop']
+ count: 1
+ callback:
+ module: channel_whisper
+ method: on_snoop_start
+
+properties:
+ minversion: '12.0.0'
+ dependencies:
+ - python : autobahn.websocket
+ - python : requests
+ - python : twisted
+ - python : starpy
+ - asterisk : res_ari_channels
+ - asterisk : app_amd
+ tags:
+ - ARI
Propchange: asterisk/trunk/tests/rest_api/channels/snoop_whisper/test-config.yaml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/rest_api/channels/snoop_whisper/test-config.yaml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/rest_api/channels/snoop_whisper/test-config.yaml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: asterisk/trunk/tests/rest_api/channels/tests.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/rest_api/channels/tests.yaml?view=diff&rev=4383&r1=4382&r2=4383
==============================================================================
--- asterisk/trunk/tests/rest_api/channels/tests.yaml (original)
+++ asterisk/trunk/tests/rest_api/channels/tests.yaml Wed Nov 27 18:48:17 2013
@@ -1,3 +1,4 @@
tests:
- test: 'originate'
-
+ - test: 'snoop_whisper'
+ - test: 'snoop_spy'
More information about the asterisk-commits
mailing list