コード例 #1
0
def setup_database_with_translations():
    init_model(engine)
    teardownDatabase()
    metadata.create_all(engine)
    
    # Creating members

    member = Member()
    member.member_name = compat.u('rms')
    member.password = compat.u('freedom')
    DBSession.add(member)

    member = Member()
    member.member_name = compat.u('linus')
    member.password = compat.u('linux')
    DBSession.add(member)

    member = Member()
    member.member_name = compat.u('sballmer')
    member.password = compat.u('developers')
    DBSession.add(member)

    # Plus a couple of members without groups
    member = Member()
    member.member_name = compat.u('guido')
    member.password = compat.u('phytonic')
    DBSession.add(member)

    member = Member()
    member.member_name = compat.u('rasmus')
    member.password = compat.u('php')
    DBSession.add(member)

    DBSession.commit()
コード例 #2
0
def setup_database():
    init_model(engine)
    teardownDatabase()
    metadata.create_all(engine)
    
    # Creating users

    user = User()
    user.user_name = compat.u('rms')
    user.password = compat.u('freedom')
    DBSession.add(user)

    user = User()
    user.user_name = compat.u('linus')
    user.password = compat.u('linux')
    DBSession.add(user)

    user = User()
    user.user_name = compat.u('sballmer')
    user.password = compat.u('developers')
    DBSession.add(user)

    # Plus a couple of users without groups
    user = User()
    user.user_name = compat.u('guido')
    user.password = compat.u('phytonic')
    DBSession.add(user)

    user = User()
    user.user_name = compat.u('rasmus')
    user.password = compat.u('php')
    DBSession.add(user)

    DBSession.commit()
コード例 #3
0
    def setup_database():
        init_model(engine)
        teardownDatabase()
        elixir.setup_all(True)
        # Creating users

        user = User()
        user.user_name = compat.u('rms')
        user.password = compat.u('freedom')
        DBSession.add(user)

        user = User()
        user.user_name = compat.u('linus')
        user.password = compat.u('linux')
        DBSession.add(user)

        user = User()
        user.user_name = compat.u('sballmer')
        user.password = compat.u('developers')
        DBSession.add(user)

        # Plus a couple of users without groups
        user = User()
        user.user_name = compat.u('guido')
        user.password = compat.u('phytonic')
        DBSession.add(user)

        user = User()
        user.user_name = compat.u('rasmus')
        user.password = compat.u('php')
        DBSession.add(user)

        DBSession.commit()
コード例 #4
0
def setup_database_with_translations():
    init_model(engine)
    teardownDatabase()
    metadata.create_all(engine)

    # Creating members

    member = Member()
    member.member_name = compat.u('rms')
    member.password = compat.u('freedom')
    DBSession.add(member)

    member = Member()
    member.member_name = compat.u('linus')
    member.password = compat.u('linux')
    DBSession.add(member)

    member = Member()
    member.member_name = compat.u('sballmer')
    member.password = compat.u('developers')
    DBSession.add(member)

    # Plus a couple of members without groups
    member = Member()
    member.member_name = compat.u('guido')
    member.password = compat.u('phytonic')
    DBSession.add(member)

    member = Member()
    member.member_name = compat.u('rasmus')
    member.password = compat.u('php')
    DBSession.add(member)

    DBSession.commit()
コード例 #5
0
 def test_dummy_validate(self):
     self.plugin = SQLAlchemyAuthenticatorPlugin(sa_model.User, 
                                                 sa_model.DBSession)
     self.plugin.translations['dummy_validate_password'] = \
         sa_model.dummy_validate
     identity = {'login': compat.u('QWERTY'), 'password': compat.u('freedom')}
     self.assertRaises(sa_model.DummyValidateException,
                       self.plugin.authenticate, None, identity)
