コード例 #1
0
ファイル: test_session.py プロジェクト: hakrac/wsgitools
    def test_session(self):
        self.session_id = uuid.uuid4()
        def genId(req):
            return self.session_id.hex

        router = Router()
        sessionManager = BaseSessionManager(genId)

        router.pipe()(sessionManager)

        @router.get()
        def index(req, res):
            if 'alice' in sessionManager.session:
                res.set_data(sessionManager.session['alice'])
            else:
                sessionManager.session['alice'] = 'bob'
                res.set_data('Index')
            return res
        
        c = Client(router.build(), Response)
        res = c.get('/')
        self.assertEqual(res.data, b'Index')
        res = c.get('/')
        self.assertEqual(res.data, b'bob')

        c = Client(router.build(), Response)
        self.session_id = uuid.uuid4()
        res = c.get('/')
        self.assertEqual(res.data, b'Index')
コード例 #2
0
    def test_static_file(self):
        router = Router()
        router.pipe('/data')(StaticMiddleware(dir=os.getcwd()))

        @router.get()
        def index(req, res):
            res.set_data('Index')
            return res

        c = Client(router.build(), Response)
        res = c.get('/data/text.txt')
        self.assertEqual(res.data, b'Test data')
コード例 #3
0
    def test_compression(self):

        router = Router()

        router.pipe()(CompressionMiddleware())

        @router.get()
        def index(req, res):
            res.set_data('Index')
            return res

        c = Client(router.build(), Response)

        res = c.get('/', headers={'Accept-Encoding': 'gzip'})
        self.assertEqual(res.headers.get('Content-Encoding'), 'gzip')
コード例 #4
0
ファイル: test_session.py プロジェクト: hakrac/wsgitools
def get_user(user_id):
    user = User()
    user.id = user_id
    user.username = '******'
    user.password = '******'
    return user

@router.pipe()
def handle(next, req, res):
    try:
        return next(req, res)
    except FileNotFoundError:
        res.status_code = 404
        return res

router.pipe()(sessionManager)

@router.get('/signin')
def signin(req:Request, res: Response):
    if sessionManager.user is None:
        user = User()
        user.id = 1
        user.username = '******'
        user.password = '******'

        sessionManager.signin_user(user)

    res.status_code = 302
    res.headers.add('Location', '/')
    return res