def test_server_cookies(self):
        client = WebClient()
        self.assert_(client)
        self.assertEqual(0, len(client.cookies))
        url = self.junit_url+'/foobarcookies'
        response = client.post(url)
        self.assertEqual(200, response.status)
        # server sends three cookies
        self.assertEqual(3, len(client.cookies))

        # then head to a new url
        url = self.junit_url+'/foobarcookiestxt'
        response = client.post(url)
        self.assertEqual(200, response.status)
        self.assertEqual('__g00d____yrcl____3ver__',response.read())
 def test_xhr(self):
     """ Simple XHR test.
     """
     client = WebClient()
     self.assert_(client)
     response = client.post(self.junit_url+'/check_xhr',headers={'xhr': True})
     self.assertEqual(200, response.status)
     self.assertEqual(response.read(), 'true')
 def test_post_redirect(self):
     """ Test POST + redirect.
     """
     client = WebClient()
     self.assert_(client)
     self.assertEqual(0, len(client.cookies))
     url = self.junit_url+'/post_redirect_get'
     response = client.post(url)
     self.assertEqual(200, response.status)
     self.assertEqual(0, len(client.cookies))
     self.assertEqual(
         '/caterpillar/test_bench/junit/redirect_target',
         response.read())
 def test_xhr_post(self):
     """ XHR POST.
     """
     client = WebClient()
     self.assert_(client)
     params = 'foo=bar&msg=test+message'
     response = client.post(self.junit_url+'/xhr_post',params=params,headers={'xhr': True})
     self.assertEqual(200, response.status)
     xml = response.read()
     doc = libxml2.parseDoc(xml)
     for (k,v) in QueryDict(params).items():
         n = doc.xpathEval('//'+k)
         self.assert_(n)
         self.assertEqual(v,n[0].content)
 def test_post_params(self):
     """ Test POST + params.
     """
     client = WebClient()
     self.assert_(client)
     self.assertEqual(0, len(client.cookies))
     url = self.junit_url+'/post_params'
     params = 'foo=bar&baz=xyz'
     response = client.post(url,params=params)
     self.assertEqual(200, response.status)
     self.assertEqual(0, len(client.cookies))
     xml = response.read()
     doc = libxml2.parseDoc(xml)
     for (k,v) in QueryDict(params).items():
         n = doc.xpathEval('//'+k)
         self.assert_(n)
         self.assertEqual(v,n[0].content)
    def test_post_cookies(self):
        """ Test POST redirect + preset cookies.
        """
        client = WebClient()
        self.assert_(client)
        self.assertEqual(0, len(client.cookies))
        url = self.junit_url+'/post_cookies'
        cookies = {'foo': ['foo=bar'], 'baz': ['baz=xyz']}
        client.add_cookies(cookies)

        response = client.post(url)
        self.assertEqual(200, response.status)
        # server adds a third cookie at redirect
        self.assertEqual(3, len(client.cookies))
        xml = response.read()
        doc = libxml2.parseDoc(xml)
        for _c in cookies.values():
            (k,v) = _c[0].split('=')
            n = doc.xpathEval('//'+k)
            self.assert_(n)
            self.assertEqual(v,n[0].content)