OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 """Unit tests for rietveld.py.""" | 6 """Unit tests for rietveld.py.""" |
7 | 7 |
8 import httplib | |
9 import logging | 8 import logging |
10 import os | 9 import os |
11 import socket | 10 import socket |
12 import ssl | 11 import ssl |
13 import StringIO | |
14 import sys | 12 import sys |
15 import time | 13 import time |
16 import traceback | 14 import traceback |
17 import unittest | 15 import unittest |
18 import urllib2 | |
19 | 16 |
20 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) | 17 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) |
21 | 18 |
22 from testing_support.patches_data import GIT, RAW | 19 from testing_support.patches_data import GIT, RAW |
23 from testing_support import auto_stub | 20 from testing_support import auto_stub |
24 from third_party import httplib2 | |
25 | 21 |
26 import patch | 22 import patch |
27 import rietveld | 23 import rietveld |
28 | 24 |
29 | 25 |
30 def _api(files): | 26 def _api(files): |
31 """Mock a rietveld api request.""" | 27 """Mock a rietveld api request.""" |
32 return rietveld.json.dumps({'files': files}) | 28 return rietveld.json.dumps({'files': files}) |
33 | 29 |
34 | 30 |
(...skipping 452 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
487 self.rietveld.post('/api/1234', [('key', 'data')]) | 483 self.rietveld.post('/api/1234', [('key', 'data')]) |
488 self.assertNotEqual(self.sleep_time, 0) | 484 self.assertNotEqual(self.sleep_time, 0) |
489 | 485 |
490 def test_socket_connect_timeout_post(self): | 486 def test_socket_connect_timeout_post(self): |
491 self.mock(self.rietveld.rpc_server, 'Send', MockSocketConnectTimeout) | 487 self.mock(self.rietveld.rpc_server, 'Send', MockSocketConnectTimeout) |
492 self.mock(time, 'sleep', self.MockSleep) | 488 self.mock(time, 'sleep', self.MockSleep) |
493 with self.assertRaises(socket.timeout): | 489 with self.assertRaises(socket.timeout): |
494 self.rietveld.post('/api/1234', [('key', 'data')]) | 490 self.rietveld.post('/api/1234', [('key', 'data')]) |
495 self.assertNotEqual(self.sleep_time, 0) | 491 self.assertNotEqual(self.sleep_time, 0) |
496 | 492 |
497 | |
498 class OAuthRpcServerTest(auto_stub.TestCase): | |
499 def setUp(self): | |
500 super(OAuthRpcServerTest, self).setUp() | |
501 self.rpc_server = rietveld.OAuthRpcServer( | |
502 'http://www.example.com', 'foo', 'bar') | |
503 | |
504 def set_mock_response(self, status): | |
505 def MockHttpRequest(*args, **kwargs): | |
506 return (httplib2.Response({'status': status}), 'body') | |
507 self.mock(self.rpc_server._http, 'request', MockHttpRequest) | |
508 | |
509 def test_404(self): | |
510 self.set_mock_response(404) | |
511 with self.assertRaises(urllib2.HTTPError) as ctx: | |
512 self.rpc_server.Send('/foo') | |
513 self.assertEquals(404, ctx.exception.code) | |
514 | |
515 def test_200(self): | |
516 self.set_mock_response(200) | |
517 ret = self.rpc_server.Send('/foo') | |
518 self.assertEquals('body', ret) | |
519 | |
520 | |
521 if __name__ == '__main__': | 493 if __name__ == '__main__': |
522 logging.basicConfig(level=[ | 494 logging.basicConfig(level=[ |
523 logging.ERROR, logging.INFO, logging.DEBUG][min(2, sys.argv.count('-v'))]) | 495 logging.ERROR, logging.INFO, logging.DEBUG][min(2, sys.argv.count('-v'))]) |
524 unittest.main() | 496 unittest.main() |
OLD | NEW |