From 35a2190b5afebfa7b19d1d86493964cfa95a9d14 Mon Sep 17 00:00:00 2001 From: mickael e Date: Wed, 14 Oct 2020 08:44:56 -0400 Subject: [PATCH 1/2] Update TBB to 10.0.1 --- securedrop/dockerfiles/xenial/python3/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/securedrop/dockerfiles/xenial/python3/Dockerfile b/securedrop/dockerfiles/xenial/python3/Dockerfile index 6fa5d4fe17..32e3b23385 100644 --- a/securedrop/dockerfiles/xenial/python3/Dockerfile +++ b/securedrop/dockerfiles/xenial/python3/Dockerfile @@ -23,7 +23,7 @@ RUN gem install sass -v 3.4.23 # Ideally we'll keep those in sync. ENV FF_VERSION 68.12.0esr ENV GECKODRIVER_VERSION v0.27.0 -ENV TBB_VERSION 9.5.4 +ENV TBB_VERSION 10.0.1 # Import Tor release signing key ENV TOR_RELEASE_KEY_FINGERPRINT "EF6E286DDA85EA2A4BA7DE684E2C6E8793298290" From 18ce067673aa3831dd647964918a4641ff1b39a9 Mon Sep 17 00:00:00 2001 From: Kevin O'Gorman Date: Wed, 14 Oct 2020 15:56:48 -0400 Subject: [PATCH 2/2] updated security level helper and window handle management --- securedrop/tests/functional/functional_test.py | 5 ++--- securedrop/tests/functional/test_source.py | 12 +++++++----- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/securedrop/tests/functional/functional_test.py b/securedrop/tests/functional/functional_test.py index 499c7ad03f..f8e2b02ada 100644 --- a/securedrop/tests/functional/functional_test.py +++ b/securedrop/tests/functional/functional_test.py @@ -101,10 +101,9 @@ def set_tbb_securitylevel(self, level): time.sleep(1) ActionChains(driver).send_keys(Keys.TAB).\ send_keys(Keys.RETURN).perform() - alert = self.wait_for(lambda: driver.switch_to.alert) - alert.send_keys(str(level)) + ActionChains(driver).send_keys(str(level)).\ + send_keys(Keys.RETURN).perform() time.sleep(1) - self.wait_for(lambda: alert.accept()) def create_torbrowser_driver(self): logging.info("Creating TorBrowserDriver") diff --git a/securedrop/tests/functional/test_source.py b/securedrop/tests/functional/test_source.py index aedff01a3f..a1a40a2d2f 100644 --- a/securedrop/tests/functional/test_source.py +++ b/securedrop/tests/functional/test_source.py @@ -69,24 +69,26 @@ def test_duplicate_generate_pages(self): # Generate a codename in Tab A assert len(self.driver.window_handles) == 1 - tab_a = self.driver.current_window_handle self._source_visits_source_homepage() self._source_chooses_to_submit_documents() codename_a = self.get_codename_generate() # Generate a different codename in Tab B - self.driver.execute_script("window.open()") + self.driver.execute_script("window.open('about:blank', '_blank')") tab_b = self.driver.window_handles[1] + assert len(self.driver.window_handles) == 2 self.driver.switch_to.window(tab_b) assert self.driver.current_window_handle == tab_b self._source_visits_source_homepage() self._source_chooses_to_submit_documents() codename_b = self.get_codename_generate() + tab_a = self.driver.window_handles[0] assert tab_a != tab_b assert codename_a != codename_b # Proceed to submit documents in Tab A + assert len(self.driver.window_handles) == 2 self.driver.switch_to.window(tab_a) assert self.driver.current_window_handle == tab_a self._source_continues_to_submit_page() @@ -108,13 +110,12 @@ def test_duplicate_generate_pages(self): assert codename_lookup_b == codename_a self._source_submits_a_message() - def test_duplicate_generate_pages_with_refresh(self): + def test_refreshed_duplicate_generate_pages(self): # Test generation of multiple codenames in different browser tabs, including behavior # of refreshing the codemae in each tab. Ref. issue 4458. # Generate a codename in Tab A assert len(self.driver.window_handles) == 1 - tab_a = self.driver.current_window_handle self._source_visits_source_homepage() self._source_chooses_to_submit_documents() codename_a1 = self.get_codename_generate() @@ -124,7 +125,8 @@ def test_duplicate_generate_pages_with_refresh(self): assert codename_a1 != codename_a2 # Generate a different codename in Tab B - self.driver.execute_script("window.open()") + self.driver.execute_script("window.open('about:blank', '_blank')") + tab_a = self.driver.window_handles[0] tab_b = self.driver.window_handles[1] self.driver.switch_to.window(tab_b) assert self.driver.current_window_handle == tab_b