2020-04-15 23:41:53 +00:00
|
|
|
from app import app
|
2021-04-01 04:23:30 +00:00
|
|
|
from app.utils.session import generate_user_key
|
2020-04-15 23:41:53 +00:00
|
|
|
import pytest
|
2020-12-05 22:01:21 +00:00
|
|
|
import random
|
|
|
|
|
|
|
|
demo_config = {
|
|
|
|
'near': random.choice(['Seattle', 'New York', 'San Francisco']),
|
2021-04-12 20:40:59 +00:00
|
|
|
'dark': str(random.getrandbits(1)),
|
2020-12-05 22:01:21 +00:00
|
|
|
'nojs': str(random.getrandbits(1)),
|
2020-12-17 21:39:35 +00:00
|
|
|
'lang_interface': random.choice(app.config['LANGUAGES'])['value'],
|
|
|
|
'lang_search': random.choice(app.config['LANGUAGES'])['value'],
|
Use farside.link for frontend alternatives in results (#560)
* Integrate Farside into Whoogle
When instances are ratelimited (when a captcha is returned instead of
the user's search results) the user can now hop to a new instance via
Farside, a new backend service that redirects users to working instances
of a particular frontend. In this case, it presents a user with a
Farside link to a new Whoogle (or Searx) instance instead, so that the
user can resume their search.
For the generated Farside->Whoogle link, the generated link includes the
user's current Whoogle configuration settings as URL params, to ensure a
more seamless transition between instances. This doesn't translate to
the Farside->Searx link, but potentially could with some changes.
* Expand conversion of config<->url params
Config settings can now be translated to and from URL params using a
predetermined set of "safe" keys (i.e. config settings that easily
translate to URL params).
* Allow jumping instances via Farside when ratelimited
When instances are ratelimited (when a captcha is returned instead of
the user's search results) the user can now hop to a new instance via
Farside, a new backend service that redirects users to working instances
of a particular frontend. In this case, it presents a user with a
Farside link to a new Whoogle (or Searx) instance instead, so that the
user can resume their search.
For the generated Farside->Whoogle link, the generated link includes the
user's current Whoogle configuration settings as URL params, to ensure a
more seamless transition between instances. This doesn't translate to
the Farside->Searx link, but potentially could with some changes.
Closes #554
Closes #559
2021-12-09 00:27:33 +00:00
|
|
|
'country': random.choice(app.config['COUNTRIES'])['value']
|
2020-12-05 22:01:21 +00:00
|
|
|
}
|
2020-04-15 23:41:53 +00:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture
|
|
|
|
def client():
|
2020-06-05 22:09:04 +00:00
|
|
|
with app.test_client() as client:
|
|
|
|
with client.session_transaction() as session:
|
|
|
|
session['uuid'] = 'test'
|
2021-04-01 04:23:30 +00:00
|
|
|
session['key'] = generate_user_key()
|
2020-06-05 22:09:04 +00:00
|
|
|
session['config'] = {}
|
|
|
|
yield client
|