test_requestprovider.py 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. import unittest
  2. import json
  3. from mock import patch, MagicMock
  4. from configobj import ConfigObj
  5. from .. api_client import RequestProvider
  6. class TestRequestProvider(unittest.TestCase):
  7. def setUp(self):
  8. self.cfg = ConfigObj('api_client.cfg')
  9. def test_test(self):
  10. self.assertTrue('api_key' in self.cfg)
  11. def test_init(self):
  12. rp = RequestProvider(self.cfg)
  13. self.assertTrue( len( rp.available_requests() ) > 0 )
  14. def test_contains(self):
  15. rp = RequestProvider(self.cfg)
  16. methods = ['upload_recorded', 'update_media_url', 'list_all_db_files']
  17. for meth in methods:
  18. self.assertTrue( meth in rp )
  19. def test_notify_webstream_data(self):
  20. ret = json.dumps( {u'testing' : u'123' } )
  21. rp = RequestProvider(self.cfg)
  22. read = MagicMock()
  23. read.read = MagicMock(return_value=ret)
  24. with patch('urllib2.urlopen') as mock_method:
  25. mock_method.return_value = read
  26. response = rp.notify_webstream_data(media_id=123)
  27. mock_method.called_once_with(media_id=123)
  28. self.assertEquals(json.loads(ret), response)
  29. if __name__ == '__main__': unittest.main()