コード例 #1
0
ファイル: test_user_api.py プロジェクト: lezardrouge/tracim
    def test_unit__get_all__ok__nominal_case(self):
        api = UserApi(current_user=None, session=self.session, config=self.app_config)
        api.create_minimal_user("bibi@bibi")

        users = api.get_all()
        # u1 + Admin user from BaseFixture
        assert 2 == len(users)
コード例 #2
0
ファイル: test_workspace.py プロジェクト: uggla/tracim
 def test_get_notifiable_roles(self):
     admin = self.session.query(User) \
         .filter(User.email == '*****@*****.**').one()
     wapi = WorkspaceApi(
         session=self.session,
         config=self.app_config,
         current_user=admin,
     )
     w = wapi.create_workspace(label='workspace w', save_now=True)
     uapi = UserApi(session=self.session,
                    current_user=admin,
                    config=self.app_config)
     u = uapi.create_minimal_user(email='[email protected]', save_now=True)
     eq_([], wapi.get_notifiable_roles(workspace=w))
     rapi = RoleApi(
         session=self.session,
         current_user=admin,
         config=self.app_config,
     )
     r = rapi.create_one(u, w, UserRoleInWorkspace.READER, with_notif=True)
     eq_([
         r,
     ], wapi.get_notifiable_roles(workspace=w))
     u.is_active = False
     eq_([], wapi.get_notifiable_roles(workspace=w))
コード例 #3
0
ファイル: test_user_api.py プロジェクト: lezardrouge/tracim
    def test_unit__update_user_email__err__wrong_format(self):
        api = UserApi(current_user=None, session=self.session, config=self.app_config)
        u = api.create_minimal_user("bob@bob")

        # 2 char
        with pytest.raises(EmailValidationFailed):
            api.update(user=u, email="b+b")
コード例 #4
0
 def test_unit__create_minimal_user_and_update__err__set_unaivalable_auth_type(
     self, session, app_config
 ):
     api = UserApi(current_user=None, session=session, config=app_config)
     u = api.create_minimal_user("bob@bob")
     with pytest.raises(UserAuthTypeDisabled):
         api.update(u, name="bob", email="bob@bob", auth_type=AuthType.LDAP, do_save=True)
コード例 #5
0
ファイル: test_user_api.py プロジェクト: lezardrouge/tracim
 def test_unit__update_user_password__err__too_long_password(self):
     api = UserApi(current_user=None, session=self.session, config=self.app_config)
     u = api.create_minimal_user("bob@bob")
     with pytest.raises(TracimValidationFailed):
         password = "******" * 513
         u = api.update(user=u, password=password)
     password = "******" * 512
     api.update(user=u, password=password)
コード例 #6
0
ファイル: test_user_api.py プロジェクト: lezardrouge/tracim
 def test_unit__update_user_password__err__too_short_password(self):
     api = UserApi(current_user=None, session=self.session, config=self.app_config)
     u = api.create_minimal_user("bob@bob")
     # 5 char
     with pytest.raises(TracimValidationFailed):
         api.update(user=u, password="******")
     # 6 char
     api.update(user=u, password="******")
コード例 #7
0
 def test_unit__create_minimal_user__err__too_short_email(self):
     api = UserApi(
         current_user=None,
         session=self.session,
         config=self.app_config,
     )
     with pytest.raises(TracimValidationFailed):
         u = api.create_minimal_user('b@')
コード例 #8
0
ファイル: test_user_api.py プロジェクト: lezardrouge/tracim
 def test_unit__update_user_public_name__err__too_long_password(self):
     api = UserApi(current_user=None, session=self.session, config=self.app_config)
     u = api.create_minimal_user("bob@bob")
     with pytest.raises(TracimValidationFailed):
         name = "n" * 256
         u = api.update(user=u, name=name)
     name = "n" * 255
     api.update(user=u, name=name)
コード例 #9
0
ファイル: test_user_api.py プロジェクト: lezardrouge/tracim
 def test_unit__update_timezone__too_long_timezone(self):
     api = UserApi(current_user=None, session=self.session, config=self.app_config)
     u = api.create_minimal_user("bob@bob")
     with pytest.raises(TracimValidationFailed):
         timezone = "t" * 33
         u = api.update(user=u, timezone=timezone)
     timezone = "t" * 32
     api.update(user=u, timezone=timezone)