コード例 #6
0
 def test_it(self):
     self.plugin = SQLAlchemyAuthenticatorPlugin(sa_model.Member, 
                                                 sa_model.DBSession)
     # Updating the translations...
     self.plugin.translations['user_name'] = 'member_name'
     self.plugin.translations['validate_password'] = '******'
     # Testing it...
     identity = {'login': compat.u('rms'), 'password': compat.u('freedom')}
     self.assertEqual(compat.u('rms'), self.plugin.authenticate(None, identity))
コード例 #7
0
 def test_it(self):
     self.plugin = SQLAlchemyAuthenticatorPlugin(sa_model.Member,
                                                 sa_model.DBSession)
     # Updating the translations...
     self.plugin.translations['user_name'] = 'member_name'
     self.plugin.translations['validate_password'] = '******'
     # Testing it...
     identity = {'login': compat.u('rms'), 'password': compat.u('freedom')}
     self.assertEqual(compat.u('rms'),
                      self.plugin.authenticate(None, identity))
コード例 #8
0
 def test_dummy_validate(self):
     self.plugin = SQLAlchemyAuthenticatorPlugin(sa_model.User,
                                                 sa_model.DBSession)
     self.plugin.translations['dummy_validate_password'] = \
         sa_model.dummy_validate
     identity = {
         'login': compat.u('QWERTY'),
         'password': compat.u('freedom')
     }
     self.assertRaises(sa_model.DummyValidateException,
                       self.plugin.authenticate, None, identity)
コード例 #9
0
 def test_rollback(self):
     """The session must be rolled back before use."""
     # Make the transaction invalid by attempting to add an existing user:
     try:
         user = elixir_model.User()
         user.user_name = compat.u("rms")
         user.password = "******"
         elixir_model.DBSession.add(user)
         elixir_model.DBSession.commit()
     except IntegrityError:
         pass
     else:
         self.fail("An IntegrityError must've been raised")
     
     identity = {'login': compat.u('rms'), 'password': compat.u('freedom')}
     self.plugin.authenticate(None, identity)
コード例 #10
0
    def test_remember_max_age_unicode(self):
        from repoze.who._compat import u
        plugin = self._makeOne('secret')
        environ = {'HTTP_HOST': 'example.com'}
        tkt = self._makeTicket(userid='chris', userdata='')
        result = plugin.remember(environ, {
            'repoze.who.userid': 'chris',
            'max_age': u('500')
        })
        name, value = result.pop(0)
        self.assertEqual('Set-Cookie', name)
        self.assertTrue(isinstance(value, str))
        self.assertTrue(
            value.startswith('auth_tkt="%s"; Path=/; Max-Age=500' % tkt),
            (value, tkt))
        self.assertTrue('; Expires=' in value)

        name, value = result.pop(0)
        self.assertEqual('Set-Cookie', name)
        self.assertTrue(
            value.startswith(
                'auth_tkt="%s"; Path=/; Domain=example.com; Max-Age=500' %
                tkt), value)
        self.assertTrue('; Expires=' in value)

        name, value = result.pop(0)
        self.assertEqual('Set-Cookie', name)
        self.assertTrue(
            value.startswith(
                'auth_tkt="%s"; Path=/; Domain=.example.com; Max-Age=500' %
                tkt), value)
        self.assertTrue('; Expires=' in value)
コード例 #11
0
ファイル: test_authtkt.py プロジェクト: frostyfrog/repoze.who
    def test_remember_max_age_unicode(self):
        from repoze.who._compat import u
        plugin = self._makeOne('secret')
        environ = {'HTTP_HOST':'example.com'}
        tkt = self._makeTicket(userid='chris', userdata='')
        result = plugin.remember(environ, {'repoze.who.userid': 'chris',
                                           'max_age': u('500')})
        name, value = result.pop(0)
        self.assertEqual('Set-Cookie', name)
        self.assertTrue(isinstance(value, str))
        self.assertTrue(
            value.startswith('auth_tkt="%s"; Path=/; Max-Age=500' % tkt),
            (value, tkt))
        self.assertTrue('; Expires=' in value)
        
        name,value = result.pop(0)
        self.assertEqual('Set-Cookie', name)
        self.assertTrue(
            value.startswith(
            'auth_tkt="%s"; Path=/; Domain=example.com; Max-Age=500'
            % tkt), value)
        self.assertTrue('; Expires=' in value)

        name,value = result.pop(0)
        self.assertEqual('Set-Cookie', name)
        self.assertTrue(
            value.startswith(
            'auth_tkt="%s"; Path=/; Domain=.example.com; Max-Age=500' % tkt),
            value)
        self.assertTrue('; Expires=' in value)
