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())
示例#8
0
 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)