コード例 #10
0
ファイル: test_user_api.py プロジェクト: lezardrouge/tracim
    def test_unit__user_with_email_exists__ok__nominal_case(self):
        api = UserApi(current_user=None, session=self.session, config=self.app_config)
        u = api.create_minimal_user("bibi@bibi")
        api.update(u, "bibi", "bibi@bibi", "password", do_save=True)
        transaction.commit()

        eq_(True, api.user_with_email_exists("bibi@bibi"))
        eq_(False, api.user_with_email_exists("unknown"))
コード例 #11
0
ファイル: test_user_api.py プロジェクト: tracim/tracim
 def test_unit__create_minimal_user__err__too_short_email(self):
     api = UserApi(
         current_user=None,
         session=self.session,
         config=self.app_config,
     )
     with pytest.raises(TracimValidationFailed):
         u = api.create_minimal_user('b@')
コード例 #12
0
ファイル: test_user_api.py プロジェクト: lezardrouge/tracim
 def test_unit__update_user_lang__err__too_long_lang(self):
     api = UserApi(current_user=None, session=self.session, config=self.app_config)
     u = api.create_minimal_user("bob@bob")
     with pytest.raises(TracimValidationFailed):
         lang = "n" * 4
         u = api.update(user=u, lang=lang)
     lang = "n" * 3
     api.update(user=u, lang=lang)
コード例 #13
0
ファイル: test_user_api.py プロジェクト: tracim/tracim
 def test_unit__create_minimal_user__ok__nominal_case(self):
     api = UserApi(
         current_user=None,
         session=self.session,
         config=self.app_config,
     )
     u = api.create_minimal_user('bob@bob')
     assert u.email == 'bob@bob'
     assert u.display_name == 'bob'
コード例 #14
0
ファイル: test_user_api.py プロジェクト: tracim/tracim
 def test_unit__create_minimal_user__err__too_long_email(self):
     api = UserApi(
         current_user=None,
         session=self.session,
         config=self.app_config,
     )
     with pytest.raises(TracimValidationFailed):
         email = 'b{}b@bob'.format('o'*255)
         u = api.create_minimal_user(email)
コード例 #15
0
 def test_unit__create_minimal_user__err__too_long_email(self):
     api = UserApi(
         current_user=None,
         session=self.session,
         config=self.app_config,
     )
     with pytest.raises(TracimValidationFailed):
         email = 'b{}b@bob'.format('o' * 255)
         u = api.create_minimal_user(email)
コード例 #16
0
 def test_unit__create_minimal_user__ok__nominal_case(self):
     api = UserApi(
         current_user=None,
         session=self.session,
         config=self.app_config,
     )
     u = api.create_minimal_user('bob@bob')
     assert u.email == 'bob@bob'
     assert u.display_name == 'bob'
コード例 #17
0
ファイル: test_user_api.py プロジェクト: lezardrouge/tracim
 def test_unit__create_minimal_user_and_update__ok__nominal_case(self):
     api = UserApi(current_user=None, session=self.session, config=self.app_config)
     u = api.create_minimal_user("bob@bob")
     api.update(u, "bob", "bob@bob", "password", do_save=True)
     nu = api.get_one_by_email("bob@bob")
     assert nu is not None
     assert nu.email == "bob@bob"
     assert nu.display_name == "bob"
     assert nu.validate_password("password")
コード例 #18
0
ファイル: test_user_api.py プロジェクト: lezardrouge/tracim
 def test_unit__update_user_public_name__err__too_short_public_name(self):
     api = UserApi(current_user=None, session=self.session, config=self.app_config)
     u = api.create_minimal_user("bob@bob")
     # 2 char
     with pytest.raises(TracimValidationFailed):
         u = api.update(user=u, name="nn")
     # 3 char
     u = api.update(user=u, name="nnn")
     assert u.display_name == "nnn"