コード例 #12
0
    def test_rollback(self):
        """The session must be rolled back before use."""
        # Make the transaction invalid by attempting to add an existing user:
        try:
            user = sa_model.User()
            user.user_name = compat.u("rms")
            user.password = "******"
            sa_model.DBSession.add(user)
            sa_model.DBSession.commit()
        except IntegrityError:
            pass
        else:
            self.fail("An IntegrityError must've been raised")

        identity = {'login': compat.u('rms'), 'password': compat.u('freedom')}
        self.plugin.authenticate(None, identity)
コード例 #13
0
 def test_rollback(self):
     """The session must be rolled back before use."""
     # Make the transaction invalid by attempting to add an existing user:
     try:
         user = sa_model.User()
         user.user_name = compat.u("rms")
         user.password = "******"
         sa_model.DBSession.add(user)
         sa_model.DBSession.commit()
     except IntegrityError:
         pass
     else:
         self.fail("An IntegrityError must've been raised")
     
     identity = {'repoze.who.userid': compat.u("rms")}
     self.plugin.add_metadata(None, identity)
コード例 #14
0
ファイル: redirector.py プロジェクト: jManji/Trivia
def make_plugin(login_url, came_from_param=None, reason_param=None, reason_header=None):
    if login_url in (u(""), b"", None):
        raise ValueError("No 'login_url'")
    if reason_header is not None and reason_param is None:
        raise Exception("Can't set 'reason_header' without 'reason_param'.")

    if reason_header is None and reason_param is not None:
        reason_header = "X-Authorization-Failure-Reason"

    return RedirectorPlugin(
        login_url, came_from_param=came_from_param, reason_param=reason_param, reason_header=reason_header
    )
コード例 #15
0
    def test_it(self):
        user = sa_model.DBSession.query(sa_model.User).\
               filter(sa_model.User.user_name==compat.u('rms')).one()
        identity = {'repoze.who.userid': user.user_name}
        expected_identity = {'repoze.who.userid': user.user_name, 'user': user}
        self.plugin.add_metadata(None, identity)

        self.assertEqual(identity.keys(), expected_identity.keys())
        self.assertEqual(
            expected_identity['repoze.who.userid'],
            identity['repoze.who.userid'],
        )
        self.assertEqual(
            expected_identity['user'].user_name,
            identity['user'].user_name,
        )
コード例 #16
0
 def test_it(self):
     user = sa_model.DBSession.query(sa_model.User).\
            filter(sa_model.User.user_name==compat.u('rms')).one()
     identity = {'repoze.who.userid': user.user_name}
     expected_identity = {
         'repoze.who.userid': user.user_name,
         'user': user}
     self.plugin.add_metadata(None, identity)
     
     self.assertEqual(identity.keys(), expected_identity.keys())
     self.assertEqual(
         expected_identity['repoze.who.userid'],
         identity['repoze.who.userid'],
         )
     self.assertEqual(
         expected_identity['user'].user_name,
         identity['user'].user_name,
         )
コード例 #17
0
def make_plugin(
    login_url,
    came_from_param=None,
    reason_param=None,
    reason_header=None,
):
    if login_url in (u(''), b'', None):
        raise ValueError("No 'login_url'")
    if reason_header is not None and reason_param is None:
        raise Exception("Can't set 'reason_header' without 'reason_param'.")

    if reason_header is None and reason_param is not None:
        reason_header = 'X-Authorization-Failure-Reason'

    return RedirectorPlugin(
        login_url,
        came_from_param=came_from_param,
        reason_param=reason_param,
        reason_header=reason_header,
    )
