fix: EmailManager route calls get_email_users not get_users
Unit Tests / test (push) Successful in 7m27s
Unit Tests / test (push) Successful in 7m27s
The method is named get_email_users in EmailManager; the route was calling the non-existent get_users, causing an AttributeError on every GET /api/email/users request. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+1
-1
@@ -11,7 +11,7 @@ def get_email_users():
|
||||
"""Get email users."""
|
||||
try:
|
||||
from app import email_manager
|
||||
users = email_manager.get_users()
|
||||
users = email_manager.get_email_users()
|
||||
return jsonify(users)
|
||||
except Exception as e:
|
||||
logger.error(f"Error getting email users: {e}")
|
||||
|
||||
@@ -398,7 +398,7 @@ class TestAPIEndpoints(unittest.TestCase):
|
||||
def test_email_endpoints(self, mock_email, mock_sr):
|
||||
mock_sr.get.return_value = {'id': 'email', 'installed': True}
|
||||
# Ensure all relevant mock methods return JSON-serializable values
|
||||
mock_email.get_users.return_value = [{'username': 'user1', 'domain': 'cell', 'email': 'user1@cell'}]
|
||||
mock_email.get_email_users.return_value = [{'username': 'user1', 'domain': 'cell', 'email': 'user1@cell'}]
|
||||
mock_email.create_email_user.return_value = True
|
||||
mock_email.delete_email_user.return_value = True
|
||||
mock_email.get_status.return_value = {'postfix_running': True, 'dovecot_running': True, 'total_users': 1, 'total_size_bytes': 0, 'total_size_mb': 0.0, 'users': [{'username': 'user1', 'domain': 'cell', 'email': 'user1@cell'}]}
|
||||
@@ -409,10 +409,10 @@ class TestAPIEndpoints(unittest.TestCase):
|
||||
response = self.client.get('/api/email/users')
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertIsInstance(json.loads(response.data), list)
|
||||
mock_email.get_users.side_effect = Exception('fail')
|
||||
mock_email.get_email_users.side_effect = Exception('fail')
|
||||
response = self.client.get('/api/email/users')
|
||||
self.assertEqual(response.status_code, 500)
|
||||
mock_email.get_users.side_effect = None
|
||||
mock_email.get_email_users.side_effect = None
|
||||
# /api/email/users (POST)
|
||||
response = self.client.post('/api/email/users', data=json.dumps({'username': 'user1', 'domain': 'cell', 'password': 'pw'}), content_type='application/json')
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
@@ -39,7 +39,7 @@ class TestGetEmailUsers(unittest.TestCase):
|
||||
|
||||
@patch('app.email_manager')
|
||||
def test_get_users_returns_200_with_list(self, mock_em):
|
||||
mock_em.get_users.return_value = [
|
||||
mock_em.get_email_users.return_value = [
|
||||
{'username': 'alice@cell', 'domain': 'cell'},
|
||||
{'username': 'bob@cell', 'domain': 'cell'},
|
||||
]
|
||||
@@ -51,14 +51,14 @@ class TestGetEmailUsers(unittest.TestCase):
|
||||
|
||||
@patch('app.email_manager')
|
||||
def test_get_users_returns_empty_list_when_no_users(self, mock_em):
|
||||
mock_em.get_users.return_value = []
|
||||
mock_em.get_email_users.return_value = []
|
||||
r = self.client.get('/api/email/users')
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertEqual(json.loads(r.data), [])
|
||||
|
||||
@patch('app.email_manager')
|
||||
def test_get_users_returns_500_on_exception(self, mock_em):
|
||||
mock_em.get_users.side_effect = Exception('mailbox unreachable')
|
||||
mock_em.get_email_users.side_effect = Exception('mailbox unreachable')
|
||||
r = self.client.get('/api/email/users')
|
||||
self.assertEqual(r.status_code, 500)
|
||||
self.assertIn('error', json.loads(r.data))
|
||||
|
||||
Reference in New Issue
Block a user