Exemple #1
0
def test_auth():
    user, pwd = 'marc', 'secret'
    basic = to_unicode(base64.b64encode(to_bytes('%s:%s' % (user, pwd))))
    env = dict(copy.deepcopy(env1))
    r = Request(env)
    assert r.authorization == None
    env['HTTP_AUTHORIZATION'] = 'basic %s' % basic
    r = Request(env)
    assert r.authorization == (user, pwd)
Exemple #2
0
def test_wsgiheaders():
    env = {
        'REQUEST_METHOD':       'POST',
        'SCRIPT_NAME':          '/foo',
        'PATH_INFO':            '/bar',
        'QUERY_STRING':         'a=1&b=2',
        'SERVER_NAME':          'test.flagon.org',
        'SERVER_PORT':          '80',
        'HTTP_HOST':            'test.flagon.org',
        'SERVER_PROTOCOL':      'http',
        'CONTENT_TYPE':         'text/plain; charset=utf-8',
        'CONTENT_LENGTH':       '0',
        'wsgi.url_scheme':      'http',
        'HTTP_X_FORWARDED_FOR': '5.5.5.5',
    }
    user, pwd = 'marc', 'secret'
    basic = to_unicode(base64.b64encode(to_bytes('%s:%s' % (user, pwd))))
    env['HTTP_AUTHORIZATION'] = 'basic %s' % basic
    env['HTTP_COOKIE'] = 'a=a; a=b'
    w = WSGIHeaders(env)
    assert w.raw('authorization') == 'basic %s' % basic
    assert w.raw('content_type') == 'text/plain; charset=utf-8'
    assert w.raw('cookie') == 'a=a; a=b'
    assert w.raw('range') == None

    assert w['authorization'] == 'basic %s' % basic
    assert w['content_type'] == 'text/plain; charset=utf-8'

    with pytest.raises(TypeError):
        w['content_type'] = 'text/plain'

    with pytest.raises(TypeError):
        del w['range']

    assert len(w) == len(w.keys())
    assert len(w) == 6