Example #1
0
 def setUp(self):
     self.req = BaseRequest("http://example.com/")
Example #2
0
class BaseRequestTest(unittest.TestCase):

    def setUp(self):
        self.req = BaseRequest("http://example.com/")

    def test_set_data_with_content_type(self):
        self.req.data('{"test":"data"}', "application/json")
        self.assertEqual(self.req.headers["Content-Type"], "application/json") 
        self.assertEqual(self.req._data, '{"test":"data"}')

    def test_set_data_no_content_type(self):
        self.req.data('{"test":"data"}')
        self.assertEqual(self.req.headers, {}) 
        self.assertEqual(self.req._data, '{"test":"data"}')

    def test_set_data_converts_to_post(self):
        self.req.data('{"test":"data"}', "application/json")
        real = self.req._request()
        self.assertEqual(real.get_data(), '{"test":"data"}')
        self.assertEqual(real.get_method(), "POST")
    
    def test_query_parms(self):
        self.req.query("status","test").query("type", "test")
        self.assertEqual(self.req.query_params["status"], "test")
        self.assertEqual(self.req.query_params["type"], "test")
        real = self.req._request()
        self.assertEqual(real.get_full_url(), "http://example.com/?status=test&type=test")

    def test_header(self):
        self.req.header("X-Auth-Token", "sweet-test").header("X-Test", "test")
        self.assertEqual(len(self.req.headers), 2)
        self.assertEqual(self.req.headers["X-Auth-Token"], "sweet-test")
        self.assertEqual(self.req.headers["X-Test"], "test")
        real = self.req._request()
        # headers are capital - lowercase in urllib2
        self.assertEqual(real.get_header("X-test"), "test")
        self.assertTrue(real.get_header("X-auth-token"), "sweet-test")

    def test_content_type(self):
        self.req.content_type("application/xml")
        self.assertEqual(self.req.headers["Content-Type"], "application/xml")