コード例 #19
0
ファイル: test_user_api.py プロジェクト: lezardrouge/tracim
    def test_get_one_by_email(self):
        api = UserApi(current_user=None, session=self.session, config=self.app_config)
        u = api.create_minimal_user("bibi@bibi")
        self.session.flush()
        api.update(u, "bibi", "bibi@bibi", "password", do_save=True)
        uid = u.user_id
        transaction.commit()

        eq_(uid, api.get_one_by_email("bibi@bibi").user_id)
コード例 #20
0
ファイル: test_user_api.py プロジェクト: tracim/tracim
 def test_unit__create_minimal_user_and_update__err__set_unaivalable_auth_type(self):
     api = UserApi(
         current_user=None,
         session=self.session,
         config=self.app_config,
     )
     u = api.create_minimal_user('bob@bob')
     with pytest.raises(UserAuthTypeDisabled):
         api.update(u, name='bob', email='bob@bob', auth_type=AuthType.LDAP, do_save=True)
コード例 #21
0
ファイル: test_user_api.py プロジェクト: lezardrouge/tracim
 def test_unit__update_user_lang__err__too_short_lang(self):
     api = UserApi(current_user=None, session=self.session, config=self.app_config)
     u = api.create_minimal_user("bob@bob")
     # 1 char
     with pytest.raises(TracimValidationFailed):
         u = api.update(user=u, lang="f")
     # 2 char
     u = api.update(user=u, lang="fr")
     assert u.lang == "fr"
コード例 #22
0
 def test_unit__anonymize_user__ok__explicit_name(self, session,
                                                  app_config) -> None:
     api = UserApi(current_user=None, session=session, config=app_config)
     u = api.create_minimal_user("bob@bob")
     assert u.display_name == "bob"
     assert u.email == "bob@bob"
     cleanup_lib = CleanupLib(app_config=app_config, session=session)
     cleanup_lib.anonymize_user(u, anonymized_user_display_name="anonymous")
     assert u.display_name == "anonymous"
     assert u.email.endswith("@anonymous.local")
コード例 #23
0
ファイル: test_user_api.py プロジェクト: lezardrouge/tracim
 def test_unit__update_user_public_name__ok__nominal_case(self):
     api = UserApi(current_user=None, session=self.session, config=self.app_config)
     u = api.create_minimal_user("bob@bob")
     assert u.display_name == "bob"
     # 8 char
     u = api.update(user=u, name="John Doe")
     assert u.display_name == "John Doe"
     # 16 char
     u = api.update(user=u, name="John Doe" * 2)
     assert u.display_name == "John Doe" * 2
コード例 #24
0
ファイル: test_user_api.py プロジェクト: lezardrouge/tracim
 def test_unit__update_user_lang_name__ok__nominal_case(self):
     api = UserApi(current_user=None, session=self.session, config=self.app_config)
     u = api.create_minimal_user("bob@bob")
     assert u.lang is None
     # 2 char
     u = api.update(user=u, lang="fr")
     assert u.lang == "fr"
     # 3 char
     u = api.update(user=u, lang="fre")
     assert u.lang == "fre"
コード例 #25
0
 def test_unit__get_one__ok__nominal_case(self):
     api = UserApi(
         current_user=None,
         session=self.session,
         config=self.app_config,
     )
     u = api.create_minimal_user('titi@titi')
     api.update(u, 'titi', 'titi@titi', 'password', do_save=True)
     one = api.get_one(u.user_id)
     eq_(u.user_id, one.user_id)
コード例 #26
0
ファイル: test_user_api.py プロジェクト: tracim/tracim
 def test_unit__get_one__ok__nominal_case(self):
     api = UserApi(
         current_user=None,
         session=self.session,
         config=self.app_config,
     )
     u = api.create_minimal_user('titi@titi')
     api.update(u, 'titi', 'titi@titi', 'password', do_save=True)
     one = api.get_one(u.user_id)
     eq_(u.user_id, one.user_id)
