summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMiguel Jacq <mig@mig5.net>2019-09-09 16:35:05 +1000
committerMiguel Jacq <mig@mig5.net>2019-09-09 16:35:05 +1000
commit90ebc3aab424637dbb75017df6b0204b82d6fe69 (patch)
tree0cbb32ff8726d47fa6ab432fa574d48070b6f5a1 /tests
parent8e238ab2d66c336029a54f54f6d989b46964d448 (diff)
downloadonionshare-90ebc3aab424637dbb75017df6b0204b82d6fe69.tar.gz
onionshare-90ebc3aab424637dbb75017df6b0204b82d6fe69.zip
Fix the discrepancy between SendBaseModeWeb and Web objects' separate cur_history_id attibutes, ensuring that when we call web.error404() we send a new history_id integer for communicating back to the frontend. Add tests for this
Diffstat (limited to 'tests')
-rw-r--r--tests/GuiBaseTest.py4
-rw-r--r--tests/GuiReceiveTest.py9
-rw-r--r--tests/GuiShareTest.py9
-rw-r--r--tests/local_onionshare_receive_mode_clear_all_button_test.py25
-rw-r--r--tests/local_onionshare_share_mode_clear_all_button_test.py26
5 files changed, 73 insertions, 0 deletions
diff --git a/tests/GuiBaseTest.py b/tests/GuiBaseTest.py
index 4f087431..3e82769a 100644
--- a/tests/GuiBaseTest.py
+++ b/tests/GuiBaseTest.py
@@ -285,6 +285,10 @@ class GuiBaseTest(object):
else:
self.assertEqual(self.gui.share_mode.server_status_label.text(), strings._('closing_automatically'))
+ def clear_all_history_items(self, mode, count):
+ if count == 0:
+ QtTest.QTest.mouseClick(mode.history.clear_button, QtCore.Qt.LeftButton)
+ self.assertEquals(len(mode.history.item_list.items.keys()), count)
# Auto-stop timer tests
def set_timeout(self, mode, timeout):
diff --git a/tests/GuiReceiveTest.py b/tests/GuiReceiveTest.py
index ef420ec2..80e05250 100644
--- a/tests/GuiReceiveTest.py
+++ b/tests/GuiReceiveTest.py
@@ -127,3 +127,12 @@ class GuiReceiveTest(GuiBaseTest):
self.autostop_timer_widget_hidden(self.gui.receive_mode)
self.server_timed_out(self.gui.receive_mode, 15000)
self.web_server_is_stopped()
+
+ def run_all_clear_all_button_tests(self, public_mode):
+ """Test the Clear All history button"""
+ self.run_all_receive_mode_setup_tests(public_mode)
+ self.upload_file(public_mode, '/tmp/test.txt', 'test.txt')
+ self.history_widgets_present(self.gui.receive_mode)
+ self.clear_all_history_items(self.gui.receive_mode, 0)
+ self.upload_file(public_mode, '/tmp/test.txt', 'test.txt')
+ self.clear_all_history_items(self.gui.receive_mode, 2)
diff --git a/tests/GuiShareTest.py b/tests/GuiShareTest.py
index 038f052b..6925defa 100644
--- a/tests/GuiShareTest.py
+++ b/tests/GuiShareTest.py
@@ -196,6 +196,15 @@ class GuiShareTest(GuiBaseTest):
self.run_all_share_mode_started_tests(public_mode)
self.run_all_share_mode_download_tests(public_mode, stay_open)
+ def run_all_clear_all_button_tests(self, public_mode, stay_open):
+ """Test the Clear All history button"""
+ self.run_all_share_mode_setup_tests()
+ self.run_all_share_mode_started_tests(public_mode)
+ self.individual_file_is_viewable_or_not(public_mode, stay_open)
+ self.history_widgets_present(self.gui.share_mode)
+ self.clear_all_history_items(self.gui.share_mode, 0)
+ self.individual_file_is_viewable_or_not(public_mode, stay_open)
+ self.clear_all_history_items(self.gui.share_mode, 2)
def run_all_share_mode_individual_file_tests(self, public_mode, stay_open):
"""Tests in share mode when viewing an individual file"""
diff --git a/tests/local_onionshare_receive_mode_clear_all_button_test.py b/tests/local_onionshare_receive_mode_clear_all_button_test.py
new file mode 100644
index 00000000..f93d4fe1
--- /dev/null
+++ b/tests/local_onionshare_receive_mode_clear_all_button_test.py
@@ -0,0 +1,25 @@
+#!/usr/bin/env python3
+import pytest
+import unittest
+
+from .GuiReceiveTest import GuiReceiveTest
+
+class LocalReceiveModeClearAllButtonTest(unittest.TestCase, GuiReceiveTest):
+ @classmethod
+ def setUpClass(cls):
+ test_settings = {
+ }
+ cls.gui = GuiReceiveTest.set_up(test_settings)
+
+ @classmethod
+ def tearDownClass(cls):
+ GuiReceiveTest.tear_down()
+
+ @pytest.mark.gui
+ @pytest.mark.skipif(pytest.__version__ < '2.9', reason="requires newer pytest")
+ def test_gui(self):
+ self.run_all_common_setup_tests()
+ self.run_all_clear_all_button_tests(False)
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/tests/local_onionshare_share_mode_clear_all_button_test.py b/tests/local_onionshare_share_mode_clear_all_button_test.py
new file mode 100644
index 00000000..caed342d
--- /dev/null
+++ b/tests/local_onionshare_share_mode_clear_all_button_test.py
@@ -0,0 +1,26 @@
+#!/usr/bin/env python3
+import pytest
+import unittest
+
+from .GuiShareTest import GuiShareTest
+
+class LocalShareModeClearAllButtonTest(unittest.TestCase, GuiShareTest):
+ @classmethod
+ def setUpClass(cls):
+ test_settings = {
+ "close_after_first_download": False,
+ }
+ cls.gui = GuiShareTest.set_up(test_settings)
+
+ @classmethod
+ def tearDownClass(cls):
+ GuiShareTest.tear_down()
+
+ @pytest.mark.gui
+ @pytest.mark.skipif(pytest.__version__ < '2.9', reason="requires newer pytest")
+ def test_gui(self):
+ self.run_all_common_setup_tests()
+ self.run_all_clear_all_button_tests(False, True)
+
+if __name__ == "__main__":
+ unittest.main()