33 lines
1.2 KiB
Python
33 lines
1.2 KiB
Python
import unittest
|
|
import json
|
|
from mock import patch, MagicMock
|
|
from configobj import ConfigObj
|
|
from .. api_client import RequestProvider
|
|
|
|
class TestRequestProvider(unittest.TestCase):
|
|
def setUp(self):
|
|
self.cfg = ConfigObj('api_client.cfg')
|
|
def test_test(self):
|
|
self.assertTrue('api_key' in self.cfg)
|
|
def test_init(self):
|
|
rp = RequestProvider(self.cfg)
|
|
self.assertTrue( len( rp.available_requests() ) > 0 )
|
|
def test_contains(self):
|
|
rp = RequestProvider(self.cfg)
|
|
methods = ['upload_recorded', 'update_media_url', 'list_all_db_files']
|
|
for meth in methods:
|
|
self.assertTrue( meth in rp )
|
|
|
|
def test_notify_webstream_data(self):
|
|
ret = json.dumps( {u'testing' : u'123' } )
|
|
rp = RequestProvider(self.cfg)
|
|
read = MagicMock()
|
|
read.read = MagicMock(return_value=ret)
|
|
with patch('urllib2.urlopen') as mock_method:
|
|
mock_method.return_value = read
|
|
response = rp.notify_webstream_data(media_id=123)
|
|
mock_method.called_once_with(media_id=123)
|
|
self.assertEquals(json.loads(ret), response)
|
|
|
|
if __name__ == '__main__': unittest.main()
|