[asterisk-commits] kmoore: testsuite/asterisk/trunk r5323 - in /asterisk/trunk/tests/manager: ./...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Jul 31 13:24:01 CDT 2014
Author: kmoore
Date: Thu Jul 31 13:23:54 2014
New Revision: 5323
URL: http://svnview.digium.com/svn/testsuite?view=rev&rev=5323
Log:
Manager: Add state list action tests
This patch adds tests for the DeviceStateList, PresenceStateList, and
ExtensionStateList AMI actions. Each test:
* Sets two device/presence/device & presence state values
(respectively for each of the previously listed actions)
* Runs the appropriate list action
* Verifies that the action has the expected response
* Verifies that the intermediate expected events are received
* Verifies that the list complete event is received
Patch-by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/3874/
Added:
asterisk/trunk/tests/manager/device_state_list/
asterisk/trunk/tests/manager/device_state_list/ami_device_state_list.py (with props)
asterisk/trunk/tests/manager/device_state_list/test-config.yaml (with props)
asterisk/trunk/tests/manager/exten_state_list/
asterisk/trunk/tests/manager/exten_state_list/ami_exten_state_list.py (with props)
asterisk/trunk/tests/manager/exten_state_list/configs/
asterisk/trunk/tests/manager/exten_state_list/configs/ast1/
asterisk/trunk/tests/manager/exten_state_list/configs/ast1/extensions.conf (with props)
asterisk/trunk/tests/manager/exten_state_list/test-config.yaml (with props)
asterisk/trunk/tests/manager/presence_state_list/
asterisk/trunk/tests/manager/presence_state_list/ami_presence_state_list.py (with props)
asterisk/trunk/tests/manager/presence_state_list/test-config.yaml (with props)
Modified:
asterisk/trunk/tests/manager/tests.yaml
Added: asterisk/trunk/tests/manager/device_state_list/ami_device_state_list.py
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/manager/device_state_list/ami_device_state_list.py?view=auto&rev=5323
==============================================================================
--- asterisk/trunk/tests/manager/device_state_list/ami_device_state_list.py (added)
+++ asterisk/trunk/tests/manager/device_state_list/ami_device_state_list.py Thu Jul 31 13:23:54 2014
@@ -1,0 +1,139 @@
+#!/usr/bin/env python
+"""
+Copyright (C) 2014, Digium, Inc.
+Mark Michelson <mmichelson at digium.com>
+Matt Jordan <mjordan at digium.com>
+
+This program is free software, distributed under the terms of
+the GNU General Public License Version 2.
+"""
+
+import logging
+from test_case import TestCase
+from twisted.internet import defer
+
+LOGGER = logging.getLogger(__name__)
+
+STATES = [
+ {'device': 'Ham', 'state': 'INVALID'},
+ {'device': 'Eggs', 'state': 'INUSE',},
+]
+
+class AMIDeviceStateList(object):
+ """Pluggable module for listing out device states"""
+
+ def __init__(self, module_config, test_object):
+ """Constructor
+
+ Keyword Arguments:
+ module_config The configuration for this object
+ test_object Our one and only test object
+ """
+ super(AMIDeviceStateList, self).__init__()
+
+ self.received_events = []
+ self.test_object = test_object
+ self.state_pos = 0
+
+ self.list_complete_token = self.test_object.create_fail_token(
+ 'DeviceStateListComplete event received')
+
+ self.test_object.register_ami_observer(self.ami_connect_handler)
+
+ def ami_connect_handler(self, ami):
+ """Handle AMI connection from the test object
+
+ Keyword Arguments:
+ ami The AMIProtocol instance that just connected
+ """
+
+ def _action_failed(result):
+ """Called if the AMI action failed
+
+ Keyword Arguments:
+ result The result of all of the AMI actions or a single action.
+ """
+ LOGGER.error("An action failed with result: %s" % str(result))
+ self.test_object.set_passed(False)
+ self.test_object.stop_reactor()
+
+ def _execute_query(result, ami):
+ """Called when all device state values are set
+
+ Keyword Arguments:
+ result The result of all of the deferreds
+ ami The AMIProtocol object
+ """
+
+ deferred = ami.collectDeferred({'Action': 'DeviceStateList'},
+ 'DeviceStateListComplete')
+ deferred.addCallbacks(self.device_state_list_success,
+ _action_failed)
+
+ # Create a few device state values
+ resp_list = []
+ for state in STATES:
+ device = "DEVICE_STATE(Custom:{0})".format(state['device'])
+ deferred = ami.setVar(None, device, state['state'])
+ resp_list.append(deferred)
+
+ defer_list = defer.DeferredList(resp_list)
+ defer_list.addCallback(_execute_query, ami)
+ defer_list.addErrback(_action_failed)
+
+ def device_state_list_success(self, result):
+ """Handle the completion of the DeviceStateList action
+
+ Keyword Arguments:
+ result The list ack and list elements (does not include the completion event)
+ """
+
+ list_ack = result[0]
+ if list_ack.get('response') != 'Success':
+ LOGGER.error("Failed to get 'success' response for action")
+ self.test_object.set_passed(False)
+ if list_ack.get('eventlist') != 'start':
+ LOGGER.error("Failed to get 'start' notification for action")
+ self.test_object.set_passed(False)
+
+ list_events = result[1:]
+ for list_event in list_events:
+ self.handle_device_state_event(list_event)
+
+ self.test_object.remove_fail_token(self.list_complete_token)
+ self.test_object.stop_reactor()
+
+ def check_parameter(self, event, parameter):
+ """Verify a parameter from a DeviceStateChange event
+
+ Keyword Arguments:
+ event The DeviceStateChange event
+ parameter The parameter in the event to verify
+ """
+ actual = event.get(parameter)
+ expected = STATES[self.state_pos][parameter]
+ if actual != expected:
+ LOGGER.error("Unexpected {0} received. Expected {1} but got \
+ {2}".format(parameter, expected, actual))
+ self.test_object.set_passed(False)
+
+ def handle_device_state_event(self, event):
+ if 'actionid' not in event:
+ # Not for us!
+ return
+
+ if event.get('device') not in ['Custom:%s' % state['device']
+ for state in STATES]:
+ # Not a device we care about
+ return
+
+ self.check_parameter(event, 'state')
+
+ self.state_pos += 1
+ if self.state_pos == len(STATES):
+ self.test_object.set_passed(True)
+ elif self.state_pos > len(STATES):
+ LOGGER.error("Oh snap, we got %d device state updates but expected %d" %
+ (self.state_pos, len(STATES)))
+ self.test_object.set_passed(False)
+
Propchange: asterisk/trunk/tests/manager/device_state_list/ami_device_state_list.py
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/manager/device_state_list/ami_device_state_list.py
------------------------------------------------------------------------------
svn:executable = *
Propchange: asterisk/trunk/tests/manager/device_state_list/ami_device_state_list.py
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/manager/device_state_list/ami_device_state_list.py
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/manager/device_state_list/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/manager/device_state_list/test-config.yaml?view=auto&rev=5323
==============================================================================
--- asterisk/trunk/tests/manager/device_state_list/test-config.yaml (added)
+++ asterisk/trunk/tests/manager/device_state_list/test-config.yaml Thu Jul 31 13:23:54 2014
@@ -1,0 +1,31 @@
+testinfo:
+ summary: 'Test the DeviceStateList AMI action.'
+ description: |
+ Two device states are set. The DeviceStateList AMI action
+ is used, and the resulting events are checked for the
+ correct values.
+
+properties:
+ minversion: '13.0.0'
+ dependencies:
+ - python: 'twisted'
+ - python: 'starpy'
+ - asterisk: 'res_manager_devicestate'
+ tags:
+ - AMI
+
+test-modules:
+ add-test-to-search-path: 'True'
+ test-object:
+ config-section: test-object-config
+ typename: 'test_case.TestCaseModule'
+ modules:
+ -
+ config-section: presence-state-list
+ typename: 'ami_device_state_list.AMIDeviceStateList'
+
+test-object-config:
+ asterisk-instances: 1
+ connect-ami: True
+
+presence-state-list:
Propchange: asterisk/trunk/tests/manager/device_state_list/test-config.yaml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/manager/device_state_list/test-config.yaml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/manager/device_state_list/test-config.yaml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/manager/exten_state_list/ami_exten_state_list.py
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/manager/exten_state_list/ami_exten_state_list.py?view=auto&rev=5323
==============================================================================
--- asterisk/trunk/tests/manager/exten_state_list/ami_exten_state_list.py (added)
+++ asterisk/trunk/tests/manager/exten_state_list/ami_exten_state_list.py Thu Jul 31 13:23:54 2014
@@ -1,0 +1,153 @@
+#!/usr/bin/env python
+"""
+Copyright (C) 2014, Digium, Inc.
+Mark Michelson <mmichelson at digium.com>
+Matt Jordan <mjordan at digium.com>
+
+This program is free software, distributed under the terms of
+the GNU General Public License Version 2.
+"""
+
+import logging
+from test_case import TestCase
+from twisted.internet import defer
+
+LOGGER = logging.getLogger(__name__)
+
+DEVICE_STATES = [
+ {'device': 'ham', 'state': 'INVALID'},
+ {'device': 'eggs', 'state': 'INUSE',},
+]
+
+PRESENCE_STATES = [
+ {'presence': 'eggs', 'status': 'away', 'subtype': 'green', 'message': 'breakfast'},
+ {'presence': 'ham', 'status': 'available', 'subtype': 'virginia', 'message': 'breakfast'},
+]
+
+EXPECTED_STATES = [
+ {'status': '1', 'exten': 'eggs', 'statustext': 'InUse'},
+ {'status': '4', 'exten': 'ham', 'statustext': 'Unavailable'}
+]
+
+class AMIExtensionStateList(object):
+ """Pluggable module for listing out extension state"""
+
+ def __init__(self, module_config, test_object):
+ """Constructor
+
+ Keyword Arguments:
+ module_config The configuration for this object
+ test_object Our one and only test object
+ """
+ super(AMIExtensionStateList, self).__init__()
+
+ self.received_events = []
+ self.test_object = test_object
+ self.state_pos = 0
+
+ self.list_complete_token = self.test_object.create_fail_token(
+ 'ExtensionStateListComplete event received')
+
+ self.test_object.register_ami_observer(self.ami_connect_handler)
+
+ def ami_connect_handler(self, ami):
+ """Handle AMI connection from the test object
+
+ Keyword Arguments:
+ ami The AMIProtocol instance that just connected
+ """
+
+ def _action_failed(result):
+ """Called if the AMI action failed
+
+ Keyword Arguments:
+ result The result of all of the AMI actions or a single action.
+ """
+ LOGGER.error("An action failed with result: %s" % str(result))
+ self.test_object.set_passed(False)
+ self.test_object.stop_reactor()
+
+ def _execute_query(result, ami):
+ """Called when all presence state values are set
+
+ Keyword Arguments:
+ result The result of all of the deferreds
+ ami The AMIProtocol object
+ """
+
+ deferred = ami.collectDeferred({'Action': 'ExtensionStateList'},
+ 'ExtensionStateListComplete')
+ deferred.addCallbacks(self.extension_state_list_success,
+ _action_failed)
+
+ # Create a few state values
+ resp_list = []
+ for state in DEVICE_STATES:
+ device = "DEVICE_STATE(Custom:{0})".format(state['device'])
+ deferred = ami.setVar(None, device, state['state'])
+ resp_list.append(deferred)
+ for state in PRESENCE_STATES:
+ presence = "PRESENCE_STATE(CustomPresence:{0})".format(state['presence'])
+ value = "{0},{1},{2}".format(state['status'],
+ state['subtype'],
+ state['message'])
+ deferred = ami.setVar(None, presence, value)
+ resp_list.append(deferred)
+
+ defer_list = defer.DeferredList(resp_list)
+ defer_list.addCallback(_execute_query, ami)
+ defer_list.addErrback(_action_failed)
+
+ def extension_state_list_success(self, result):
+ """Handle the completion of the ExtensionStateList action
+
+ Keyword Arguments:
+ result The list ack and list elements (does not include the completion event)
+ """
+
+ list_ack = result[0]
+ if list_ack.get('response') != 'Success':
+ LOGGER.error("Failed to get 'success' response for action")
+ self.test_object.set_passed(False)
+ if list_ack.get('eventlist') != 'start':
+ LOGGER.error("Failed to get 'start' notification for action")
+ self.test_object.set_passed(False)
+
+ list_events = result[1:]
+ for list_event in list_events:
+ self.handle_exten_status_event(list_event)
+
+ self.test_object.remove_fail_token(self.list_complete_token)
+ self.test_object.stop_reactor()
+
+ def check_parameter(self, event, parameter):
+ """Verify a parameter from a ExtensionStatus event
+
+ Keyword Arguments:
+ event The ExtensionStatus event
+ parameter The parameter in the event to verify
+ """
+ actual = event.get(parameter)
+ expected = EXPECTED_STATES[self.state_pos][parameter]
+ if actual != expected:
+ LOGGER.error("Unexpected {0} received. Expected {1} but got \
+ {2}".format(parameter, expected, actual))
+ self.test_object.set_passed(False)
+
+ def handle_exten_status_event(self, event):
+ if 'actionid' not in event:
+ # Not for us!
+ return
+
+ self.check_parameter(event, 'exten')
+ self.check_parameter(event, 'status')
+ self.check_parameter(event, 'statustext')
+
+ self.state_pos += 1
+ if self.state_pos == len(EXPECTED_STATES):
+ self.test_object.set_passed(True)
+ elif self.state_pos > len(EXPECTED_STATES):
+ LOGGER.error("Oh snap, we got %d presence updates but expected %d" %
+ (self.state_pos, len(EXPECTED_STATES)))
+ self.test_object.set_passed(False)
+
Propchange: asterisk/trunk/tests/manager/exten_state_list/ami_exten_state_list.py
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/manager/exten_state_list/ami_exten_state_list.py
------------------------------------------------------------------------------
svn:executable = *
Propchange: asterisk/trunk/tests/manager/exten_state_list/ami_exten_state_list.py
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/manager/exten_state_list/ami_exten_state_list.py
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/manager/exten_state_list/configs/ast1/extensions.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/manager/exten_state_list/configs/ast1/extensions.conf?view=auto&rev=5323
==============================================================================
--- asterisk/trunk/tests/manager/exten_state_list/configs/ast1/extensions.conf (added)
+++ asterisk/trunk/tests/manager/exten_state_list/configs/ast1/extensions.conf Thu Jul 31 13:23:54 2014
@@ -1,0 +1,6 @@
+
+[default]
+
+exten => eggs,hint,Custom:eggs&CustomPresence:eggs
+
+exten => ham,hint,Custom:ham&CustomPresence:ham
Propchange: asterisk/trunk/tests/manager/exten_state_list/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/manager/exten_state_list/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/manager/exten_state_list/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/manager/exten_state_list/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/manager/exten_state_list/test-config.yaml?view=auto&rev=5323
==============================================================================
--- asterisk/trunk/tests/manager/exten_state_list/test-config.yaml (added)
+++ asterisk/trunk/tests/manager/exten_state_list/test-config.yaml Thu Jul 31 13:23:54 2014
@@ -1,0 +1,31 @@
+testinfo:
+ summary: 'Test the ExtensionStateList AMI action.'
+ description: |
+ Two extension states are set from both device
+ state and presence state values. The ExtensionStateList
+ command is executed, and the expected events are
+ evaluated.
+
+properties:
+ minversion: '13.0.0'
+ dependencies:
+ - python: 'twisted'
+ - python: 'starpy'
+ tags:
+ - AMI
+
+test-modules:
+ add-test-to-search-path: 'True'
+ test-object:
+ config-section: test-object-config
+ typename: 'test_case.TestCaseModule'
+ modules:
+ -
+ config-section: presence-state-list
+ typename: 'ami_exten_state_list.AMIExtensionStateList'
+
+test-object-config:
+ asterisk-instances: 1
+ connect-ami: True
+
+presence-state-list:
Propchange: asterisk/trunk/tests/manager/exten_state_list/test-config.yaml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/manager/exten_state_list/test-config.yaml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/manager/exten_state_list/test-config.yaml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/manager/presence_state_list/ami_presence_state_list.py
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/manager/presence_state_list/ami_presence_state_list.py?view=auto&rev=5323
==============================================================================
--- asterisk/trunk/tests/manager/presence_state_list/ami_presence_state_list.py (added)
+++ asterisk/trunk/tests/manager/presence_state_list/ami_presence_state_list.py Thu Jul 31 13:23:54 2014
@@ -1,0 +1,139 @@
+#!/usr/bin/env python
+"""
+Copyright (C) 2014, Digium, Inc.
+Mark Michelson <mmichelson at digium.com>
+Matt Jordan <mjordan at digium.com>
+
+This program is free software, distributed under the terms of
+the GNU General Public License Version 2.
+"""
+
+import logging
+from test_case import TestCase
+from twisted.internet import defer
+
+LOGGER = logging.getLogger(__name__)
+
+STATES = [
+ {'presence': 'Eggs', 'status': 'away', 'subtype': 'green', 'message': 'breakfast'},
+ {'presence': 'Ham', 'status': 'available', 'subtype': 'virginia', 'message': 'breakfast'},
+]
+
+class AMIPresenceStateList(object):
+ """Pluggable module for listing out presence state"""
+
+ def __init__(self, module_config, test_object):
+ """Constructor
+
+ Keyword Arguments:
+ module_config The configuration for this object
+ test_object Our one and only test object
+ """
+ super(AMIPresenceStateList, self).__init__()
+
+ self.received_events = []
+ self.test_object = test_object
+ self.state_pos = 0
+
+ self.list_complete_token = self.test_object.create_fail_token(
+ 'PresenceStateListComplete event received')
+
+ self.test_object.register_ami_observer(self.ami_connect_handler)
+
+ def ami_connect_handler(self, ami):
+ """Handle AMI connection from the test object
+
+ Keyword Arguments:
+ ami The AMIProtocol instance that just connected
+ """
+
+ def _action_failed(result):
+ """Called if the AMI action failed
+
+ Keyword Arguments:
+ result The result of all of the AMI actions or a single action.
+ """
+ LOGGER.error("An action failed with result: %s" % str(result))
+ self.test_object.set_passed(False)
+ self.test_object.stop_reactor()
+
+ def _execute_query(result, ami):
+ """Called when all presence state values are set
+
+ Keyword Arguments:
+ result The result of all of the deferreds
+ ami The AMIProtocol object
+ """
+
+ deferred = ami.collectDeferred({'Action': 'PresenceStateList'},
+ 'PresenceStateListComplete')
+ deferred.addCallbacks(self.presence_state_list_success,
+ _action_failed)
+
+ # Create a few presence state values
+ resp_list = []
+ for state in STATES:
+ presence = "PRESENCE_STATE(CustomPresence:{0})".format(state['presence'])
+ value = "{0},{1},{2}".format(state['status'],
+ state['subtype'],
+ state['message'])
+ deferred = ami.setVar(None, presence, value)
+ resp_list.append(deferred)
+
+ defer_list = defer.DeferredList(resp_list)
+ defer_list.addCallback(_execute_query, ami)
+ defer_list.addErrback(_action_failed)
+
+ def presence_state_list_success(self, result):
+ """Handle the completion of the PresenceStateList action
+
+ Keyword Arguments:
+ result The list ack and list elements (does not include the completion event)
+ """
+
+ list_ack = result[0]
+ if list_ack.get('response') != 'Success':
+ LOGGER.error("Failed to get 'success' response for action")
+ self.test_object.set_passed(False)
+ if list_ack.get('eventlist') != 'start':
+ LOGGER.error("Failed to get 'start' notification for action")
+ self.test_object.set_passed(False)
+
+ list_events = result[1:]
+ for list_event in list_events:
+ self.handle_presence_event(list_event)
+
+ self.test_object.remove_fail_token(self.list_complete_token)
+ self.test_object.stop_reactor()
+
+ def check_parameter(self, event, parameter):
+ """Verify a parameter from a PresenceStateChange event
+
+ Keyword Arguments:
+ event The PresenceStateChange event
+ parameter The parameter in the event to verify
+ """
+ actual = event.get(parameter)
+ expected = STATES[self.state_pos][parameter]
+ if actual != expected:
+ LOGGER.error("Unexpected {0} received. Expected {1} but got \
+ {2}".format(parameter, expected, actual))
+ self.test_object.set_passed(False)
+
+ def handle_presence_event(self, event):
+ if 'actionid' not in event:
+ # Not for us!
+ return
+
+ self.check_parameter(event, 'status')
+ self.check_parameter(event, 'subtype')
+ self.check_parameter(event, 'message')
+
+ self.state_pos += 1
+ if self.state_pos == len(STATES):
+ self.test_object.set_passed(True)
+ elif self.state_pos > len(STATES):
+ LOGGER.error("Oh snap, we got %d presence updates but expected %d" %
+ (self.state_pos, len(STATES)))
+ self.test_object.set_passed(False)
+
Propchange: asterisk/trunk/tests/manager/presence_state_list/ami_presence_state_list.py
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/manager/presence_state_list/ami_presence_state_list.py
------------------------------------------------------------------------------
svn:executable = *
Propchange: asterisk/trunk/tests/manager/presence_state_list/ami_presence_state_list.py
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/manager/presence_state_list/ami_presence_state_list.py
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/manager/presence_state_list/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/manager/presence_state_list/test-config.yaml?view=auto&rev=5323
==============================================================================
--- asterisk/trunk/tests/manager/presence_state_list/test-config.yaml (added)
+++ asterisk/trunk/tests/manager/presence_state_list/test-config.yaml Thu Jul 31 13:23:54 2014
@@ -1,0 +1,31 @@
+testinfo:
+ summary: 'Test the PresenceStateList AMI action.'
+ description: |
+ Two presence states are set. The PresenceStateList AMI action
+ is used, and the resulting events are checked for the
+ correct values.
+
+properties:
+ minversion: '13.0.0'
+ dependencies:
+ - python: 'twisted'
+ - python: 'starpy'
+ - asterisk: 'res_manager_presencestate'
+ tags:
+ - AMI
+
+test-modules:
+ add-test-to-search-path: 'True'
+ test-object:
+ config-section: test-object-config
+ typename: 'test_case.TestCaseModule'
+ modules:
+ -
+ config-section: presence-state-list
+ typename: 'ami_presence_state_list.AMIPresenceStateList'
+
+test-object-config:
+ asterisk-instances: 1
+ connect-ami: True
+
+presence-state-list:
Propchange: asterisk/trunk/tests/manager/presence_state_list/test-config.yaml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/manager/presence_state_list/test-config.yaml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/manager/presence_state_list/test-config.yaml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: asterisk/trunk/tests/manager/tests.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/manager/tests.yaml?view=diff&rev=5323&r1=5322&r2=5323
==============================================================================
--- asterisk/trunk/tests/manager/tests.yaml (original)
+++ asterisk/trunk/tests/manager/tests.yaml Thu Jul 31 13:23:54 2014
@@ -9,7 +9,10 @@
- dir: 'danger'
- test: 'originate'
- test: 'device_state_changed'
+ - test: 'device_state_list'
+ - test: 'exten_state_list'
- test: 'presence_state_changed'
+ - test: 'presence_state_list'
- test: 'manager_vars'
- test: 'status'
# Temporarily disabled while failures are debugged
More information about the asterisk-commits
mailing list