def test_given_sip_account_has_pickups_then_pickups_are_returned(self): sip = self.add_usersip(category='user') line = self.add_line(protocol='sip', protocolid=sip.id) user = self.add_user() self.add_user_line(user_id=user.id, line_id=line.id) pickup1 = self.add_pickup() pickup2 = self.add_pickup() pickup3 = self.add_pickup() pickup4 = self.add_pickup() self.add_pickup_member_user(pickup1, user.id, category='member') self.add_pickup_member_user(pickup2, user.id, category='member') self.add_pickup_member_user(pickup3, user.id, category='pickup') self.add_pickup_member_user(pickup4, user.id, category='pickup') results = list(asterisk_conf_dao.find_sip_user_settings()) assert_that(results, has_length(1)) namedcallgroup = results[0].namedcallgroup namedpickupgroup = results[0].namedpickupgroup call_groups = namedcallgroup.split(',') pickup_groups = namedpickupgroup.split(',') assert_that(call_groups, contains_inanyorder(str(pickup3.id), str(pickup4.id))) assert_that(pickup_groups, contains_inanyorder(str(pickup1.id), str(pickup2.id)))
def test_given_sip_account_when_querying_then_same_sip_account_row_is_returned(self): sip = self.add_usersip(category='user') self.add_line(protocol='sip', protocolid=sip.id) results = asterisk_conf_dao.find_sip_user_settings() assert_that(results, contains(has_properties(UserSIP=sip)))
def test_given_line_has_no_resources_associated_then_resource_fields_are_null(self): sip = self.add_usersip(category='user') self.add_line(protocol='sip', protocolid=sip.id) expected = {'number': none(), 'mailbox': none(), 'mohsuggest': none(), 'uuid': none(), 'namedcallgroup': none(), 'namedpickupgroup': none()} results = asterisk_conf_dao.find_sip_user_settings() assert_that(results, contains(has_properties(expected)))
def test_given_sip_has_all_resources_associated_then_all_resources_found_in_result(self): extension = self.add_extension(exten="1000", context="default") voicemail = self.add_voicemail(mailbox='1000', context='default') user = self.add_user(firstname="John", lastname="Smith", voicemailid=voicemail.id, musiconhold='musiconhold') sip = self.add_usersip(category='user') line = self.add_line(protocol='sip', protocolid=sip.id, context="default") self.add_user_line(user_id=user.id, line_id=line.id, extension_id=extension.id) mailbox = '{}@{}'.format(voicemail.mailbox, voicemail.context) expected = {'number': extension.exten, 'context': line.context, 'protocol': line.protocol, 'mailbox': mailbox, 'mohsuggest': user.musiconhold, 'uuid': user.uuid} results = asterisk_conf_dao.find_sip_user_settings() assert_that(results, contains(has_properties(expected)))
def test_given_sip_account_is_deactivated_then_returns_empty_list(self): self.add_usersip(category='user', commented=1) result = asterisk_conf_dao.find_sip_user_settings() assert_that(result, contains())
def test_given_sip_account_is_not_category_user_then_returns_empty_list(self): self.add_usersip(category='trunk') result = asterisk_conf_dao.find_sip_user_settings() assert_that(result, contains())
def test_given_no_sip_accounts_then_returns_empty_list(self): result = asterisk_conf_dao.find_sip_user_settings() assert_that(result, contains())
def generate_lines(self, output): writer = AsteriskFileWriter(output) endpoints = asterisk_conf_dao.find_sip_user_settings() for endpoint in endpoints: self._write_simple_endpoint(writer, endpoint)