whoogle-search/test/test_misc.py
Ben Busby 9f435bf8fe Major refactor of requests and session management
- Switches from pycurl to requests library
  - Allows for less janky decoding, especially with non-latin character
  sets
- Adds session level management of user configs
  - Allows for each session to set its own config (people are probably
  going to complain about this, though not sure if it'll be the same
  number of people who are upset that their friends/family have to share
  their config)
- Updates key gen/regen to more aggressively swap out keys after each
request
2020-05-28 18:14:10 -06:00

37 lines
1.0 KiB
Python

from app.utils.misc 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):
with client.session_transaction() as session:
assert not valid_user_session(session)
session['uuid'] = 'test'
session['keys'] = generate_user_keys()
session['config'] = {}
assert valid_user_session(session)
def test_request_key_generation(client):
text_key = ''
rv = client.get('/search?q=test+1')
assert rv._status_code == 200
with client.session_transaction() as session:
assert valid_user_session(session)
text_key = session['keys']['text_key']
rv = client.get('/search?q=test+2')
assert rv._status_code == 200
with client.session_transaction() as session:
assert valid_user_session(session)
assert text_key not in session['keys']['text_key']