def call_destination(self, connection, auth_token, user_id, url_or_exten): if DestinationFactory.is_destination_url(url_or_exten): exten = DestinationFactory.make_from(url_or_exten).to_exten() elif caller_id.is_complete_caller_id(url_or_exten): exten = caller_id.extract_number(url_or_exten) else: exten = url_or_exten self.call_exten(connection, auth_token, user_id, exten)
def test_parse_url_exten(self): exten = '+12 34' ipbxid = 'xivo' exten_url = 'exten:{0}/{1}'.format(ipbxid, exten) expected = ('exten', ipbxid, exten) assert_that(DestinationFactory._parse(exten_url), equal_to(expected), 'Parsed exten URL')
def test_is_destination_url(self): url = 'voicemail:xivo/1234' assert_that(DestinationFactory.is_destination_url(url), equal_to(True), 'Is a valid URL')
def test_make_consult_voicemail(self): url = 'vm_consult:xivo/666' d = DestinationFactory.make_from(url) assert_that(isinstance(d, ConsultVoicemailDestination), 'Instance type is ConsultVoicemailDestination')
def test_make_voicemail(self): url = 'voicemail:xivo/12' d = DestinationFactory.make_from(url) assert_that(isinstance(d, VoicemailDestination), 'Instance type is VoicemailDestination')
def test_make_exten(self): url = 'exten:xivo/1234' d = DestinationFactory.make_from(url) assert_that(isinstance(d, ExtensionDestination), 'Instance type is ExtensionDestination')