def test_new_caller_id_no_cid_name(self): uid = 127984.33 self._va.set(uid, Var('xivo', 'calleridname', sentinel.name)) self._va.set(uid, Var('xivo', 'calleridnum', '666')) self.updater.new_caller_id(uid, '', sentinel.num) assert_that(self._va.get(uid)['xivo']['calleridname'], equal_to(sentinel.name)) assert_that(self._va.get(uid)['xivo']['calleridnum'], equal_to(sentinel.num))
def setUp(self): self.channel_1 = { 'id': 'SIP/abcdef-2135543', 'context': 'testctx', 'cid_name': 'Alice', 'cid_number': '1234', 'unique_id': 786234234.33 } channel_1 = Channel(self.channel_1['id'], self.channel_1['context'], self.channel_1['unique_id']) self.channel_2 = { 'id': 'SCCP/123-2135543', 'context': 'testctx', 'cid_number': '1234', 'unique_id': 123456.43 } channel_2 = Channel(self.channel_2['id'], self.channel_2['context'], self.channel_2['unique_id']) self.channel_3 = { 'id': 'SCCP/123-9643244', 'context': 'testctx', 'cid_number': '6543', 'unique_id': 987654.32 } channel_3 = Channel(self.channel_3['id'], self.channel_3['context'], self.channel_3['unique_id']) self.innerdata = Mock(innerdata.Safe) self.innerdata.channels = { self.channel_1['id']: channel_1, self.channel_2['id']: channel_2, self.channel_3['id']: channel_3, } self.call_form_variable_aggregator = VariableAggregator() self.call_form_variable_aggregator.set( self.channel_1['unique_id'], Var('xivo', 'calleridname', self.channel_1['cid_name']), ) self.call_form_variable_aggregator.set( self.channel_1['unique_id'], Var('xivo', 'calleridnum', self.channel_1['cid_number']), ) self.call_form_variable_aggregator.set( self.channel_2['unique_id'], Var('xivo', 'calleridnum', self.channel_2['cid_number']), ) self._channel_dao = ChannelDAO(self.innerdata, self.call_form_variable_aggregator)
def test_clean(self): self._va.set(sentinel.uid, Var(sentinel.type, sentinel.name, sentinel.value)) self._va.clean(sentinel.uid) assert_that(self._va._vars, equal_to({}))
def test_set(self): self._va.set(sentinel.uid, Var(sentinel.type, sentinel.name, sentinel.value)) assert_that(self._va.get(sentinel.uid), equal_to({sentinel.type: { sentinel.name: sentinel.value }}))
def userevent_dialplan2cti(self, chanprops, event): # why "UserEvent + dialplan2cti" and not "Newexten + Set" ? # - more selective # - variables declarations are not always done with Set (Read(), AGI(), ...) # - if there is a need for extra useful data (XIVO_USERID, ...) # - (future ?) multiple settings at once uniqueid = event['Uniqueid'] cti_varname = event.get('VARIABLE') dp_value = event.get('VALUE') self._aggregator.set(uniqueid, Var('dp', cti_varname, dp_value))
def reverse_lookup_result(self, uid, event): for key, value in event.iteritems(): if key.startswith('db-'): key = key.split('-', 1)[-1] self._aggregator.set(uid, Var('db', key, value))
def new_caller_id(self, uid, name, number): logger.debug('New caller ID received on channel %s: "%s" <%s>', uid, name, number) if name: self._aggregator.set(uid, Var('xivo', 'calleridname', name)) self._aggregator.set(uid, Var('xivo', 'calleridnum', number))
def _set(var_name, var_value): self._aggregator.set(uniqueid, Var('xivo', var_name, var_value))
def setUp(self): self._va = VariableAggregator() self._var = Var(sentinel.type, sentinel.name, sentinel.value)