116 lines
4.5 KiB
Python
116 lines
4.5 KiB
Python
|
import unittest
|
||
|
from unittest.mock import MagicMock, patch
|
||
|
from EagleEyev3 import EagleEyev3
|
||
|
|
||
|
class TestEagleEyev3(unittest.TestCase):
|
||
|
|
||
|
def setUp(self):
|
||
|
# Create an instance of EagleEyev3 for testing
|
||
|
self.eagle_eye = EagleEyev3()
|
||
|
|
||
|
@patch('EagleEyev3.requests')
|
||
|
def test_login_tokens_success(self, mock_requests):
|
||
|
# Mock the requests.post method to return a successful response
|
||
|
mock_response = MagicMock()
|
||
|
mock_response.status_code = 200
|
||
|
mock_response.json.return_value = {'access_token': 'token', 'refresh_token': 'refresh_token'}
|
||
|
mock_requests.post.return_value = mock_response
|
||
|
|
||
|
result = self.eagle_eye.login_tokens(code='authorization_code', cascade=True)
|
||
|
|
||
|
self.assertTrue(result['success'])
|
||
|
self.assertEqual(result['response_http_status'], 200)
|
||
|
self.assertEqual(result['data']['access_token'], 'token')
|
||
|
self.assertEqual(result['data']['refresh_token'], 'refresh_token')
|
||
|
|
||
|
@patch('EagleEyev3.requests')
|
||
|
def test_login_tokens_failure(self, mock_requests):
|
||
|
# Mock the requests.post method to return an unsuccessful response
|
||
|
mock_response = MagicMock()
|
||
|
mock_response.status_code = 400
|
||
|
mock_response.json.return_value = {}
|
||
|
mock_requests.post.return_value = mock_response
|
||
|
|
||
|
result = self.eagle_eye.login_tokens(code='authorization_code', cascade=True)
|
||
|
|
||
|
self.assertFalse(result['success'])
|
||
|
self.assertEqual(result['response_http_status'], 400)
|
||
|
self.assertEqual(result['data'], {})
|
||
|
|
||
|
@patch('EagleEyev3.requests')
|
||
|
def test_get_base_url_success(self, mock_requests):
|
||
|
# Set access_token for testing
|
||
|
self.eagle_eye.access_token = 'access_token'
|
||
|
|
||
|
# Mock the requests.get method to return a successful response
|
||
|
mock_response = MagicMock()
|
||
|
mock_response.status_code = 200
|
||
|
mock_response.json.return_value = {'httpsBaseUrl': {'hostname': 'base_url'}}
|
||
|
mock_requests.get.return_value = mock_response
|
||
|
|
||
|
result = self.eagle_eye.get_base_url(cascade=True)
|
||
|
|
||
|
self.assertTrue(result['success'])
|
||
|
self.assertEqual(result['response_http_status'], 200)
|
||
|
self.assertEqual(self.eagle_eye.user_base_url, 'base_url')
|
||
|
self.assertIsNotNone(result['data'])
|
||
|
|
||
|
@patch('EagleEyev3.requests')
|
||
|
def test_get_base_url_failure(self, mock_requests):
|
||
|
# Set access_token for testing
|
||
|
self.eagle_eye.access_token = 'access_token'
|
||
|
|
||
|
# Mock the requests.get method to return an unsuccessful response
|
||
|
mock_response = MagicMock()
|
||
|
mock_response.status_code = 400
|
||
|
mock_response.json.return_value = {}
|
||
|
mock_requests.get.return_value = mock_response
|
||
|
|
||
|
result = self.eagle_eye.get_base_url(cascade=True)
|
||
|
|
||
|
self.assertFalse(result['success'])
|
||
|
self.assertEqual(result['response_http_status'], 400)
|
||
|
self.assertEqual(self.eagle_eye.user_base_url, None)
|
||
|
self.assertEqual(result['data'], {})
|
||
|
|
||
|
@patch('EagleEyev3.requests')
|
||
|
def test_get_current_user_success(self, mock_requests):
|
||
|
# Set access_token and user_base_url for testing
|
||
|
self.eagle_eye.access_token = 'access_token'
|
||
|
self.eagle_eye.user_base_url = 'base_url'
|
||
|
|
||
|
# Mock the requests.get method to return a successful response
|
||
|
mock_response = MagicMock()
|
||
|
mock_response.status_code = 200
|
||
|
mock_response.json.return_value = {'user_id': 'user123'}
|
||
|
mock_requests.get.return_value = mock_response
|
||
|
|
||
|
result = self.eagle_eye.get_current_user()
|
||
|
|
||
|
self.assertTrue(result['success'])
|
||
|
self.assertEqual(result['response_http_status'], 200)
|
||
|
self.assertEqual(result['data']['user_id'], 'user123')
|
||
|
|
||
|
@patch('EagleEyev3.requests')
|
||
|
def test_get_current_user_failure(self, mock_requests):
|
||
|
# Set access_token and user_base_url for testing
|
||
|
self.eagle_eye.access_token = 'access_token'
|
||
|
self.eagle_eye.user_base_url = 'base_url'
|
||
|
|
||
|
# Mock the requests.get method to return an unsuccessful response
|
||
|
mock_response = MagicMock()
|
||
|
mock_response.status_code = 400
|
||
|
mock_response.json.return_value = {}
|
||
|
mock_requests.get.return_value = mock_response
|
||
|
|
||
|
result = self.eagle_eye.get_current_user()
|
||
|
|
||
|
self.assertFalse(result['success'])
|
||
|
self.assertEqual(result['response_http_status'], 400)
|
||
|
self.assertEqual(result['data'], {})
|
||
|
|
||
|
# Write similar tests for the remaining methods
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
unittest.main()
|