def test_make_request_invalid_method(self, m_requests, m_sleep):
     """Make a request using an invalid http method."""
     request = testing.DummyRequest({mut.URL_KEY: SAMPLE_URL, 
                                     mut.METHOD_KEY: INVALID_METHOD})
     try:
         mut.make_request(request)
         self.fail("Should have raised KeyError.")
     except KeyError as e:
         self.assertEquals(mut.INVALID_METHOD, e.args[0])
 def test_make_request(self, m_requests, m_sleep):
     """Make a simple request."""
     request = testing.DummyRequest({mut.URL_KEY: SAMPLE_URL})
     m_response, response_dict = self.mock_response()
     m_requests.get.return_value = m_response
     self.assertEqual(response_dict, mut.make_request(request))
     m_requests.get.assert_called_with(url=SAMPLE_URL)
     m_sleep.assert_called_with(mut.SECURITY_SLEEP)
 def test_make_request_method(self, m_requests, m_sleep):
     """Make a request using an alternate http method."""
     request = testing.DummyRequest({mut.URL_KEY: SAMPLE_URL, 
                                     mut.METHOD_KEY: SAMPLE_METHOD})
     m_response, response_dict = self.mock_response()
     m_requests.post.return_value = m_response
     self.assertEqual(response_dict, mut.make_request(request))
     m_requests.post.assert_called_with(url=SAMPLE_URL)
     m_sleep.assert_called_with(mut.SECURITY_SLEEP)
 def test_make_request_headers(self, m_requests, m_sleep):
     """Make a simple request with parameters."""
     request = testing.DummyRequest({mut.URL_KEY: SAMPLE_URL, 
                         mut.HEADERS_KEY: json.dumps(SAMPLE_REQUEST_HEADERS)})
     m_response, response_dict = self.mock_response()
     m_requests.get.return_value = m_response
     self.assertEqual(response_dict, mut.make_request(request))
     m_requests.get.assert_called_with(url=SAMPLE_URL, 
                                       headers=SAMPLE_REQUEST_HEADERS)
     m_sleep.assert_called_with(mut.SECURITY_SLEEP)
 def test_make_request_charset(self, m_requests, m_sleep):
     """Make a request with a specific character set in the response."""
     request = testing.DummyRequest({mut.URL_KEY: SAMPLE_URL})
     m_response, response_dict = self.mock_response(headers=CHARSET_HEADERS,
                                                    body=mock.Mock())
     m_requests.get.return_value = m_response
     m_response.content.decode.return_value = SAMPLE_BODY
     response_dict["body"] = SAMPLE_BODY #Not very elegant, but it's an edge case
     self.assertEqual(response_dict, mut.make_request(request))
     m_requests.get.assert_called_with(url=SAMPLE_URL)
     m_response.content.decode.assert_called_with(CHARSET)
     m_sleep.assert_called_with(mut.SECURITY_SLEEP)
 def test_make_request(self):
     """Do it!"""
     request = testing.DummyRequest(params={"url": SAMPLE_URL})
     
     response = mut.make_request(request)
     status = response["status"]
     headers = response["headers"]
     body = response["body"]
     self.assertEquals(SAMPLE_STATUS, status)
     self.assertEquals(SAMPLE_BODY, body)
     for key, value in SAMPLE_HEADERS.items():
         self.assert_(key in headers)
         self.assertEquals(value, headers[key])