commit d798533ff482bd7c1a149d1d38bcc9dfb53da3bc Author: trygve tor-dev@lists.torproject.org Date: Fri Aug 8 03:06:18 2014 +0000
Change obfs3 ipv6 integration test to vanilla ipv4; add scramblesuit test.
The ipv6 bridge has been changed to a vanilla ipv4 bridge. I've also added a new test to check for a scramblesuit bridge. Both of these surprised me because they had a different number of fields in each bridge line, but I've adjusted the tests accordingly. --- lib/bridgedb/test/test_https.py | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-)
diff --git a/lib/bridgedb/test/test_https.py b/lib/bridgedb/test/test_https.py index a154856..4ffbe08 100644 --- a/lib/bridgedb/test/test_https.py +++ b/lib/bridgedb/test/test_https.py @@ -114,7 +114,7 @@ class HTTPTests(unittest.TestCase): #print soup.prettify() return soup
- def getBridgeLinesFromSoup(self, soup): + def getBridgeLinesFromSoup(self, soup, fieldsPerBridge): # Now we're looking for something like this in the response: # <div class="bridge-lines"> # obfs2 175.213.252.207:11125 5c6da7d927460317c6ff5420b75c2d0f431f18dd @@ -126,7 +126,7 @@ class HTTPTests(unittest.TestCase): text = bridge_line.text #print("Found bridge-line: %s" % text) items = text.split(' ') - self.assertEquals(len(items), 3, "Expected Pluggale Transport, Bridge and Fingerprint in %s" % str(items)) + self.assertEquals(len(items), fieldsPerBridge, "Expected %d fields in bridge line %s" % (fieldsPerBridge, str(items))) bridges.append(items) return bridges
@@ -137,7 +137,7 @@ class HTTPTests(unittest.TestCase): PT = 'obfs2' soup = self.submitOptions(transport=PT, ipv6=False, captchaResponse=CAPTCHA_RESPONSE)
- bridges = self.getBridgeLinesFromSoup(soup) + bridges = self.getBridgeLinesFromSoup(soup, fieldsPerBridge=3) for pt, bridge, fingerprint in bridges: self.assertEquals(PT, pt)
@@ -148,19 +148,32 @@ class HTTPTests(unittest.TestCase): PT = 'obfs3' soup = self.submitOptions(transport=PT, ipv6=False, captchaResponse=CAPTCHA_RESPONSE)
- bridges = self.getBridgeLinesFromSoup(soup) + bridges = self.getBridgeLinesFromSoup(soup, fieldsPerBridge=3) for pt, bridge, fingerprint in bridges: self.assertEquals(PT, pt)
- def test_get_obfs3_ipv6(self): + def test_get_vanilla_ipv4(self): self.openBrowser() self.goToOptionsPage()
- PT = 'obfs3' - soup = self.submitOptions(transport=PT, ipv6=True, captchaResponse=CAPTCHA_RESPONSE) + PT = '0' + soup = self.submitOptions(transport=PT, ipv6=False, captchaResponse=CAPTCHA_RESPONSE)
- # at the time of writing, this test fails due to lack of ipv6 bridges - bridges = self.getBridgeLinesFromSoup(soup) - for pt, bridge, fingerprint in bridges: + bridges = self.getBridgeLinesFromSoup(soup, fieldsPerBridge=2) + for bridge, fingerprint in bridges: + # TODO: do more interesting checks + self.assertTrue(bridge != None) + + def test_get_scramblesuit_ipv4(self): + self.openBrowser() + self.goToOptionsPage() + + PT = 'scramblesuit' + soup = self.submitOptions(transport=PT, ipv6=False, captchaResponse=CAPTCHA_RESPONSE) + + bridges = self.getBridgeLinesFromSoup(soup, fieldsPerBridge=4) + for pt, bridge, fingerprint, password in bridges: self.assertEquals(PT, pt) + self.assertTrue(password.find("password=") != -1, "Password field missing expected text") +
tor-commits@lists.torproject.org