commit d798533ff482bd7c1a149d1d38bcc9dfb53da3bc
Author: trygve <tor-...@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 mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits

Reply via email to