summaryrefslogtreecommitdiff
path: root/service/test/unit/bitmask_libraries
diff options
context:
space:
mode:
authorLeonardo Schäffer <leonardo.schaffer@gmail.com>2015-06-25 11:20:44 -0300
committerLeonardo Schäffer <leonardo.schaffer@gmail.com>2015-06-25 11:20:44 -0300
commit42f31aa607750eb7c00224e7c1c353b27cbd7519 (patch)
tree4bbfae731c8427c526f22bacb9136e5ed3e69d8c /service/test/unit/bitmask_libraries
parent7f349abe67b8e1a71798478f6c26b08773f2d869 (diff)
parent0b179c61043a9854fa23b8fd40fd252864ecd021 (diff)
Merge branch 'master' into floatlabel_for_compose
Diffstat (limited to 'service/test/unit/bitmask_libraries')
-rw-r--r--service/test/unit/bitmask_libraries/test_certs.py51
-rw-r--r--service/test/unit/bitmask_libraries/test_nicknym.py25
-rw-r--r--service/test/unit/bitmask_libraries/test_provider.py29
-rw-r--r--service/test/unit/bitmask_libraries/test_session.py4
-rw-r--r--service/test/unit/bitmask_libraries/test_smtp.py8
5 files changed, 63 insertions, 54 deletions
diff --git a/service/test/unit/bitmask_libraries/test_certs.py b/service/test/unit/bitmask_libraries/test_certs.py
index 4a06649d..5d447537 100644
--- a/service/test/unit/bitmask_libraries/test_certs.py
+++ b/service/test/unit/bitmask_libraries/test_certs.py
@@ -1,35 +1,40 @@
import unittest
-from pixelated.bitmask_libraries.certs import which_bootstrap_CA_bundle, which_api_CA_bundle
-from pixelated.bitmask_libraries.config import AUTO_DETECT_CA_BUNDLE
-from mock import MagicMock, patch
+from pixelated.bitmask_libraries.certs import LeapCertificate
+from mock import MagicMock
class CertsTest(unittest.TestCase):
- @patch('pixelated.bitmask_libraries.certs.os.path.isfile')
- @patch('pixelated.bitmask_libraries.certs.os.path.isdir')
- def test_that_which_bootstrap_cert_bundle_returns_byte_string(self, mock_isdir, mock_isfile):
- mock_isfile.return_value = True
- mock_isdir.return_value = True
- config = MagicMock(bootstrap_ca_cert_bundle=AUTO_DETECT_CA_BUNDLE, leap_home='/leap/home')
- provider = MagicMock(server_name=u'test.leap.net', config=config)
+ def setUp(self):
+ config = MagicMock(leap_home='/some/leap/home')
+ self.provider = MagicMock(server_name=u'test.leap.net', config=config)
- bundle = which_bootstrap_CA_bundle(provider)
+ def test_set_cert_and_fingerprint_sets_cert(self):
+ LeapCertificate.set_cert_and_fingerprint('some cert', None)
- self.assertEqual('/leap/home/providers/test.leap.net/test.leap.net.ca.crt', bundle)
- self.assertEqual(str, type(bundle))
+ certs = LeapCertificate(self.provider)
- @patch('pixelated.bitmask_libraries.certs.os.path.isfile')
- @patch('pixelated.bitmask_libraries.certs.os.path.isdir')
- def test_that_which_bundle_returns_byte_string(self, mock_isdir, mock_isfile):
- mock_isfile.return_value = True
- mock_isdir.return_value = True
+ self.assertIsNone(certs.LEAP_FINGERPRINT)
+ self.assertEqual('some cert', certs.provider_web_cert)
- config = MagicMock(bootstrap_ca_cert_bundle=AUTO_DETECT_CA_BUNDLE, ca_cert_bundle=None, leap_home='/some/leap/home')
- provider = MagicMock(server_name=u'test.leap.net', config=config)
+ def test_set_cert_and_fingerprint_sets_fingerprint(self):
+ LeapCertificate.set_cert_and_fingerprint(None, 'fingerprint')
- bundle = which_api_CA_bundle(provider)
+ certs = LeapCertificate(self.provider)
- self.assertEqual('/some/leap/home/providers/test.leap.net/keys/client/api.pem', bundle)
- self.assertEqual(str, type(bundle))
+ self.assertEqual('fingerprint', LeapCertificate.LEAP_FINGERPRINT)
+ self.assertFalse(certs.provider_web_cert)
+
+ def test_set_cert_and_fingerprint_when_none_are_passed(self):
+ LeapCertificate.set_cert_and_fingerprint(None, None)
+
+ certs = LeapCertificate(self.provider)
+
+ self.assertIsNone(certs.LEAP_FINGERPRINT)
+ self.assertEqual(True, certs.provider_web_cert)
+
+ def test_provider_api_cert(self):
+ certs = LeapCertificate(self.provider).provider_api_cert
+
+ self.assertEqual('/some/leap/home/providers/test.leap.net/keys/client/api.pem', certs)
diff --git a/service/test/unit/bitmask_libraries/test_nicknym.py b/service/test/unit/bitmask_libraries/test_nicknym.py
index b892c22c..ca3b348d 100644
--- a/service/test/unit/bitmask_libraries/test_nicknym.py
+++ b/service/test/unit/bitmask_libraries/test_nicknym.py
@@ -15,29 +15,36 @@
# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
from mock import patch
+from test_abstract_leap import AbstractLeapTest
from leap.keymanager import openpgp, KeyNotFound
from pixelated.bitmask_libraries.nicknym import NickNym
-from test_abstract_leap import AbstractLeapTest
+from pixelated.bitmask_libraries.certs import LeapCertificate
class NickNymTest(AbstractLeapTest):
@patch('pixelated.bitmask_libraries.nicknym.KeyManager.__init__', return_value=None)
- def test_that_keymanager_is_created(self, init_mock):
+ def test_that_keymanager_is_created(self, keymanager_init_mock):
# given
-
+ LeapCertificate.provider_api_cert = '/some/path/to/provider_ca_cert'
# when
NickNym(self.provider,
self.config,
self.soledad_session,
- self.auth.username,
+ 'test_user@some-server.test',
self.auth.token,
self.auth.uuid)
# then
- init_mock.assert_called_with('test_user@some-server.test', 'https://nicknym.some-server.test:6425/',
- self.soledad, self.auth.token, '/some/path/to/provider_ca_cert',
- 'https://api.some-server.test:4430', '1', self.auth.uuid,
- '/path/to/gpg')
+ keymanager_init_mock.assert_called_with(
+ 'test_user@some-server.test',
+ 'https://nicknym.some-server.test:6425/',
+ self.soledad,
+ self.auth.token,
+ '/some/path/to/provider_ca_cert',
+ 'https://api.some-server.test:4430',
+ '1',
+ self.auth.uuid,
+ '/path/to/gpg')
@patch('pixelated.bitmask_libraries.nicknym.KeyManager')
def test_gen_key(self, keymanager_mock):
@@ -47,7 +54,7 @@ class NickNymTest(AbstractLeapTest):
nicknym = NickNym(self.provider,
self.config,
self.soledad_session,
- self.auth.username,
+ 'test_user@some-server.test',
self.auth.token,
self.auth.uuid)
diff --git a/service/test/unit/bitmask_libraries/test_provider.py b/service/test/unit/bitmask_libraries/test_provider.py
index 0771c7cc..1fe5a66d 100644
--- a/service/test/unit/bitmask_libraries/test_provider.py
+++ b/service/test/unit/bitmask_libraries/test_provider.py
@@ -20,8 +20,8 @@ from httmock import all_requests, HTTMock, urlmatch
from requests import HTTPError
from pixelated.bitmask_libraries.config import LeapConfig
from pixelated.bitmask_libraries.provider import LeapProvider
+from pixelated.bitmask_libraries.certs import LeapCertificate
from test_abstract_leap import AbstractLeapTest
-from requests import Session
import requests
@@ -133,13 +133,14 @@ VeJ6
"""
-CA_CERT = '/tmp/ca.crt'
-BOOTSTRAP_CA_CERT = '/tmp/bootstrap-ca.crt'
+PROVIDER_API_CERT = '/tmp/ca.crt'
+PROVIDER_WEB_CERT = '/tmp/bootstrap-ca.crt'
class LeapProviderTest(AbstractLeapTest):
def setUp(self):
- self.config = LeapConfig(verify_ssl=False, leap_home='/tmp/foobar', bootstrap_ca_cert_bundle=BOOTSTRAP_CA_CERT, ca_cert_bundle=CA_CERT)
+ self.config = LeapConfig(leap_home='/tmp/foobar')
+ LeapCertificate.set_cert_and_fingerprint(PROVIDER_WEB_CERT, None)
def test_provider_fetches_provider_json(self):
with HTTMock(provider_json_mock):
@@ -195,6 +196,7 @@ class LeapProviderTest(AbstractLeapTest):
session = MagicMock(wraps=requests.session())
session_func = MagicMock(return_value=session)
get_func = MagicMock(wraps=requests.get)
+ LeapCertificate.LEAP_CERT = PROVIDER_WEB_CERT
with patch('pixelated.bitmask_libraries.provider.requests.session', new=session_func):
with patch('pixelated.bitmask_libraries.provider.requests.get', new=get_func):
@@ -202,29 +204,28 @@ class LeapProviderTest(AbstractLeapTest):
provider = LeapProvider('some-provider.test', self.config)
provider.fetch_valid_certificate()
- session.get.assert_any_call('https://some-provider.test/ca.crt', verify=BOOTSTRAP_CA_CERT, timeout=15)
- session.get.assert_any_call('https://some-provider.test/provider.json', verify=BOOTSTRAP_CA_CERT, timeout=15)
+ session.get.assert_any_call('https://some-provider.test/ca.crt', verify=PROVIDER_WEB_CERT, timeout=15)
+ session.get.assert_any_call('https://some-provider.test/provider.json', verify=PROVIDER_WEB_CERT, timeout=15)
def test_that_provider_cert_is_used_to_fetch_soledad_json(self):
get_func = MagicMock(wraps=requests.get)
+ LeapCertificate.provider_api_cert = PROVIDER_API_CERT
with patch('pixelated.bitmask_libraries.provider.requests.get', new=get_func):
with HTTMock(provider_json_mock, soledad_json_mock, not_found_mock):
provider = LeapProvider('some-provider.test', self.config)
provider.fetch_soledad_json()
-
- get_func.assert_called_with('https://api.some-provider.test:4430/1/config/soledad-service.json', verify=CA_CERT, timeout=15)
+ get_func.assert_called_with('https://api.some-provider.test:4430/1/config/soledad-service.json', verify=PROVIDER_API_CERT, timeout=15)
def test_that_leap_fingerprint_is_validated(self):
session = MagicMock(wraps=requests.session())
session_func = MagicMock(return_value=session)
+ LeapCertificate.set_cert_and_fingerprint(None, 'some fingerprint')
- with patch('pixelated.bitmask_libraries.provider.which_bootstrap_cert_fingerprint', return_value='some fingerprint'):
- with patch('pixelated.bitmask_libraries.provider.which_bootstrap_CA_bundle', return_value=False):
- with patch('pixelated.bitmask_libraries.provider.requests.session', new=session_func):
- with HTTMock(provider_json_mock, ca_cert_mock, not_found_mock):
- provider = LeapProvider('some-provider.test', self.config)
- provider.fetch_valid_certificate()
+ with patch('pixelated.bitmask_libraries.provider.requests.session', new=session_func):
+ with HTTMock(provider_json_mock, ca_cert_mock, not_found_mock):
+ provider = LeapProvider('some-provider.test', self.config)
+ provider.fetch_valid_certificate()
session.get.assert_any_call('https://some-provider.test/ca.crt', verify=False, timeout=15)
session.mount.assert_called_with('https://', ANY)
diff --git a/service/test/unit/bitmask_libraries/test_session.py b/service/test/unit/bitmask_libraries/test_session.py
index 62330481..0c662ecb 100644
--- a/service/test/unit/bitmask_libraries/test_session.py
+++ b/service/test/unit/bitmask_libraries/test_session.py
@@ -60,10 +60,6 @@ class SessionTest(AbstractLeapTest):
self.soledad_session.sync.assert_called_once_with()
- def test_account_email(self):
- session = self._create_session()
- self.assertEqual('test_user@some-server.test', session.account_email())
-
def _create_session(self):
return LeapSession(self.provider, self.auth, self.soledad_session, self.nicknym, self.soledad_account,
self.mail_fetcher_mock, self.smtp_mock)
diff --git a/service/test/unit/bitmask_libraries/test_smtp.py b/service/test/unit/bitmask_libraries/test_smtp.py
index 5987415c..ec51c56b 100644
--- a/service/test/unit/bitmask_libraries/test_smtp.py
+++ b/service/test/unit/bitmask_libraries/test_smtp.py
@@ -53,7 +53,7 @@ class LeapSmtpTest(AbstractLeapTest):
self.config.timeout_in_s = 15
def test_that_client_cert_gets_downloaded(self):
- smtp = LeapSmtp(self.provider, self.auth.username, self.auth.session_id, self.keymanager)
+ smtp = LeapSmtp(self.provider, self.auth, self.keymanager)
with HTTMock(ca_cert_mock, not_found_mock):
smtp._download_client_certificates()
@@ -66,7 +66,7 @@ class LeapSmtpTest(AbstractLeapTest):
@patch('pixelated.bitmask_libraries.smtp.setup_smtp_gateway')
def test_that_start_calls_setup_smtp_gateway(self, gateway_mock):
- smtp = LeapSmtp(self.provider, self.auth.username, self.auth.session_id, self.keymanager)
+ smtp = LeapSmtp(self.provider, self.auth, self.keymanager)
port = 500
smtp.local_smtp_port_number = port
@@ -78,14 +78,14 @@ class LeapSmtpTest(AbstractLeapTest):
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.auth.username, self.auth.session_id, self.keymanager)
+ smtp = LeapSmtp(self.provider, self.auth, self.keymanager)
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.auth.username, self.auth.session_id, self.keymanager)
+ smtp = LeapSmtp(self.provider, self.auth, self.keymanager)
smtp_service = MagicMock()
smtp_port = MagicMock()