Beispiel #1
0
    def setUp(self):
        self.bsfilter_dao = Mock()

        self.user = User(id=sentinel.user_id)
        self.funckey = FuncKey(destination=BSFilterDestination(
            filter_member_id=sentinel.filter_member_id))

        self.validator = BSFilterValidator(self.bsfilter_dao)
Beispiel #2
0
    def test_when_deleting_then_updates_devices_associated_to_users(
            self, session_expire):
        expected_user = User(
            func_key_template_id=sentinel.func_key_template_id)
        self.user_dao.find_all_by.return_value = [expected_user]

        self.service.delete(self.template)

        self.device_updater.update_for_user.assert_called_once_with(
            expected_user)
        self.user_dao.find_all_by.assert_called_once_with(
            func_key_template_id=self.template.id)
Beispiel #3
0
    def setUp(self):
        self.user = User(id=sentinel.user_id)
        self.funckey = FuncKey(destination=FuncKeyDestBSFilter(
            filter_member_id=sentinel.filter_member_id))

        self.validator = BSFilterValidator()
Beispiel #4
0
 def create(self, fields, tenant_uuid):
     if fields:
         form = self.schema_nullable(handle_error=False).load(fields)
         form['tenant_uuid'] = tenant_uuid
         return self.service.create(User(**form))
Beispiel #5
0
 def create(self, fields):
     if fields:
         return self.service.create(User(**fields))
Beispiel #6
0
    def test_that_the_user_uuid_is_unique(self):
        shared_uuid = str(uuid.uuid4())
        self.add_user(firstname='Alice', uuid=shared_uuid)

        self.assertRaises(Exception, user_dao.create, User(firstname='Jôhn', uuid=shared_uuid))
Beispiel #7
0
    def test_create_with_all_fields(self):
        voicemail = self.add_voicemail()
        user = User(
            firstname='Jôhn',
            lastname='Smîth',
            timezone='America/Montreal',
            language='en_US',
            description='description',
            caller_id='"fîrstname lâstname" <1000>',
            outgoing_caller_id='ôutgoing_caller_id',
            mobile_phone_number='1234567890',
            call_permission_password='******',
            enabled=False,
            username='******',
            password='******',
            music_on_hold='music_on_hold',
            preprocess_subroutine='preprocess_subroutine',
            voicemail_id=voicemail.id,
            userfield='userfield',
            call_transfer_enabled=True,
            dtmf_hangup_enabled=True,
            dnd_enabled=True,
            incallfilter_enabled=True,
            supervision_enabled=False,
            call_record_outgoing_external_enabled=True,
            call_record_outgoing_internal_enabled=True,
            call_record_incoming_external_enabled=True,
            call_record_incoming_internal_enabled=True,
            online_call_record_enabled=True,
            busy_enabled=True,
            busy_destination='123',
            noanswer_enabled=True,
            noanswer_destination='456',
            tenant_uuid=self.default_tenant.uuid,
            unconditional_enabled=True,
            unconditional_destination='789',
            ring_seconds=60,
            simultaneous_calls=10,
            subscription_type=0,
        )

        created_user = user_dao.create(user)

        row = self.session.query(User).first()

        assert_that(created_user, has_properties(
            id=row.id,
            uuid=row.uuid,
            firstname="Jôhn",
            lastname='Smîth',
            timezone='America/Montreal',
            language='en_US',
            description='description',
            caller_id='"fîrstname lâstname" <1000>',
            outgoing_caller_id='ôutgoing_caller_id',
            mobile_phone_number='1234567890',
            call_permission_password='******',
            enabled=False,
            username='******',
            password='******',
            music_on_hold='music_on_hold',
            preprocess_subroutine='preprocess_subroutine',
            voicemail_id=voicemail.id,
            call_transfer_enabled=True,
            dtmf_hangup_enabled=True,
            dnd_enabled=True,
            incallfilter_enabled=True,
            supervision_enabled=False,
            call_record_outgoing_external_enabled=True,
            call_record_outgoing_internal_enabled=True,
            call_record_incoming_external_enabled=True,
            call_record_incoming_internal_enabled=True,
            online_call_record_enabled=True,
            busy_enabled=True,
            busy_destination='123',
            noanswer_enabled=True,
            noanswer_destination='456',
            tenant_uuid=self.default_tenant.uuid,
            unconditional_enabled=True,
            unconditional_destination='789',
            ring_seconds=60,
            simultaneous_calls=10,
            userfield='userfield',
            subscription_type=0,
            created_at=is_not(none()),
        ))

        assert_that(row, has_properties(
            callerid='"fîrstname lâstname" <1000>',
            outcallerid='ôutgoing_caller_id',
            mobilephonenumber='1234567890',
            rightcallcode='1234',
            commented=1,
            loginclient='username',
            passwdclient='password',
            voicemailid=voicemail.id,
            enablehint=0,
            enablexfer=1,
            dtmf_hangup=1,
            incallfilter=1,
            enablednd=1,
            enableonlinerec=1,
            enablebusy=1,
            destbusy='123',
            enablerna=1,
            destrna='456',
            enableunc=1,
            destunc='789',
            musiconhold='music_on_hold',
            tenant_uuid=self.default_tenant.uuid,
        ))