コード例 #27
0
ファイル: test_user_api.py プロジェクト: tracim/tracim
 def test_unit__update_user_email__ok__nominal_case(self):
     api = UserApi(
         current_user=None,
         session=self.session,
         config=self.app_config,
     )
     u = api.create_minimal_user('bob@bob')
     assert u.email == 'bob@bob'
     u = api.update(user=u, email='bib@bib')
     assert u.email == 'bib@bib'
コード例 #28
0
ファイル: test_user_api.py プロジェクト: tracim/tracim
 def test_unit__update_timezone__ok__nominal_case(self):
     api = UserApi(
         current_user=None,
         session=self.session,
         config=self.app_config,
     )
     u = api.create_minimal_user('bob@bob')
     assert u.timezone is None
     u = api.update(user=u, timezone='Europe/Paris')
     assert u.timezone == 'Europe/Paris'
コード例 #29
0
 def test_unit__update_user_email__ok__nominal_case(self):
     api = UserApi(
         current_user=None,
         session=self.session,
         config=self.app_config,
     )
     u = api.create_minimal_user('bob@bob')
     assert u.email == 'bob@bob'
     u = api.update(user=u, email='bib@bib')
     assert u.email == 'bib@bib'
コード例 #30
0
 def test_unit__update_timezone__ok__nominal_case(self):
     api = UserApi(
         current_user=None,
         session=self.session,
         config=self.app_config,
     )
     u = api.create_minimal_user('bob@bob')
     assert u.timezone is None
     u = api.update(user=u, timezone='Europe/Paris')
     assert u.timezone == 'Europe/Paris'
コード例 #31
0
ファイル: test_user_api.py プロジェクト: tracim/tracim
    def test_unit__update_user_email__err__wrong_format(self):
        api = UserApi(
            current_user=None,
            session=self.session,
            config=self.app_config,
        )
        u = api.create_minimal_user('bob@bob')

        # 2 char
        with pytest.raises(EmailValidationFailed):
            u = api.update(user=u, email='b+b')
コード例 #32
0
ファイル: test_user_api.py プロジェクト: lezardrouge/tracim
    def test_unit__update_user_email__err__too_short_email(self):
        api = UserApi(current_user=None, session=self.session, config=self.app_config)
        u = api.create_minimal_user("bob@bob")

        # 2 char
        with pytest.raises(TracimValidationFailed):
            u = api.update(user=u, email="b@")

        # 3 char
        u = api.update(user=u, email="b@b")
        assert u.email == "b@b"
コード例 #33
0
ファイル: test_user_api.py プロジェクト: tracim/tracim
    def test_unit__get_all__ok__nominal_case(self):
        api = UserApi(
            current_user=None,
            session=self.session,
            config=self.app_config,
        )
        u1 = api.create_minimal_user('bibi@bibi')

        users = api.get_all()
        # u1 + Admin user from BaseFixture
        assert 2 == len(users)
コード例 #34
0
ファイル: test_user_api.py プロジェクト: tracim/tracim
 def test_unit__update_timezone__too_long_timezone(self):
     api = UserApi(
         current_user=None,
         session=self.session,
         config=self.app_config,
     )
     u = api.create_minimal_user('bob@bob')
     with pytest.raises(TracimValidationFailed):
         timezone = 't' * 33
         u = api.update(user=u, timezone=timezone)
     timezone = 't' * 32
     u = api.update(user=u, timezone=timezone)
コード例 #35
0
ファイル: test_user_api.py プロジェクト: tracim/tracim
 def test_unit__update_user_lang__err__too_long_lang(self):
     api = UserApi(
         current_user=None,
         session=self.session,
         config=self.app_config,
     )
     u = api.create_minimal_user('bob@bob')
     with pytest.raises(TracimValidationFailed):
         lang = 'n' * 4
         u = api.update(user=u, lang=lang)
     lang = 'n' * 3
     u = api.update(user=u, lang=lang)
コード例 #36
0
ファイル: test_user_api.py プロジェクト: tracim/tracim
 def test_unit__update_user_public_name__err__too_long_password(self):
     api = UserApi(
         current_user=None,
         session=self.session,
         config=self.app_config,
     )
     u = api.create_minimal_user('bob@bob')
     with pytest.raises(TracimValidationFailed):
         name = 'n' * 256
         u = api.update(user=u, name=name)
     name = 'n' * 255
     u = api.update(user=u, name=name)
