mirror of
https://github.com/craigerl/aprsd.git
synced 2024-12-18 23:55:58 -05:00
Hemna
5f4cf89733
This patch refactors how the recieved message processing happens. We now handle all incoming packets the same. Removed the notification thread to handle the watchlist packets. This is now done with a unified plugins architecture that allows different capabilities via the new plugin structure. All packets sent to us will be sent through all of the plugins. It's the plugins job to decide what to do with that packet or ignore it. Email is no longer a special case for the most part. All email functions have been migrated to the EmailPlugin, including starting the EmailThread, which works in the background to check for new emails and send those to the registered callsign. The EmailPlugin now starts the EmailThread itself. All plugins are now build on the new APRSDPluginBase which has a common set of features. The APRSDPluginBase calls self.setup() upon creation, which allows all plugins to do whatever they want for initiali startup. The EmailPlugin uses setup() to start the EmailThread if email is enabled.
23 lines
575 B
Python
23 lines
575 B
Python
import sys
|
|
import unittest
|
|
|
|
from aprsd.plugins import email
|
|
|
|
|
|
if sys.version_info >= (3, 2):
|
|
from unittest import mock
|
|
else:
|
|
from unittest import mock
|
|
|
|
|
|
class TestMain(unittest.TestCase):
|
|
@mock.patch("aprsd.plugins.email._imap_connect")
|
|
@mock.patch("aprsd.plugins.email._smtp_connect")
|
|
def test_validate_email(self, imap_mock, smtp_mock):
|
|
"""Test to make sure we fail."""
|
|
imap_mock.return_value = None
|
|
smtp_mock.return_value = {"smaiof": "fire"}
|
|
config = mock.MagicMock()
|
|
|
|
email.validate_email_config(config, True)
|