Beispiel #8
0
    def test_create_minimal_fields(self):
        user = User(firstname='Jôhn', tenant_uuid=self.default_tenant.uuid)
        created_user = user_dao.create(user)

        row = self.session.query(User).first()

        assert_that(created_user, has_properties(
            id=row.id,
            uuid=row.uuid,
            firstname="Jôhn",
            lastname=none(),
            timezone=none(),
            language=none(),
            description=none(),
            outgoing_caller_id=none(),
            mobile_phone_number=none(),
            call_permission_password=none(),
            enabled=True,
            caller_id='"Jôhn"',
            music_on_hold=none(),
            username=none(),
            password=none(),
            preprocess_subroutine=none(),
            userfield=none(),
            voicemail_id=none(),
            call_transfer_enabled=False,
            dtmf_hangup_enabled=False,
            dnd_enabled=False,
            incallfilter_enabled=False,
            supervision_enabled=True,
            call_record_outgoing_external_enabled=False,
            call_record_outgoing_internal_enabled=False,
            call_record_incoming_external_enabled=False,
            call_record_incoming_internal_enabled=False,
            busy_enabled=False,
            busy_destination=None,
            noanswer_enabled=False,
            noanswer_destination=None,
            tenant_uuid=self.default_tenant.uuid,
            unconditional_enabled=False,
            unconditional_destination=None,
            simultaneous_calls=5,
            ring_seconds=30,
            subscription_type=0,
        ))

        assert_that(row, has_properties(
            id=is_not(none()),
            uuid=is_not(none()),
            callerid='"Jôhn"',
            outcallerid='',
            mobilephonenumber='',
            rightcallcode=none(),
            commented=0,
            loginclient='',
            passwdclient='',
            musiconhold='',
            voicemailid=none(),
            enablehint=1,
            enablexfer=0,
            dtmf_hangup=0,
            incallfilter=0,
            enablednd=0,
            enableonlinerec=0,
            enablebusy=0,
            destbusy='',
            enablerna=0,
            destrna='',
            enableunc=0,
            destunc='',
            func_key_private_template_id=is_not(none()),
            tenant_uuid=self.default_tenant.uuid,
        ))
Beispiel #9
0
    def test_validate_edition_missing_username_password(self, patch_get_user, patch_get_cti_profile):
        user_cti_profile = UserCtiProfile(user_id=1, cti_profile_id=2, enabled=True)
        patch_get_user.return_value = User(id=1, username=None, password=None)

        self.assertRaises(ResourceError, validator.validate_edit, user_cti_profile)