コード例 #37
0
ファイル: test_cleanup.py プロジェクト: inkhey/tracim
 def test_unit__anonymize_user__ok__nominal_case(self, session,
                                                 app_config) -> None:
     api = UserApi(current_user=None, session=session, config=app_config)
     u = api.create_minimal_user(email="bob@bob", username="******")
     assert u.display_name == "bob"
     assert u.username == "bob"
     assert u.email == "bob@bob"
     cleanup_lib = CleanupLib(app_config=app_config, session=session)
     cleanup_lib.anonymize_user(u)
     assert u.display_name == "Deleted user"
     assert u.email.endswith("@anonymous.local")
     assert u.username is None
コード例 #38
0
ファイル: test_user_api.py プロジェクト: tracim/tracim
    def test_unit__user_with_email_exists__ok__nominal_case(self):
        api = UserApi(
            current_user=None,
            session=self.session,
            config=self.app_config,
        )
        u = api.create_minimal_user('bibi@bibi')
        api.update(u, 'bibi', 'bibi@bibi', 'password', do_save=True)
        transaction.commit()

        eq_(True, api.user_with_email_exists('bibi@bibi'))
        eq_(False, api.user_with_email_exists('unknown'))
コード例 #39
0
ファイル: test_user_api.py プロジェクト: tracim/tracim
 def test_unit__update_user_password__err__too_long_password(self):
     api = UserApi(
         current_user=None,
         session=self.session,
         config=self.app_config,
     )
     u = api.create_minimal_user('bob@bob')
     with pytest.raises(TracimValidationFailed):
         password = '******' * 513
         u = api.update(user=u, password=password)
     password = '******' * 512
     u = api.update(user=u, password=password)
コード例 #40
0
ファイル: test_user_config_api.py プロジェクト: inkhey/tracim
 def test__user_config_add_parameters(self, session, app_config):
     api = UserApi(current_user=None, session=session, config=app_config)
     u = api.create_minimal_user("bob@bob", save_now=True)
     uapiconfig = UserConfigApi(session=session, current_user=u)
     uapiconfig.set_params({"param1": 1, "param2": "two"})
     assert uapiconfig.get_all_params() == {"param1": 1, "param2": "two"}
     uapiconfig.set_params({"param2": 2, "param3": "hello"})
     assert uapiconfig.get_all_params() == {
         "param1": 1,
         "param2": 2,
         "param3": "hello"
     }
コード例 #41
0
ファイル: test_user_api.py プロジェクト: lezardrouge/tracim
 def test_unit__update_user_password__ok__nominal_case(self):
     api = UserApi(current_user=None, session=self.session, config=self.app_config)
     u = api.create_minimal_user("bob@bob")
     assert u.password is None
     # 8 char
     u = api.update(user=u, password="******")
     assert u.password
     assert u.validate_password("password")
     # 16 char
     u = api.update(user=u, password="******" * 2)
     assert u.password
     assert u.validate_password("password" * 2)
コード例 #42
0
ファイル: test_user_api.py プロジェクト: tracim/tracim_v2
    def test_unit__user_with_email_exists__ok__nominal_case(self):
        api = UserApi(
            current_user=None,
            session=self.session,
            config=self.config,
        )
        u = api.create_minimal_user('bibi@bibi')
        api.update(u, 'bibi', 'bibi@bibi', 'pass', do_save=True)
        transaction.commit()

        eq_(True, api.user_with_email_exists('bibi@bibi'))
        eq_(False, api.user_with_email_exists('unknown'))
コード例 #43
0
ファイル: test_user_api.py プロジェクト: tracim/tracim
 def test_unit__update_user_password__err__too_short_password(self):
     api = UserApi(
         current_user=None,
         session=self.session,
         config=self.app_config,
     )
     u = api.create_minimal_user('bob@bob')
     # 5 char
     with pytest.raises(TracimValidationFailed):
         u = api.update(user=u, password='******')
     # 6 char
     u = api.update(user=u, password='******')
