コード例 #1
0
ファイル: services.py プロジェクト: jaunis/xivo-dao
def get(user_id):
    cti_profile = dao.find_profile_by_userid(user_id)
    cti_profile_id = None if cti_profile is None else cti_profile.id
    enabled = user_dao.is_cti_enabled(user_id)
    return UserCtiProfile(user_id=user_id,
                          cti_profile_id=cti_profile_id,
                          enabled=enabled)
コード例 #2
0
ファイル: test_actions.py プロジェクト: jaunis/xivo-restapi
    def test_get_cti_configuration(self, user_cti_profile_get):
        user_id = 1
        cti_profile_id = 2

        expected_status_code = 200
        expected_result = {
            "user_id": user_id,
            "cti_profile_id": cti_profile_id,
            "enabled": True,
            "links": [
                {
                    "rel": "users",
                    "href": "http://localhost/1.1/users/%s" % user_id
                },
                {
                    "rel": "cti_profiles",
                    "href": "http://localhost/1.1/cti_profiles/%s" % cti_profile_id
                }
            ]
        }

        user_cti_profile = UserCtiProfile(user_id=user_id, cti_profile_id=cti_profile_id, enabled=True)
        user_cti_profile_get.return_value = user_cti_profile

        result = self.app.get(BASE_URL % user_id)

        assert_that(result.status_code, equal_to(expected_status_code))
        assert_that(self._serialize_decode(result.data), equal_to(expected_result))
コード例 #3
0
ファイル: test_validator.py プロジェクト: jaunis/xivo-dao
    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(ElementEditionError, validator.validate_edit,
                          user_cti_profile)
コード例 #4
0
ファイル: test_validator.py プロジェクト: jaunis/xivo-dao
    def test_validate_edition_null_profile(self, patch_get_user,
                                           patch_get_cti_profile):
        user_cti_profile = UserCtiProfile(user_id=1,
                                          cti_profile_id=None,
                                          enabled=True)
        validator.validate_edit(user_cti_profile)

        self.assertFalse(patch_get_cti_profile.called,
                         "CTI profile dao should not have been called")
コード例 #5
0
ファイル: test_validator.py プロジェクト: jaunis/xivo-dao
    def test_validate_edition_unexisting_user(self, patch_get_user,
                                              patch_get_profile):
        user_cti_profile = UserCtiProfile(user_id=1,
                                          cti_profile_id=2,
                                          enabled=True)
        patch_get_user.side_effect = ElementNotExistsError('user')

        self.assertRaises(ElementNotExistsError, validator.validate_edit,
                          user_cti_profile)
        patch_get_user.assert_called_with(user_cti_profile.user_id)
コード例 #6
0
    def test_edit_with_errors(self, Session):
        session = Mock()
        session.commit.side_effect = SQLAlchemyError()
        Session.return_value = session

        user_cti_profile = UserCtiProfile(user_id=1, cti_profile_id=2)

        self.assertRaises(ElementEditionError, user_cti_profile_dao.edit,
                          user_cti_profile)
        session.begin.assert_called_once_with()
        session.rollback.assert_called_once_with()
コード例 #7
0
    def test_edit_enabled_not_set(self):
        cti_profile = CtiProfileSchema(id=2, name='Test')
        self.add_me(cti_profile)
        user = self.add_user(cti_profile_id=None, enableclient=1)
        user_cti_profile = UserCtiProfile(user_id=user.id,
                                          cti_profile_id=cti_profile.id)

        user_cti_profile_dao.edit(user_cti_profile)

        assert_that(user.cti_profile_id, equal_to(cti_profile.id))
        assert_that(user.enableclient, 0)
コード例 #8
0
    def test_edited(self, send_bus_command, UserCtiProfileDissociatedEvent, exec_request_handler):
        new_event = UserCtiProfileDissociatedEvent.return_value = Mock()
        user_cti_profile = UserCtiProfile(user_id=1, cti_profile_id=2, enabled=True)
        self.sysconfd_command['ctibus'] = ['xivo[user,edit,1]']

        notifier.edited(user_cti_profile)

        UserCtiProfileDissociatedEvent.assert_called_once_with(user_cti_profile.user_id,
                                                               user_cti_profile.cti_profile_id,
                                                               user_cti_profile.enabled)
        send_bus_command.assert_called_once_with(new_event)
        exec_request_handler.assert_called_once_with(self.sysconfd_command)
コード例 #9
0
ファイル: test_actions.py プロジェクト: jaunis/xivo-restapi
    def test_get_cti_profile_association_not_exists(self, user_cti_profile_get):
        user_id = 1

        expected_status_code = 200
        expected_result = {
            "user_id": user_id,
            "cti_profile_id": None,
            "enabled": False,
            "links": [
                {
                    "rel": "users",
                    "href": "http://localhost/1.1/users/%s" % user_id
                }
            ]
        }

        user_cti_profile = UserCtiProfile(user_id=user_id, cti_profile_id=None, enabled=False)
        user_cti_profile_get.return_value = user_cti_profile

        result = self.app.get(BASE_URL % user_id)

        assert_that(result.status_code, equal_to(expected_status_code))
        assert_that(self._serialize_decode(result.data), equal_to(expected_result))
コード例 #10
0
ファイル: test_validator.py プロジェクト: jaunis/xivo-dao
 def test_validate_edition(self, patch_get_user, patch_get_profile):
     user_cti_profile = UserCtiProfile(user_id=1,
                                       cti_profile_id=2,
                                       enabled=True)
     validator.validate_edit(user_cti_profile)