summaryrefslogtreecommitdiff
path: root/service/test/unit/bitmask_libraries/test_smtp.py
diff options
context:
space:
mode:
Diffstat (limited to 'service/test/unit/bitmask_libraries/test_smtp.py')
-rw-r--r--service/test/unit/bitmask_libraries/test_smtp.py53
1 files changed, 10 insertions, 43 deletions
diff --git a/service/test/unit/bitmask_libraries/test_smtp.py b/service/test/unit/bitmask_libraries/test_smtp.py
index 182a0786..22b69b9e 100644
--- a/service/test/unit/bitmask_libraries/test_smtp.py
+++ b/service/test/unit/bitmask_libraries/test_smtp.py
@@ -13,29 +13,10 @@
#
# You should have received a copy of the GNU Affero General Public License
# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
-import sys
-
import os
from mock import MagicMock, patch
from test_abstract_leap import AbstractLeapTest
-from pixelated.bitmask_libraries.smtp import LeapSmtp
-from httmock import all_requests, HTTMock, urlmatch
-
-
-@all_requests
-def not_found_mock(url, request):
- sys.stderr.write('url=%s\n' % url.netloc)
- sys.stderr.write('path=%s\n' % url.path)
- return {'status_code': 404,
- 'content': 'foobar'}
-
-
-@urlmatch(netloc='api.some-server.test:4430', path='/1/cert')
-def ca_cert_mock(url, request):
- return {
- "status_code": 200,
- "content": "some content"
- }
+from pixelated.bitmask_libraries.smtp import LeapSmtp, LeapSMTPConfig
class LeapSmtpTest(AbstractLeapTest):
@@ -43,53 +24,39 @@ class LeapSmtpTest(AbstractLeapTest):
def setUp(self):
super(LeapSmtpTest, self).setUp()
- self.provider.fetch_smtp_json.return_value = {
- 'hosts': {
- 'leap-mx': {
- 'hostname': 'smtp.some-sever.test',
- 'port': '1234'
- }
- }
- }
self.config.timeout_in_s = 15
+ self._smtp_config = LeapSMTPConfig('test_user@some-server.test', self._client_cert_path(), 'smtp.some-server.test', 1234)
def _client_cert_path(self):
return os.path.join(self.leap_home, 'providers', 'some-server.test', 'keys', 'client', 'smtp.pem')
@patch('pixelated.bitmask_libraries.smtp.setup_smtp_gateway')
def test_that_start_calls_setup_smtp_gateway(self, gateway_mock):
- self.provider.smtp_info = MagicMock(return_value=('smtp.some-sever.test', 1234))
- self.provider._client_cert_path = MagicMock(return_value=self._client_cert_path())
- smtp = LeapSmtp(self.provider, self.auth, self.keymanager)
+ smtp = LeapSmtp(self._smtp_config, self.keymanager)
port = 500
smtp.local_smtp_port_number = port
gateway_mock.return_value = (None, None)
- with HTTMock(ca_cert_mock, not_found_mock):
- smtp.ensure_running()
+ smtp.ensure_running()
cert_path = self._client_cert_path()
- gateway_mock.assert_called_with(smtp_cert=cert_path, userid='test_user@some-server.test', smtp_port=1234, smtp_key=cert_path, keymanager=self.keymanager, encrypted_only=False, smtp_host='smtp.some-sever.test', port=port)
+ gateway_mock.assert_called_with(smtp_cert=cert_path, userid='test_user@some-server.test', smtp_port=1234, smtp_key=cert_path, keymanager=self.keymanager, encrypted_only=False, smtp_host='smtp.some-server.test', port=port)
def test_that_client_stop_does_nothing_if_not_started(self):
- self.provider.smtp_info = MagicMock(return_value=('smtp.some-sever.test', 1234))
- smtp = LeapSmtp(self.provider, self.auth, self.keymanager)
+ smtp = LeapSmtp(self._smtp_config, self.keymanager)
- with HTTMock(not_found_mock):
- smtp.stop()
+ smtp.stop()
@patch('pixelated.bitmask_libraries.smtp.setup_smtp_gateway')
def test_that_running_smtp_sevice_is_stopped(self, gateway_mock):
- self.provider.smtp_info = MagicMock(return_value=('smtp.some-sever.test', 1234))
- smtp = LeapSmtp(self.provider, self.auth, self.keymanager)
+ smtp = LeapSmtp(self._smtp_config, self.keymanager)
smtp_service = MagicMock()
smtp_port = MagicMock()
gateway_mock.return_value = (smtp_service, smtp_port)
- with HTTMock(ca_cert_mock, not_found_mock):
- smtp.ensure_running()
- smtp.stop()
+ smtp.ensure_running()
+ smtp.stop()
smtp_port.stopListening.assert_called_with()
smtp_service.doStop.assert_called_with()