コード例 #44
0
ファイル: test_user_api.py プロジェクト: tracim/tracim
 def test_unit__update_user_public_name__err__too_short_public_name(self):
     api = UserApi(
         current_user=None,
         session=self.session,
         config=self.app_config,
     )
     u = api.create_minimal_user('bob@bob')
     # 2 char
     with pytest.raises(TracimValidationFailed):
         u = api.update(user=u, name='nn')
     # 3 char
     u = api.update(user=u, name='nnn')
     assert u.display_name == 'nnn'
コード例 #45
0
ファイル: test_user_api.py プロジェクト: tracim/tracim
 def test_unit__update_user_lang__err__too_short_lang(self):
     api = UserApi(
         current_user=None,
         session=self.session,
         config=self.app_config,
     )
     u = api.create_minimal_user('bob@bob')
     # 1 char
     with pytest.raises(TracimValidationFailed):
         u = api.update(user=u, lang='f')
     # 2 char
     u = api.update(user=u, lang='fr')
     assert u.lang == 'fr'
コード例 #46
0
ファイル: test_user_api.py プロジェクト: tracim/tracim_v2
    def test_get_one_by_email(self):
        api = UserApi(
            current_user=None,
            session=self.session,
            config=self.config,
        )
        u = api.create_minimal_user('bibi@bibi')
        self.session.flush()
        api.update(u, 'bibi', 'bibi@bibi', 'pass', do_save=True)
        uid = u.user_id
        transaction.commit()

        eq_(uid, api.get_one_by_email('bibi@bibi').user_id)
コード例 #47
0
ファイル: test_user_api.py プロジェクト: tracim/tracim_v2
 def test_unit__create_minimal_user_and_update__ok__nominal_case(self):
     api = UserApi(
         current_user=None,
         session=self.session,
         config=self.config,
     )
     u = api.create_minimal_user('bob@bob')
     api.update(u, 'bob', 'bob@bob', 'pass', do_save=True)
     nu = api.get_one_by_email('bob@bob')
     assert nu is not None
     assert nu.email == 'bob@bob'
     assert nu.display_name == 'bob'
     assert nu.validate_password('pass')
コード例 #48
0
ファイル: test_user_api.py プロジェクト: tracim/tracim
 def test_unit__create_minimal_user_and_update__ok__nominal_case(self):
     api = UserApi(
         current_user=None,
         session=self.session,
         config=self.app_config,
     )
     u = api.create_minimal_user('bob@bob')
     api.update(u, 'bob', 'bob@bob', 'password', do_save=True)
     nu = api.get_one_by_email('bob@bob')
     assert nu is not None
     assert nu.email == 'bob@bob'
     assert nu.display_name == 'bob'
     assert nu.validate_password('password')
コード例 #49
0
ファイル: test_user_api.py プロジェクト: tracim/tracim
    def test_get_one_by_email(self):
        api = UserApi(
            current_user=None,
            session=self.session,
            config=self.app_config,
        )
        u = api.create_minimal_user('bibi@bibi')
        self.session.flush()
        api.update(u, 'bibi', 'bibi@bibi', 'password', do_save=True)
        uid = u.user_id
        transaction.commit()

        eq_(uid, api.get_one_by_email('bibi@bibi').user_id)
コード例 #50
0
ファイル: test_user_api.py プロジェクト: tracim/tracim
 def test_unit__update_user_public_name__ok__nominal_case(self):
     api = UserApi(
         current_user=None,
         session=self.session,
         config=self.app_config,
     )
     u = api.create_minimal_user('bob@bob')
     assert u.display_name == 'bob'
     # 8 char
     u = api.update(user=u, name='John Doe')
     assert u.display_name == 'John Doe'
     # 16 char
     u = api.update(user=u, name='John Doe'*2)
     assert u.display_name == 'John Doe'*2
コード例 #51
0
ファイル: test_user_api.py プロジェクト: tracim/tracim
 def test_unit__update_user_lang_name__ok__nominal_case(self):
     api = UserApi(
         current_user=None,
         session=self.session,
         config=self.app_config,
     )
     u = api.create_minimal_user('bob@bob')
     assert u.lang is None
     # 2 char
     u = api.update(user=u, lang='fr')
     assert u.lang == 'fr'
     # 3 char
     u = api.update(user=u, lang='fre')
     assert u.lang == 'fre'
