예제 #1
0
    def test_build_manager(self,
                           AssociationManager,
                           InternalAssociator,
                           IncallAssociator,
                           line_extension_validator,
                           context_dao,
                           ule_services,
                           user_line_dao,
                           incall_dao,
                           extension_dao,
                           extension_validator,
                           line_device_validator):

        association_manager = AssociationManager.return_value = Mock(AssociationManager)
        internal_association = InternalAssociator.return_value = Mock(InternalAssociator)
        incall_association = IncallAssociator.return_value = Mock(IncallAssociator)

        result = build_manager()

        assert_that(result, equal_to(association_manager))
        AssociationManager.assert_called_once_with(context_dao, line_extension_validator, {
            'internal': internal_association, 'incall': incall_association})

        InternalAssociator.assert_called_once_with(ule_services,
                                                   extension_validator,
                                                   line_extension_validator,
                                                   line_device_validator)
        IncallAssociator.assert_called_once_with(line_extension_validator, user_line_dao, incall_dao, extension_dao)
예제 #2
0
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>

from xivo_dao.helpers import errors

from xivo_dao.resources.context.model import ContextType
from xivo_dao.resources.context import dao as context_dao
from xivo_dao.resources.incall import dao as incall_dao
from xivo_dao.resources.line import dao as line_dao
from xivo_dao.resources.line_extension import dao as line_extension_dao

from xivo_confd.resources.line_extension import notifier
from xivo_confd.resources.line_extension.manager import build_manager

association_manager = build_manager()


def find_by_line_id(line_id):
    return line_extension_dao.find_by_line_id(line_id)


def get_by_line_id(line_id):
    line = line_dao.get(line_id)
    return line_extension_dao.get_by_line_id(line.id)


def find_by_extension_id(extension_id):
    context = context_dao.find_by_extension_id(extension_id)
    if not context:
        return None