def test_forward_busy_to_a_user_from_exten_fwdbusy_disabled_on_user(self): user_features = UserFeatures(self._agi, self._cursor, self._args) user_features._feature_list = Mock(objects.ExtenFeatures, fwdbusy=True) user_features._user = Mock(objects.User, enablebusy=False) enabled = user_features._set_rbusy_from_exten(Mock()) assert_that(enabled, equal_to(False))
def test_set_call_recordfile_doesnt_raise_when_caller_is_none(self): userfeatures = UserFeatures(self._agi, self._cursor, self._args) userfeatures._feature_list = Mock() userfeatures._feature_list.callrecord = True userfeatures._user = Mock() userfeatures._user.callrecord = True userfeatures._set_call_recordfile() self._agi.set_variable.assert_called_once_with('XIVO_CALLRECORDFILE', NotEmptyStringMatcher())
def test_forward_busy_to_a_user_from_exten(self): user_features = UserFeatures(self._agi, self._cursor, self._args) user_features._feature_list = Mock(objects.ExtenFeatures, fwdbusy=True) user_features._user = Mock(objects.User, destbusy='666', enablebusy=True) called_line = Mock(objects.Line, context=sentinel.context) enabled = user_features._set_rbusy_from_exten(called_line) assert_that(enabled, equal_to(True)) assert_that(self._agi.set_variable.call_args_list, contains( call('XIVO_FWD_USER_BUSY_ACTION', 'extension'), call('XIVO_FWD_USER_BUSY_ACTIONARG1', '666'), call('XIVO_FWD_USER_BUSY_ACTIONARG2', sentinel.context), ))
def test_set_xivo_redirecting_info_full_callerid(self): userfeatures = UserFeatures(self._agi, self._cursor, self._args) userfeatures._user = Mock() userfeatures._user.callerid = '"Foobar" <123>' userfeatures._dstnum = '42' userfeatures._set_xivo_redirecting_info() expected_calls = [ call('XIVO_DST_REDIRECTING_NAME', 'Foobar'), call('XIVO_DST_REDIRECTING_NUM', '123'), ] self.assertEqual(self._agi.set_variable.call_args_list, expected_calls)
def test_set_xivo_user_name(self): userfeatures = UserFeatures(self._agi, self._cursor, self._args) userfeatures._set_xivo_user_name() self.assertEqual(self._agi.call_count, 0) self._agi.set_variable.reset_mock() userfeatures._user = Mock() userfeatures._user.firstname = 'firstname' userfeatures._user.lastname = 'lastname' userfeatures._set_xivo_user_name() self.assertEqual(self._agi.set_variable.call_count, 2)
def test_set_xivo_redirecting_info_no_callerid(self): userfeatures = UserFeatures(self._agi, self._cursor, self._args) userfeatures._user = Mock() userfeatures._user.firstname = 'First' userfeatures._user.lastname = 'Last' userfeatures._user.callerid = '' userfeatures._dstnum = '42' userfeatures._set_xivo_redirecting_info() expected_calls = [ call('XIVO_DST_REDIRECTING_NAME', 'First Last'), call('XIVO_DST_REDIRECTING_NUM', '42'), ] self.assertEqual(self._agi.set_variable.call_args_list, expected_calls)
def test_forward_busy_to_a_user_dialaction(self): user_features = UserFeatures(self._agi, self._cursor, self._args) user_features._user = Mock(objects.User, id=sentinel.userid) self._cursor.fetchone = Mock(return_value={ 'action': 'user', 'actionarg1': '5', 'actionarg2': '', }) enabled = user_features._set_rbusy_from_dialaction() assert_that(enabled, equal_to(True)) assert_that(self._agi.set_variable.call_args_list, contains( call('XIVO_FWD_USER_BUSY_ACTION', 'user'), call('XIVO_FWD_USER_BUSY_ISDA', '1'), call('XIVO_FWD_USER_BUSY_ACTIONARG1', '5'), call('XIVO_FWD_USER_BUSY_ACTIONARG2', ''), ))