def test_non200(self, mock_opener, mock_exists, mock_move): ## # Setup mocks ## instance = mock_opener.return_value http_error = IOError("http error", 404, "NOT FOUND", mock.Mock()) instance.retrieve.side_effect = http_error mock_exists.return_value = False ## # Execute ## result = wsgi_handler.do_fallback(self.fallback_servers, self.base_path, self.path_info) # assert that do_fallback did not create the # object and the reason was because of the http_error self.assertEqual((False, (http_error, (self.expected_url, self.output_file))), result) # Ensure the directory tree was not created. self.assertTrue(not os.path.isdir(os.path.dirname(self.output_file)), os.path.dirname(self.output_file)) # Ensure that the URLopener instance was called with the # correct parameters instance.retrieve.assert_called_with(self.expected_url) # Ensure that the move never happend self.assertFalse(mock_move.called)
def test_200(self, mock_opener, mock_exists, mock_move): ## # Setup mocks ## instance = mock_opener.return_value instance.retrieve.return_value = ("/tmp/sometmpfilename", mock.Mock()) mock_exists.return_value = False ## # Execute ## success = wsgi_handler.do_fallback(self.fallback_servers, self.base_path, self.path_info) ## # Test ## self.assertTrue(success) # Ensure that the URLopener instance was called with the # correct parameters instance.retrieve.assert_called_with(self.expected_url) # Ensure the directory tree was created. self.assertTrue(os.path.isdir(os.path.dirname(self.output_file))) # Ensure that shutil.move was called correctly mock_move.assert_called_with("/tmp/sometmpfilename", self.output_file)