Exemple #1
0
def set_context_switchboard(entity):
    Session.add(
        Context(name='__switchboard_directory',
                displayname='Switchboard',
                entity=entity,
                contexttype='others',
                description=''))
Exemple #2
0
def set_context_outcall(context, entity):
    Session.add(
        Context(name='to-extern',
                displayname=context['display_name'],
                entity=entity,
                contexttype='outcall',
                description=''))
Exemple #3
0
    def test_edit_all_fields(self):
        tenant = self.add_tenant()
        context = context_dao.create(
            Context(name='MyContext',
                    tenant_uuid=tenant.uuid,
                    label='My Context Label',
                    type='outcall',
                    user_ranges=[ContextNumbers(start='1000', end='1999')],
                    group_ranges=[ContextNumbers(start='2000', end='2999')],
                    queue_ranges=[ContextNumbers(start='3000', end='3999')],
                    conference_room_ranges=[
                        ContextNumbers(start='4000', end='4999')
                    ],
                    incall_ranges=[
                        ContextNumbers(start='1000',
                                       end='4999',
                                       did_length='2')
                    ],
                    description='context description',
                    enabled=False))

        context = context_dao.get(context.id)
        context.name = 'OtherContext'
        context.label = 'Other Context Label'
        context.type = 'incall'
        context.user_ranges = [ContextNumbers(start='4000', end='4999')]
        context.group_ranges = [ContextNumbers(start='3000', end='3999')]
        context.queue_ranges = [ContextNumbers(start='2000', end='2999')]
        context.conference_room_ranges = [
            ContextNumbers(start='1000', end='1999')
        ]
        context.incall_ranges = [
            ContextNumbers(start='4000', end='6999', did_length='4')
        ]
        context.description = 'other context description'
        context.enabled = True
        context_dao.edit(context)

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

        assert_that(context, equal_to(row))
        assert_that(
            context,
            has_properties(
                id=is_not(none()),
                tenant_uuid=tenant.uuid,
                name='OtherContext',
                label='Other Context Label',
                type='incall',
                user_ranges=contains(has_properties(start='4000', end='4999')),
                group_ranges=contains(has_properties(start='3000',
                                                     end='3999')),
                queue_ranges=contains(has_properties(start='2000',
                                                     end='2999')),
                conference_room_ranges=contains(
                    has_properties(start='1000', end='1999')),
                incall_ranges=contains(
                    has_properties(start='4000', end='6999', did_length='4')),
                description='other context description',
                enabled=True))
Exemple #4
0
    def test_create_minimal_fields(self):
        tenant = self.add_tenant()
        context = Context(name='mycontext', tenant_uuid=tenant.uuid)
        created_context = context_dao.create(context)

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

        assert_that(created_context, equal_to(row))
        assert_that(
            created_context,
            has_properties(id=is_not(none()),
                           name='mycontext',
                           tenant_uuid=tenant.uuid,
                           displayname=none(),
                           label=none(),
                           contexttype='internal',
                           type='internal',
                           description=none(),
                           commented=0,
                           enabled=True,
                           user_ranges=empty(),
                           group_ranges=empty(),
                           queue_ranges=empty(),
                           conference_room_ranges=empty(),
                           incall_ranges=empty()))
Exemple #5
0
    def add_context(self, **kwargs):
        kwargs.setdefault('entity', 'entity_id')
        kwargs.setdefault('name', ''.join(random.choice('abcdefghijklmnopqrstuvwxyz') for _ in range(6)))
        kwargs.setdefault('displayname', kwargs['name'].capitalize())
        kwargs.setdefault('description', 'Auto create context')

        context = Context(**kwargs)
        self.add_me(context)
        return context
Exemple #6
0
    def add_context(self, **kwargs):
        kwargs.setdefault('name', self._random_name())
        kwargs.setdefault('displayname', kwargs['name'].capitalize())
        kwargs.setdefault('description', 'Auto create context')
        kwargs.setdefault('tenant_uuid', self.default_tenant.uuid)

        context = Context(**kwargs)
        self.add_me(context)
        return context
Exemple #7
0
def set_context_internal(context, entity):
    Session.add(
        Context(name='default',
                displayname=context['display_name'],
                entity=entity,
                contexttype='internal',
                description=''))

    Session.add(
        ContextNumbers(context='default',
                       type='user',
                       numberbeg=context['number_start'],
                       numberend=context['number_end']))
Exemple #8
0
def set_context_incall(context, entity):
    Session.add(
        Context(name='from-extern',
                displayname=context['display_name'],
                entity=entity,
                contexttype='incall',
                description=''))

    if context.get('number_start') and context.get('number_end'):
        Session.add(
            ContextNumbers(context='from-extern',
                           type='incall',
                           numberbeg=context['number_start'],
                           numberend=context['number_end'],
                           didlength=context['did_length']))
Exemple #9
0
    def _insert_context(self, name, displayname=None, contexttype_name='internal'):
        contexttype = ContextType()
        contexttype.name = contexttype_name
        self.session.add(contexttype)

        context = Context()
        context.name = name
        context.displayname = displayname if displayname else name
        context.entity = 'entity'
        context.contexttype = contexttype_name
        context.description = ''

        self.session.begin()
        self.session.add(context)
        self.session.commit()
    def _insert_context(self, name, displayname=None, contexttype_name='internal'):
        contexttype = ContextType()
        contexttype.name = contexttype_name
        self.session.add(contexttype)

        context = Context()
        context.name = name
        context.displayname = displayname if displayname else name
        context.entity = 'entity'
        context.contexttype = contexttype_name
        context.description = ''

        self.add_me(context)
Exemple #11
0
    def test_edit_set_fields_to_null(self):
        tenant = self.add_tenant()
        context = context_dao.create(
            Context(name='MyContext',
                    tenant_uuid=tenant.uuid,
                    label='My Context Label',
                    user_ranges=[ContextNumbers(start='1000', end='1999')],
                    group_ranges=[ContextNumbers(start='2000', end='2999')],
                    queue_ranges=[ContextNumbers(start='3000', end='3999')],
                    conference_room_ranges=[
                        ContextNumbers(start='4000', end='4999')
                    ],
                    incall_ranges=[ContextNumbers(start='1000', end='4999')],
                    description='context description'))

        context = context_dao.get(context.id)
        context.label = None
        context.user_ranges = []
        context.group_ranges = []
        context.queue_ranges = []
        context.conference_room_ranges = []
        context.incall_ranges = []
        context.description = None

        context_dao.edit(context)

        row = self.session.query(Context).first()
        assert_that(context, equal_to(row))
        assert_that(
            row,
            has_properties(label=none(),
                           user_ranges=empty(),
                           group_ranges=empty(),
                           queue_ranges=empty(),
                           conference_room_ranges=empty(),
                           incall_ranges=empty(),
                           description=none()))