コード例 #52
0
ファイル: test_user_api.py プロジェクト: tracim/tracim
    def test_unit__update_user_email__err__too_short_email(self):
        api = UserApi(
            current_user=None,
            session=self.session,
            config=self.app_config,
        )
        u = api.create_minimal_user('bob@bob')

        # 2 char
        with pytest.raises(TracimValidationFailed):
            u = api.update(user=u, email='b@')

        # 3 char
        u = api.update(user=u, email='b@b')
        assert u.email == 'b@b'
コード例 #53
0
ファイル: test_workspace.py プロジェクト: tracim/tracim
 def test_unit__get_all_manageable(self):
     admin = self.session.query(User) \
         .filter(User.email == '*****@*****.**').one()
     uapi = UserApi(
         session=self.session,
         current_user=admin,
         config=self.app_config,
     )
     # Checks a case without workspaces.
     wapi = WorkspaceApi(
         session=self.session,
         current_user=admin,
         config=self.app_config,
     )
     eq_([], wapi.get_all_manageable())
     # Checks an admin gets all workspaces.
     w4 = wapi.create_workspace(label='w4')
     w3 = wapi.create_workspace(label='w3')
     w2 = wapi.create_workspace(label='w2')
     w1 = wapi.create_workspace(label='w1')
     eq_([w1, w2, w3, w4], wapi.get_all_manageable())
     # Checks a regular user gets none workspace.
     gapi = GroupApi(
         session=self.session,
         current_user=None,
         config=self.app_config,
     )
     u = uapi.create_minimal_user('[email protected]', [gapi.get_one(Group.TIM_USER)], True)
     wapi = WorkspaceApi(
         session=self.session,
         current_user=u,
         config=self.app_config,
     )
     rapi = RoleApi(
         session=self.session,
         current_user=None,
         config=self.app_config,
     )
     rapi.create_one(u, w4, UserRoleInWorkspace.READER, False)
     rapi.create_one(u, w3, UserRoleInWorkspace.CONTRIBUTOR, False)
     rapi.create_one(u, w2, UserRoleInWorkspace.CONTENT_MANAGER, False)
     rapi.create_one(u, w1, UserRoleInWorkspace.WORKSPACE_MANAGER, False)
     eq_([], wapi.get_all_manageable())
     # Checks a manager gets only its own workspaces.
     u.groups.append(gapi.get_one(Group.TIM_MANAGER))
     rapi.delete_one(u.user_id, w2.workspace_id)
     rapi.create_one(u, w2, UserRoleInWorkspace.WORKSPACE_MANAGER, False)
     eq_([w1, w2], wapi.get_all_manageable())
コード例 #54
0
ファイル: test_user_api.py プロジェクト: tracim/tracim
 def test_unit__update_user_password__ok__nominal_case(self):
     api = UserApi(
         current_user=None,
         session=self.session,
         config=self.app_config,
     )
     u = api.create_minimal_user('bob@bob')
     assert u.password is None
     # 8 char
     u = api.update(user=u, password='******')
     assert u.password
     assert u.validate_password('password')
     # 16 char
     u = api.update(user=u, password='******'*2)
     assert u.password
     assert u.validate_password('password'*2)
コード例 #55
0
ファイル: test_user_api.py プロジェクト: tracim/tracim
    def test_unit__update_user_email__err__too_long_email(self):
        api = UserApi(
            current_user=None,
            session=self.session,
            config=self.app_config,
        )
        u = api.create_minimal_user('bob@bob')
        # 256 char
        chars = 'o' * (256 - 6)
        with pytest.raises(TracimValidationFailed):
            email = 'b{}b@bob'.format(chars)
            u = api.update(user=u, email=email)

        # 255 char
        chars = 'o' * (255 - 6)
        email = 'b{}b@bob'.format(chars)
        u = api.update(user=u, email=email)
        assert u.email==email