コード例 #18
0
 def test_it(self):
     self.plugin = SQLAlchemyUserMDPlugin(sa_model.Member,
                                          sa_model.DBSession)
     # Updating the translations...
     self.plugin.translations['user_name'] = 'member_name'
     # Testing it...
     member = sa_model.DBSession.query(sa_model.Member).\
              filter(sa_model.Member.member_name==compat.u('rms')).one()
     identity = {'repoze.who.userid': member.member_name}
     expected_identity = {
         'repoze.who.userid': member.member_name,
         'user': member}
     self.plugin.add_metadata(None, identity)
     
     self.assertEqual(expected_identity.keys(), identity.keys())
     self.assertEqual(
         expected_identity['repoze.who.userid'],
         identity['repoze.who.userid'],
         )
     self.assertEqual(
         expected_identity['user'].member_name,
         identity['user'].member_name,
         )
コード例 #19
0
    def test_it(self):
        self.plugin = SQLAlchemyUserMDPlugin(sa_model.Member,
                                             sa_model.DBSession)
        # Updating the translations...
        self.plugin.translations['user_name'] = 'member_name'
        # Testing it...
        member = sa_model.DBSession.query(sa_model.Member).\
                 filter(sa_model.Member.member_name==compat.u('rms')).one()
        identity = {'repoze.who.userid': member.member_name}
        expected_identity = {
            'repoze.who.userid': member.member_name,
            'user': member
        }
        self.plugin.add_metadata(None, identity)

        self.assertEqual(expected_identity.keys(), identity.keys())
        self.assertEqual(
            expected_identity['repoze.who.userid'],
            identity['repoze.who.userid'],
        )
        self.assertEqual(
            expected_identity['user'].member_name,
            identity['user'].member_name,
        )
コード例 #20
0
 def test_non_existing_user(self):
     self.assertFalse(self.plugin(compat.u("gustavo")))
コード例 #21
0
 def test_match(self):
     identity = {'login': compat.u('rms'), 'password': compat.u('freedom')}
     self.assertEqual(compat.u('rms'),
                      self.plugin.authenticate(None, identity))
コード例 #22
0
 def test_existing_user(self):
     self.assertTrue(self.plugin(compat.u("guido")))
コード例 #23
0
 def test_non_existing_user(self):
     self.assertFalse(self.plugin(compat.u("gustavo")))
コード例 #24
0
 def test_no_match(self):
     identity = {
         'login': compat.u('gustavo'),
         'password': compat.u('narea')
     }
     self.assertEqual(None, self.plugin.authenticate(None, identity))
コード例 #25
0
 def test_no_match(self):
     identity = {'login': compat.u('gustavo'), 'password': compat.u('narea')}
     self.assertEqual(None, self.plugin.authenticate(None, identity))
コード例 #26
0
 def test_match(self):
     identity = {'login': compat.u('rms'), 'password': compat.u('freedom')}
     self.assertEqual(compat.u('rms'), self.plugin.authenticate(None, identity))
コード例 #27
0
ファイル: test_sql.py プロジェクト: aodag/repoze.who
 def test_shaprefix_w_unicode_cleartext(self):
     from repoze.who._compat import u
     stored = '{SHA}' +  self._get_sha_hex_digest()
     compare = self._getFUT()
     result = compare(u('password'), stored)
     self.assertEqual(result, True)
コード例 #28
0
ファイル: test_sql.py プロジェクト: P79N6A/hue-from-scratch
 def test_shaprefix_w_unicode_cleartext(self):
     from repoze.who._compat import u
     stored = '{SHA}' + self._get_sha_hex_digest()
     compare = self._getFUT()
     result = compare(u('password'), stored)
     self.assertEqual(result, True)
コード例 #29
0
 def test_existing_user(self):
     self.assertTrue(self.plugin(compat.u("guido")))