975ece8cd0
Full implementation of social media alt redirects (twitter/youtube/instagram -> nitter/invidious/bibliogram) depending on configuration. Verbatim search and option to ignore search autocorrect are now supported as well. Also cleaned up the javascript side of whoogle config so that it now uses arrays of available fields for parsing config values instead of manually assigning each one to a variable. This doesn't include support for Google Maps -> Open Street Maps, that seems a bit more involved than the social media redirects were, so it should likely be a separate effort.
34 行
1.0 KiB
Python
34 行
1.0 KiB
Python
from app.utils.session_utils import generate_user_keys, valid_user_session
|
|
|
|
|
|
def test_generate_user_keys():
|
|
keys = generate_user_keys()
|
|
assert 'text_key' in keys
|
|
assert 'element_key' in keys
|
|
assert keys['text_key'] not in keys['element_key']
|
|
|
|
|
|
def test_valid_session(client):
|
|
assert not valid_user_session({'fernet_keys': '', 'config': {}})
|
|
with client.session_transaction() as session:
|
|
assert valid_user_session(session)
|
|
|
|
|
|
def test_request_key_generation(client):
|
|
rv = client.get('/')
|
|
cookie = rv.headers['Set-Cookie']
|
|
|
|
rv = client.get('/search?q=test+1', headers={'Cookie': cookie})
|
|
assert rv._status_code == 200
|
|
|
|
with client.session_transaction() as session:
|
|
assert valid_user_session(session)
|
|
text_key = session['fernet_keys']['text_key']
|
|
|
|
rv = client.get('/search?q=test+2', headers={'Cookie': cookie})
|
|
assert rv._status_code == 200
|
|
|
|
with client.session_transaction() as session:
|
|
assert valid_user_session(session)
|
|
assert text_key not in session['fernet_keys']['text_key']
|