Esempio n. 1
0
    def test_get_reachable_context_loop(self):
        context = 'my_context'
        included_context = 'second_ctx'
        looping_context = 'third_ctx'

        ctx = ContextInclude()
        ctx.context = context
        ctx.include = included_context

        ctx_include = ContextInclude()
        ctx_include.context = included_context
        ctx_include.include = looping_context

        ctx_loop = ContextInclude()
        ctx_loop.context = looping_context
        ctx_loop.include = context

        map(self.add_me, [ctx, ctx_include, ctx_loop])

        user_line = self.add_user_line_with_exten(context=context)

        result = user_dao.get_reachable_contexts(user_line.user.id)

        for context in [context, included_context, looping_context]:
            self.assertTrue(context in result)
Esempio n. 2
0
    def test_get_reachable_context_loop(self):
        context = "my_context"
        included_context = "second_ctx"
        looping_context = "third_ctx"

        ctx = ContextInclude()
        ctx.context = context
        ctx.include = included_context

        ctx_include = ContextInclude()
        ctx_include.context = included_context
        ctx_include.include = looping_context

        ctx_loop = ContextInclude()
        ctx_loop.context = looping_context
        ctx_loop.include = context

        map(self.add_me, [ctx, ctx_include, ctx_loop])

        user_line = self.add_user_line_with_exten(context=context)

        result = user_dao.get_reachable_contexts(user_line.user.id)

        for context in [context, included_context, looping_context]:
            self.assertTrue(context in result)
Esempio n. 3
0
    def test_get_reachable_contexts(self):
        context = "my_context"

        user_line = self.add_user_line_with_exten(context=context)

        result = user_dao.get_reachable_contexts(user_line.user.id)

        self.assertEqual(result, [context])
Esempio n. 4
0
    def test_get_reachable_contexts(self):
        context = 'my_context'

        user_line = self.add_user_line_with_exten(context=context)

        result = user_dao.get_reachable_contexts(user_line.user.id)

        self.assertEqual(result, [context])
Esempio n. 5
0
 def _push_to_client(self, client_connection):
     if self._current_state:
         if bool(config['main']['context_separation']):
             user_id = client_connection.user_id()
             reachable_contexts = user_dao.get_reachable_contexts(user_id)
             msg = encoder.encode_update_for_contexts(self._current_state, reachable_contexts)
         else:
             msg = encoder.encode_update(self._current_state)
         client_connection.send_message(msg)
Esempio n. 6
0
 def _push_to_client(self, client_connection):
     if self._current_state:
         if bool(config['main']['context_separation']):
             user_id = client_connection.user_id()
             reachable_contexts = user_dao.get_reachable_contexts(user_id)
             msg = encoder.encode_update_for_contexts(self._current_state, reachable_contexts)
         else:
             msg = encoder.encode_update(self._current_state)
         client_connection.send_message(msg)
Esempio n. 7
0
    def test_get_reachable_context_included_ctx(self):
        context = "my_context"
        included_context = "second_ctx"

        ctx_include = ContextInclude()
        ctx_include.context = context
        ctx_include.include = included_context

        self.add_me(ctx_include)

        user_line = self.add_user_line_with_exten(context=context)

        result = user_dao.get_reachable_contexts(user_line.user.id)

        self.assertEqual(result, [context, included_context])
Esempio n. 8
0
    def test_get_reachable_context_included_ctx(self):
        context = 'my_context'
        included_context = 'second_ctx'

        ctx_include = ContextInclude()
        ctx_include.context = context
        ctx_include.include = included_context

        self.add_me(ctx_include)

        user_line = self.add_user_line_with_exten(context=context)

        result = user_dao.get_reachable_contexts(user_line.user.id)

        self.assertEqual(result, [context, included_context])
Esempio n. 9
0
 def subscribe(self, client_connection):
     try:
         user_id = client_connection.user_id()
         reachable_contexts = user_dao.get_reachable_contexts(user_id)
         channel_pattern = user_line_dao.get_line_identity_by_user_id(user_id)
     except LookupError:
         logger.warning('Meetme subscription failed')
     else:
         self._subscriptions[client_connection] = {'client_connection': client_connection,
                                                   'contexts': reachable_contexts,
                                                   'channel_start': channel_pattern,
                                                   'membership': []}
         try:
             self._push_to_client(client_connection)
             self._send_meetme_membership()
         except ClientConnection.CloseException:
             self._subscriptions.pop(client_connection, None)
Esempio n. 10
0
    def test_get_reachable_context_no_line(self):
        user = self.add_user(firstname="Tester")

        self.assertEqual(user_dao.get_reachable_contexts(user.id), [])
Esempio n. 11
0
    def test_get_reachable_context_no_line(self):
        user = self.add_user(firstname='Tester')

        self.assertEqual(user_dao.get_reachable_contexts(user.id), [])