Esempio n. 1
0
    def test_get_cookie(self):
        """ Cookie and session test.
        """
        client = WebClient()
        self.assert_(client)
        self.assertEqual(0, len(client.cookies))
        session_id = None
        url = self.junit_url+'/session_cookie'

        response = client.get(url)
        self.assertEqual(200, response.status)
        cookies = copy(client.cookies)
        self.assertEqual(1, len(cookies))

        xml = response.read()
        doc = libxml2.parseDoc(xml)
        self.assert_(doc)
        nodes = doc.xpathEval('//id/text()')
        self.assertEqual(1, len(nodes))
        session_id = nodes[0].content
        self.assert_(session_id)

        # GET again and assert that the session remains the same
        xml = doc = nodes = response = client = None
        client = WebClient()
        self.assert_(client)
        self.assertEqual(0, len(client.cookies))
        client.add_cookies(cookies)
        self.assertEqual(1, len(client.cookies))

        response = client.get(url)
        self.assertEqual(200, response.status)
        self.assertEqual(1, len(client.cookies))

        xml = response.read()
        doc = libxml2.parseDoc(xml)
        self.assert_(doc)
        nodes = doc.xpathEval('//id/text()')
        self.assertEqual(1, len(nodes))
        _session_id = nodes[0].content
        self.assert_(_session_id)

        self.assertEqual(session_id,_session_id)
Esempio n. 2
0
    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)