mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-05-20 10:34:30 +00:00
tor: Use BaseAppTests for functional tests
Signed-off-by: James Valleroy <jvalleroy@mailbox.org> Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
This commit is contained in:
parent
7b90787be3
commit
520feedaca
@ -17,81 +17,69 @@ _TOR_FEATURE_TO_ELEMENT = {
|
|||||||
pytestmark = [pytest.mark.apps, pytest.mark.tor]
|
pytestmark = [pytest.mark.apps, pytest.mark.tor]
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='module', autouse=True)
|
class TestTorApp(functional.BaseAppTests):
|
||||||
def fixture_background(session_browser):
|
app_name = 'tor'
|
||||||
"""Login and install the app."""
|
has_service = True
|
||||||
functional.login(session_browser)
|
has_web = False
|
||||||
functional.install(session_browser, 'tor')
|
# TODO: Investigate why accessing IPv6 sites through Tor fails in
|
||||||
yield
|
# container.
|
||||||
functional.app_disable(session_browser, 'tor')
|
check_diagnostics = False
|
||||||
|
|
||||||
|
def test_set_tor_relay_configuration(self, session_browser):
|
||||||
|
"""Test setting Tor relay configuration."""
|
||||||
|
functional.app_enable(session_browser, 'tor')
|
||||||
|
_feature_enable(session_browser, 'relay', should_enable=False)
|
||||||
|
_feature_enable(session_browser, 'relay', should_enable=True)
|
||||||
|
_assert_feature_enabled(session_browser, 'relay', enabled=True)
|
||||||
|
assert 'orport' in _get_relay_ports(session_browser)
|
||||||
|
|
||||||
def test_enable_disable(session_browser):
|
def test_set_tor_bridge_relay_configuration(self, session_browser):
|
||||||
"""Test enabling the app."""
|
"""Test setting Tor bridge relay configuration."""
|
||||||
functional.app_disable(session_browser, 'tor')
|
functional.app_enable(session_browser, 'tor')
|
||||||
|
_feature_enable(session_browser, 'bridge-relay', should_enable=False)
|
||||||
|
_feature_enable(session_browser, 'bridge-relay', should_enable=True)
|
||||||
|
_assert_feature_enabled(session_browser, 'bridge-relay', enabled=True)
|
||||||
|
assert 'obfs3' in _get_relay_ports(session_browser)
|
||||||
|
assert 'obfs4' in _get_relay_ports(session_browser)
|
||||||
|
|
||||||
functional.app_enable(session_browser, 'tor')
|
def test_set_tor_hidden_services_configuration(self, session_browser):
|
||||||
assert functional.service_is_running(session_browser, 'tor')
|
"""Test setting Tor hidden services configuration."""
|
||||||
|
functional.app_enable(session_browser, 'tor')
|
||||||
|
_feature_enable(session_browser, 'hidden-services',
|
||||||
|
should_enable=False)
|
||||||
|
_feature_enable(session_browser, 'hidden-services', should_enable=True)
|
||||||
|
_assert_feature_enabled(session_browser, 'hidden-services',
|
||||||
|
enabled=True)
|
||||||
|
_assert_hidden_services(session_browser)
|
||||||
|
|
||||||
functional.app_disable(session_browser, 'tor')
|
def test_set_download_software_packages_over_tor(self, session_browser):
|
||||||
assert functional.service_is_not_running(session_browser, 'tor')
|
"""Test setting download software packages over Tor."""
|
||||||
|
functional.app_enable(session_browser, 'tor')
|
||||||
|
_feature_enable(session_browser, 'software', should_enable=True)
|
||||||
|
_feature_enable(session_browser, 'software', should_enable=False)
|
||||||
|
_assert_feature_enabled(session_browser, 'software', enabled=False)
|
||||||
|
|
||||||
|
# TODO: Test more thoroughly by checking same hidden service is restored
|
||||||
|
# and by actually connecting using Tor.
|
||||||
|
@pytest.mark.backups
|
||||||
|
def test_backup_restore(self, session_browser):
|
||||||
|
"""Test backup and restore of configuration."""
|
||||||
|
functional.app_enable(session_browser, 'tor')
|
||||||
|
_feature_enable(session_browser, 'relay', should_enable=True)
|
||||||
|
_feature_enable(session_browser, 'bridge-relay', should_enable=True)
|
||||||
|
_feature_enable(session_browser, 'hidden-services', should_enable=True)
|
||||||
|
functional.backup_create(session_browser, 'tor', 'test_tor')
|
||||||
|
|
||||||
def test_set_tor_relay_configuration(session_browser):
|
_feature_enable(session_browser, 'relay', should_enable=False)
|
||||||
"""Test setting Tor relay configuration."""
|
_feature_enable(session_browser, 'hidden-services',
|
||||||
functional.app_enable(session_browser, 'tor')
|
should_enable=False)
|
||||||
_feature_enable(session_browser, 'relay', should_enable=False)
|
functional.backup_restore(session_browser, 'tor', 'test_tor')
|
||||||
_feature_enable(session_browser, 'relay', should_enable=True)
|
|
||||||
_assert_feature_enabled(session_browser, 'relay', enabled=True)
|
|
||||||
assert 'orport' in _get_relay_ports(session_browser)
|
|
||||||
|
|
||||||
|
assert functional.service_is_running(session_browser, 'tor')
|
||||||
def test_set_tor_bridge_relay_configuration(session_browser):
|
_assert_feature_enabled(session_browser, 'relay', enabled=True)
|
||||||
"""Test setting Tor bridge relay configuration."""
|
_assert_feature_enabled(session_browser, 'bridge-relay', enabled=True)
|
||||||
functional.app_enable(session_browser, 'tor')
|
_assert_feature_enabled(session_browser, 'hidden-services',
|
||||||
_feature_enable(session_browser, 'bridge-relay', should_enable=False)
|
enabled=True)
|
||||||
_feature_enable(session_browser, 'bridge-relay', should_enable=True)
|
|
||||||
_assert_feature_enabled(session_browser, 'bridge-relay', enabled=True)
|
|
||||||
assert 'obfs3' in _get_relay_ports(session_browser)
|
|
||||||
assert 'obfs4' in _get_relay_ports(session_browser)
|
|
||||||
|
|
||||||
|
|
||||||
def test_set_tor_hidden_services_configuration(session_browser):
|
|
||||||
"""Test setting Tor hidden services configuration."""
|
|
||||||
functional.app_enable(session_browser, 'tor')
|
|
||||||
_feature_enable(session_browser, 'hidden-services', should_enable=False)
|
|
||||||
_feature_enable(session_browser, 'hidden-services', should_enable=True)
|
|
||||||
_assert_feature_enabled(session_browser, 'hidden-services', enabled=True)
|
|
||||||
_assert_hidden_services(session_browser)
|
|
||||||
|
|
||||||
|
|
||||||
def test_set_download_software_packages_over_tor(session_browser):
|
|
||||||
"""Test setting download software packages over Tor."""
|
|
||||||
functional.app_enable(session_browser, 'tor')
|
|
||||||
_feature_enable(session_browser, 'software', should_enable=True)
|
|
||||||
_feature_enable(session_browser, 'software', should_enable=False)
|
|
||||||
_assert_feature_enabled(session_browser, 'software', enabled=False)
|
|
||||||
|
|
||||||
|
|
||||||
# TODO: Test more thoroughly by checking same hidden service is restored and by
|
|
||||||
# actually connecting using Tor.
|
|
||||||
@pytest.mark.backups
|
|
||||||
def test_backup_restore(session_browser):
|
|
||||||
"""Test backup and restore of configuration."""
|
|
||||||
functional.app_enable(session_browser, 'tor')
|
|
||||||
_feature_enable(session_browser, 'relay', should_enable=True)
|
|
||||||
_feature_enable(session_browser, 'bridge-relay', should_enable=True)
|
|
||||||
_feature_enable(session_browser, 'hidden-services', should_enable=True)
|
|
||||||
functional.backup_create(session_browser, 'tor', 'test_tor')
|
|
||||||
|
|
||||||
_feature_enable(session_browser, 'relay', should_enable=False)
|
|
||||||
_feature_enable(session_browser, 'hidden-services', should_enable=False)
|
|
||||||
functional.backup_restore(session_browser, 'tor', 'test_tor')
|
|
||||||
|
|
||||||
assert functional.service_is_running(session_browser, 'tor')
|
|
||||||
_assert_feature_enabled(session_browser, 'relay', enabled=True)
|
|
||||||
_assert_feature_enabled(session_browser, 'bridge-relay', enabled=True)
|
|
||||||
_assert_feature_enabled(session_browser, 'hidden-services', enabled=True)
|
|
||||||
|
|
||||||
|
|
||||||
def _feature_enable(browser, feature, should_enable):
|
def _feature_enable(browser, feature, should_enable):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user