Index: tests/cdr/originate-cdr-disposition/test-config.yaml =================================================================== --- tests/cdr/originate-cdr-disposition/test-config.yaml (revision 4730) +++ tests/cdr/originate-cdr-disposition/test-config.yaml (working copy) @@ -63,19 +63,19 @@ sequence-originator: - parameters: { channel: 'sip/test1', context: 'default', exten: 'wait', priority: '1' } - ignore-originate-failure: 'no' + ignore-originate-failure: False - parameters: { channel: 'sip/test1', context: 'default', exten: 'wait', priority: '1' } - ignore-originate-failure: 'no' + ignore-originate-failure: False - parameters: { channel: 'sip/test1', context: 'default', exten: 'wait', priority: '1' } - ignore-originate-failure: 'no' + ignore-originate-failure: False - parameters: { channel: 'sip/test1', context: 'default', exten: 'wait', priority: '1', timeout: 1 } - ignore-originate-failure: 'yes' + ignore-originate-failure: True - parameters: { channel: 'sip/test1', context: 'default', exten: 'dial', priority: '1' } - ignore-originate-failure: 'yes' + ignore-originate-failure: True test-object-config: Index: tests/cdr/cdr-tests.py =================================================================== --- tests/cdr/cdr-tests.py (revision 4730) +++ tests/cdr/cdr-tests.py (working copy) @@ -32,6 +32,7 @@ self.module_config = module_config test_object.register_scenario_started_observer(self.scenario_started) test_object.register_ami_observer(self.ami_connect) + self.test_object = test_object self.ami = None self.test_counter = 0 @@ -46,22 +47,24 @@ self.test_counter += 1 return result + def originate_response(self, reason, ignore): + ''' Absorb an exception thrown by an Originate failure ''' + if ignore: + LOGGER.debug('Ignoring originate failure...') + else: + LOGGER.error("Unexpected originate failure...") + self.test_object.set_passed(False) + def originate_call(self): ''' Originate a new call ''' - def failure_absorber(reason): - ''' Absorb an exception thrown by an Originate failure ''' - LOGGER.debug('Ignoring originate failure...') - return reason - if self.test_counter > (len(self.module_config) - 1): LOGGER.debug('Ignoring scenario start; no more calls to originate') return originate_obj = self.module_config[self.test_counter] defered = self.ami.originate(**originate_obj['parameters']) ignore_failures = originate_obj.get('ignore-originate-failure') or False - if ignore_failures: - defered.addErrback(failure_absorber) + defered.addErrback(self.originate_response, ignore_failures)