summaryrefslogtreecommitdiff
path: root/service/test/bitmask_libraries/smtp_test.py
diff options
context:
space:
mode:
authorDuda Dornelles <ddornell@thoughtworks.com>2014-10-09 12:03:31 +0200
committerDuda Dornelles <ddornell@thoughtworks.com>2014-10-09 12:03:38 +0200
commit0bad14f4b0e6dd5128660d94a436463cbe7dc720 (patch)
tree1c6170b1e29a09360378253da3fa3aeca9433641 /service/test/bitmask_libraries/smtp_test.py
parente605929f9be56f01795fdc904d98cbe3f91984e3 (diff)
Changing tests folder structure
Diffstat (limited to 'service/test/bitmask_libraries/smtp_test.py')
-rw-r--r--service/test/bitmask_libraries/smtp_test.py96
1 files changed, 0 insertions, 96 deletions
diff --git a/service/test/bitmask_libraries/smtp_test.py b/service/test/bitmask_libraries/smtp_test.py
deleted file mode 100644
index 2bb3dcab..00000000
--- a/service/test/bitmask_libraries/smtp_test.py
+++ /dev/null
@@ -1,96 +0,0 @@
-#
-# Copyright (c) 2014 ThoughtWorks, Inc.
-#
-# Pixelated is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Pixelated is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# 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 os
-from mock import MagicMock, patch
-from abstract_leap_test 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"
- }
-
-
-class LeapSmtpTest(AbstractLeapTest):
- keymanager = MagicMock()
-
- def setUp(self):
- self.provider.fetch_smtp_json.return_value = {
- 'hosts': {
- 'leap-mx': {
- 'hostname': 'smtp.some-sever.test',
- 'port': '1234'
- }
- }
- }
- self.config.timeout_in_s = 15
-
- def test_that_client_cert_gets_downloaded(self):
- smtp = LeapSmtp(self.provider, self.keymanager, self.srp_session)
-
- with HTTMock(ca_cert_mock, not_found_mock):
- smtp._download_client_certificates()
-
- path = self._client_cert_path()
- self.assertTrue(os.path.isfile(path))
-
- 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):
- smtp = LeapSmtp(self.provider, self.keymanager, self.srp_session)
- port = 500
- smtp.TWISTED_PORT = port
- gateway_mock.return_value = (None, None)
- with HTTMock(ca_cert_mock, not_found_mock):
- smtp.start()
-
- cert_path = self._client_cert_path()
- gateway_mock.assert_called_with(keymanager=self.keymanager, smtp_cert=cert_path, smtp_key=cert_path, userid='test_user@some-server.test', smtp_port='1234', encrypted_only=False, smtp_host='smtp.some-sever.test', port=port)
-
- def test_that_client_stop_does_nothing_if_not_started(self):
- smtp = LeapSmtp(self.provider, self.keymanager, self.srp_session)
-
- with HTTMock(not_found_mock):
- smtp.stop()
-
- @patch('pixelated.bitmask_libraries.smtp.setup_smtp_gateway')
- def test_that_running_smtp_sevice_is_stopped(self, gateway_mock):
- smtp = LeapSmtp(self.provider, self.keymanager, self.srp_session)
-
- smtp_service = MagicMock()
- smtp_port = MagicMock()
- gateway_mock.return_value = (smtp_service, smtp_port)
-
- with HTTMock(ca_cert_mock, not_found_mock):
- smtp.start()
- smtp.stop()
-
- smtp_port.stopListening.assert_called_with()
- smtp_service.doStop.assert_called_with()