[svn-commits] file: testsuite/asterisk/trunk r5371 - in /asterisk/trunk: lib/python/asteris...
SVN commits to the Digium repositories
svn-commits at lists.digium.com
Thu Aug 7 09:19:07 CDT 2014
Author: file
Date: Thu Aug 7 09:19:03 2014
New Revision: 5371
URL: http://svnview.digium.com/svn/testsuite?view=rev&rev=5371
Log:
Add a test for device state publication sending and receiving.
ASTERISK-24115 #close
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/3869/
Added:
asterisk/trunk/tests/channels/pjsip/publish/
asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/
asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/
asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast1/
asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast1/extensions.conf (with props)
asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast1/pjsip.conf (with props)
asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast2/
asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast2/extensions.conf (with props)
asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast2/pjsip.conf (with props)
asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/test-config.yaml (with props)
asterisk/trunk/tests/channels/pjsip/publish/tests.yaml (with props)
Modified:
asterisk/trunk/lib/python/asterisk/ami.py
asterisk/trunk/tests/channels/pjsip/tests.yaml
Modified: asterisk/trunk/lib/python/asterisk/ami.py
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/lib/python/asterisk/ami.py?view=diff&rev=5371&r1=5370&r2=5371
==============================================================================
--- asterisk/trunk/lib/python/asterisk/ami.py (original)
+++ asterisk/trunk/lib/python/asterisk/ami.py Thu Aug 7 09:19:03 2014
@@ -36,6 +36,7 @@
self.match_conditions = conditions['match']
self.nonmatch_conditions = conditions.get('nomatch', {})
self.ids = instance_config['id'].split(',') if 'id' in instance_config else ['0']
+ self.action = instance_config['action'] if 'action' in instance_config else 'none'
self.config = instance_config
self.passed = True
self._registered = False
@@ -156,6 +157,14 @@
# types to determine how to proceed
for observer in self._event_observers:
observer(ami, event)
+
+ # If this event instance has met the minimum number execute any specified action
+ # Note that if min is 0 this will never get reached, so something else must
+ # terminate the test
+ if self.count['event'] == self.count['min']:
+ if self.action == 'stop':
+ self.test_object.stop_reactor()
+
return self.event_callback(ami, event)
def check_result(self, callback_param):
Added: asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast1/extensions.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast1/extensions.conf?view=auto&rev=5371
==============================================================================
--- asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast1/extensions.conf (added)
+++ asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast1/extensions.conf Thu Aug 7 09:19:03 2014
@@ -1,0 +1,11 @@
+[default]
+exten => presence,hint,Custom:presence
+
+exten => change_state,1,Set(DEVICE_STATE(Custom:presence)=NOT_INUSE)
+ same => n,Set(DEVICE_STATE(Custom:presence)=RINGING)
+ same => n,Set(DEVICE_STATE(Custom:presence)=INUSE)
+ same => n,Set(DEVICE_STATE(Custom:presence)=ONHOLD)
+
+exten => dummy,1,Answer
+ same => n,Echo
+
Propchange: asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast1/pjsip.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast1/pjsip.conf?view=auto&rev=5371
==============================================================================
--- asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast1/pjsip.conf (added)
+++ asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast1/pjsip.conf Thu Aug 7 09:19:03 2014
@@ -1,0 +1,9 @@
+[main-transport]
+type=transport
+bind = 127.0.0.1:5060
+
+[ast2]
+type=outbound-publish
+server_uri=sip:ast1 at 127.0.0.1:5061
+event=asterisk-devicestate
+ at device_state_filter=Custom:presence
Propchange: asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast1/pjsip.conf
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast1/pjsip.conf
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast1/pjsip.conf
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast2/extensions.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast2/extensions.conf?view=auto&rev=5371
==============================================================================
--- asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast2/extensions.conf (added)
+++ asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast2/extensions.conf Thu Aug 7 09:19:03 2014
@@ -1,0 +1,2 @@
+[default]
+exten => presence,hint,Custom:presence
Propchange: asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast2/extensions.conf
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast2/extensions.conf
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast2/extensions.conf
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast2/pjsip.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast2/pjsip.conf?view=auto&rev=5371
==============================================================================
--- asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast2/pjsip.conf (added)
+++ asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast2/pjsip.conf Thu Aug 7 09:19:03 2014
@@ -1,0 +1,14 @@
+[main-transport]
+type=transport
+bind = 127.0.0.1:5061
+
+[ast1]
+type=endpoint
+
+[ast1]
+type=inbound-publication
+event_asterisk-devicestate=ast1
+
+[ast1]
+type=asterisk-publication
+device_state=yes
Propchange: asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast2/pjsip.conf
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast2/pjsip.conf
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/configs/ast2/pjsip.conf
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/test-config.yaml?view=auto&rev=5371
==============================================================================
--- asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/test-config.yaml (added)
+++ asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/test-config.yaml Thu Aug 7 09:19:03 2014
@@ -1,0 +1,69 @@
+testinfo:
+ summary: 'Ensure that outbound and inbound Asterisk event PUBLISH messages are handled.'
+ description: |
+ 'Two Asterisk instances are started. One is configured to send Asterisk event PUBLISH
+ messages to the other while the other is configured to receive them. Device state
+ changes are queued up. If the PUBLISH messages are not received on the second
+ Asterisk instance the test fails.'
+
+properties:
+ minversion: '13.0.0'
+ dependencies:
+ - sipp :
+ version : 'v3.0'
+ - python: 'twisted'
+ - python: 'starpy'
+ - asterisk: 'res_pjsip'
+ - asterisk: 'res_pjsip_outbound_publish'
+ - asterisk: 'res_pjsip_publish_asterisk'
+ tags:
+ - pjsip
+
+test-modules:
+ test-object:
+ config-section: test-object-config
+ typename: 'test_case.TestCaseModule'
+ modules:
+ -
+ config-section: originator
+ typename: 'pluggable_modules.Originator'
+ -
+ config-section: ami-config
+ typename: 'ami.AMIEventModule'
+
+test-object-config:
+ asterisk-instances: 2
+ connect-ami: True
+
+originator:
+ trigger: 'ami_connect'
+ id: '0'
+ channel: 'Local/change_state at default'
+ context: 'default'
+ exten: 'dummy'
+ priority: '1'
+ async: 'True'
+
+ami-config:
+ -
+ id: '1'
+ type: 'orderedheadermatch'
+ conditions:
+ match:
+ Event: 'DeviceStateChange'
+ Device: 'Custom:presence'
+ requirements:
+ -
+ match:
+ State: 'NOT_INUSE'
+ -
+ match:
+ State: 'RINGING'
+ -
+ match:
+ State: 'INUSE'
+ -
+ match:
+ State: 'ONHOLD'
+ count: '4'
+ action: 'stop'
Propchange: asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/test-config.yaml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/test-config.yaml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/channels/pjsip/publish/asterisk_event_devicestate/test-config.yaml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/channels/pjsip/publish/tests.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/channels/pjsip/publish/tests.yaml?view=auto&rev=5371
==============================================================================
--- asterisk/trunk/tests/channels/pjsip/publish/tests.yaml (added)
+++ asterisk/trunk/tests/channels/pjsip/publish/tests.yaml Thu Aug 7 09:19:03 2014
@@ -1,0 +1,3 @@
+# Enter tests here in the order they should be considered for execution:
+tests:
+ - test: 'asterisk_event_devicestate'
Propchange: asterisk/trunk/tests/channels/pjsip/publish/tests.yaml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/channels/pjsip/publish/tests.yaml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/channels/pjsip/publish/tests.yaml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: asterisk/trunk/tests/channels/pjsip/tests.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/channels/pjsip/tests.yaml?view=diff&rev=5371&r1=5370&r2=5371
==============================================================================
--- asterisk/trunk/tests/channels/pjsip/tests.yaml (original)
+++ asterisk/trunk/tests/channels/pjsip/tests.yaml Thu Aug 7 09:19:03 2014
@@ -24,3 +24,4 @@
- test: 'call_pickup'
- dir: 'video_calls'
- test: 'accountcode'
+ - dir: 'publish'
More information about the svn-commits
mailing list