예제 #1
0
    def test_failed_assoc_lookup(self):
        session = Mock()
        session.query = MockQuery()
        server_url = "http://test.net"

        store = SFOpenIDStore(session)
        returned = store.getAssociation(server_url)
        self.assertTrue(returned is None)
예제 #2
0
    def test_use_nonce_success(self):
        server_url = "http://test.net"
        timestamp = int(time.time())
        salt = "asdfgadfgj"

        session = Mock()
        session.query = MockQuery()

        store = SFOpenIDStore(session)
        use_nonce = store.useNonce(server_url, timestamp, salt)
        self.assertEqual(use_nonce, True)
예제 #3
0
    def test_remove_association_fail_url(self):
        server_url = "http://test.net"
        lifetime = 60 * 60 * 24 * 5  # 5 days in seconds
        issued = time.mktime(datetime.datetime.now().timetuple())
        assoc1 = Association("http://test.com", 'asdf', 'aflasdkf',
                             issued, lifetime, 'HMAC-SHA1')

        session = Mock()
        session.query = MockQuery(store=[assoc1])

        store = SFOpenIDStore(session)
        returned = store.removeAssociation(server_url, handle='asdf')
        self.assertEqual(returned, False)
예제 #4
0
    def test_returning_association(self):
        session = Mock()
        server_url = "http://test.net"
        lifetime = 60 * 60 * 24 * 5  # 5 days in seconds
        issued = time.mktime(datetime.datetime.now().timetuple())
        assoc = Association(server_url, 'asdf', 'aflasdkf', issued, lifetime,
                            'HMAC-SHA1')
        session.query = MockQuery(store=[assoc])

        store = SFOpenIDStore(session)
        returned = store.getAssociation(server_url)
        for attr in ('handle', 'secret',
                     'issued', 'lifetime', 'assoc_type'):
            self.assertEqual(getattr(returned, attr),
                             getattr(assoc, attr))
예제 #5
0
    def test_expired_assoc_cleanup(self):
        server_url = "http://test.net"
        day = 60 * 60 * 24
        issued = time.mktime(datetime.datetime(2010, 1, 20).timetuple())
        storage = []
        for i in xrange(0, 10):
            lifetime = day + i
            new_assoc = Association(server_url, 'asdf', 'afla', issued,
                                    lifetime, 'HMAC-SHA1')
            storage.append(new_assoc)

        session = Mock()
        session.query = MockQuery(store=storage)

        store = SFOpenIDStore(session)
        store.cleanupAssociations()
        self.assertEqual(session.query._store, [])
예제 #6
0
    def test_use_nonce_out_of_skew_pass(self):
        from openid.store.nonce import SKEW
        server_url = "http://test.net"
        timestamp = int(time.time())
        salt = "asdfgadfgj"

        nonce = Nonce(server_url, timestamp + SKEW + 5, salt)

        session = Mock()
        session.query = MockQuery(store=[nonce])

        def fake_filter(*args):
            return MockQuery(store=[])

        session.query.filter = fake_filter

        store = SFOpenIDStore(session)
        use_nonce = store.useNonce(server_url, timestamp, salt)
        self.assertEqual(use_nonce, True)
예제 #7
0
 def fake_filter(*args):
     return MockQuery(store=[])