From 7b1af2ede753a63c9f584ccf37691917714e9655 Mon Sep 17 00:00:00 2001 From: Bruno Wagner Date: Mon, 8 Jun 2015 18:27:09 -0300 Subject: Fixed certificates initialization and removed which_api_bundle --- service/test/unit/bitmask_libraries/test_certs.py | 12 +++++------- service/test/unit/bitmask_libraries/test_provider.py | 8 ++++---- 2 files changed, 9 insertions(+), 11 deletions(-) (limited to 'service/test/unit') diff --git a/service/test/unit/bitmask_libraries/test_certs.py b/service/test/unit/bitmask_libraries/test_certs.py index 4a06649d..814f083f 100644 --- a/service/test/unit/bitmask_libraries/test_certs.py +++ b/service/test/unit/bitmask_libraries/test_certs.py @@ -1,6 +1,6 @@ import unittest -from pixelated.bitmask_libraries.certs import which_bootstrap_CA_bundle, which_api_CA_bundle +from pixelated.bitmask_libraries.certs import LeapCertificate from pixelated.bitmask_libraries.config import AUTO_DETECT_CA_BUNDLE from mock import MagicMock, patch @@ -9,27 +9,25 @@ 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): + def test_that_which_bootstrap_cert_bundle_returns_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) - bundle = which_bootstrap_CA_bundle(provider) + bundle = LeapCertificate(provider).auto_detect_bootstrap_ca_bundle() self.assertEqual('/leap/home/providers/test.leap.net/test.leap.net.ca.crt', bundle) - self.assertEqual(str, type(bundle)) @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): + def test_that_which_bundle_returns_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, ca_cert_bundle=None, leap_home='/some/leap/home') provider = MagicMock(server_name=u'test.leap.net', config=config) - bundle = which_api_CA_bundle(provider) + bundle = LeapCertificate(provider).api_ca_bundle() self.assertEqual('/some/leap/home/providers/test.leap.net/keys/client/api.pem', bundle) - self.assertEqual(str, type(bundle)) diff --git a/service/test/unit/bitmask_libraries/test_provider.py b/service/test/unit/bitmask_libraries/test_provider.py index 0771c7cc..5b5c2034 100644 --- a/service/test/unit/bitmask_libraries/test_provider.py +++ b/service/test/unit/bitmask_libraries/test_provider.py @@ -220,11 +220,11 @@ class LeapProviderTest(AbstractLeapTest): session_func = MagicMock(return_value=session) 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.certs.LeapCertificate.auto_detect_bootstrap_ca_bundle', return_value=False): + 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) -- cgit v1.2.3 From 3e902a70b94d31458c159c641720d38152bbb267 Mon Sep 17 00:00:00 2001 From: Bruno Wagner Date: Mon, 8 Jun 2015 18:54:27 -0300 Subject: Moved initialization, fingerprint and cert inside LeapCertificate class --- service/test/unit/bitmask_libraries/test_provider.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'service/test/unit') diff --git a/service/test/unit/bitmask_libraries/test_provider.py b/service/test/unit/bitmask_libraries/test_provider.py index 5b5c2034..49627565 100644 --- a/service/test/unit/bitmask_libraries/test_provider.py +++ b/service/test/unit/bitmask_libraries/test_provider.py @@ -219,7 +219,7 @@ class LeapProviderTest(AbstractLeapTest): session = MagicMock(wraps=requests.session()) session_func = MagicMock(return_value=session) - with patch('pixelated.bitmask_libraries.provider.which_bootstrap_cert_fingerprint', return_value='some fingerprint'): + with patch('pixelated.bitmask_libraries.certs.LeapCertificate.LEAP_FINGERPRINT', return_value='some fingerprint'): with patch('pixelated.bitmask_libraries.provider.requests.session', new=session_func): with patch('pixelated.bitmask_libraries.certs.LeapCertificate.auto_detect_bootstrap_ca_bundle', return_value=False): with HTTMock(provider_json_mock, ca_cert_mock, not_found_mock): -- cgit v1.2.3 From 006d753c391d82baa634f112e5d8d06b61eeaaeb Mon Sep 17 00:00:00 2001 From: Bruno Wagner Date: Mon, 8 Jun 2015 20:34:29 -0300 Subject: Heavy rework on certs, removed most of it, simplified the logic --- service/test/unit/bitmask_libraries/test_certs.py | 30 +++++++++------------- .../test/unit/bitmask_libraries/test_nicknym.py | 21 ++++++++++----- .../test/unit/bitmask_libraries/test_provider.py | 18 +++++++------ 3 files changed, 36 insertions(+), 33 deletions(-) (limited to 'service/test/unit') diff --git a/service/test/unit/bitmask_libraries/test_certs.py b/service/test/unit/bitmask_libraries/test_certs.py index 814f083f..150a1f14 100644 --- a/service/test/unit/bitmask_libraries/test_certs.py +++ b/service/test/unit/bitmask_libraries/test_certs.py @@ -1,33 +1,27 @@ import unittest from pixelated.bitmask_libraries.certs import LeapCertificate -from pixelated.bitmask_libraries.config import AUTO_DETECT_CA_BUNDLE from mock import MagicMock, patch 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_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 test_set_cert_and_fingerprint_sets_cert(self): + LeapCertificate.set_cert_and_fingerprint('some cert', None) - bundle = LeapCertificate(provider).auto_detect_bootstrap_ca_bundle() + self.assertIsNone(LeapCertificate.LEAP_FINGERPRINT) + self.assertEqual('some cert', LeapCertificate.LEAP_CERT) - self.assertEqual('/leap/home/providers/test.leap.net/test.leap.net.ca.crt', bundle) + def test_set_cert_and_fingerprint_sets_fingerprint(self): + LeapCertificate.set_cert_and_fingerprint(None, 'fingerprint') - @patch('pixelated.bitmask_libraries.certs.os.path.isfile') - @patch('pixelated.bitmask_libraries.certs.os.path.isdir') - def test_that_which_bundle_returns_string(self, mock_isdir, mock_isfile): - mock_isfile.return_value = True - mock_isdir.return_value = True + self.assertEqual('fingerprint', LeapCertificate.LEAP_FINGERPRINT) + self.assertFalse(LeapCertificate.LEAP_CERT) - config = MagicMock(bootstrap_ca_cert_bundle=AUTO_DETECT_CA_BUNDLE, ca_cert_bundle=None, leap_home='/some/leap/home') + def test_api_ca_bundle(self): + config = MagicMock(leap_home='/some/leap/home') provider = MagicMock(server_name=u'test.leap.net', config=config) - bundle = LeapCertificate(provider).api_ca_bundle() + cert = LeapCertificate(provider).api_ca_bundle - self.assertEqual('/some/leap/home/providers/test.leap.net/keys/client/api.pem', bundle) + self.assertEqual('/some/leap/home/providers/test.leap.net/keys/client/api.pem', cert) diff --git a/service/test/unit/bitmask_libraries/test_nicknym.py b/service/test/unit/bitmask_libraries/test_nicknym.py index b892c22c..4e683494 100644 --- a/service/test/unit/bitmask_libraries/test_nicknym.py +++ b/service/test/unit/bitmask_libraries/test_nicknym.py @@ -15,16 +15,17 @@ # along with Pixelated. If not, see . 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.api_ca_bundle = '/some/path/to/provider_ca_cert' # when NickNym(self.provider, self.config, @@ -34,10 +35,16 @@ class NickNymTest(AbstractLeapTest): 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): diff --git a/service/test/unit/bitmask_libraries/test_provider.py b/service/test/unit/bitmask_libraries/test_provider.py index 49627565..320fece2 100644 --- a/service/test/unit/bitmask_libraries/test_provider.py +++ b/service/test/unit/bitmask_libraries/test_provider.py @@ -20,6 +20,7 @@ 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 @@ -139,7 +140,8 @@ BOOTSTRAP_CA_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(BOOTSTRAP_CA_CERT, None) def test_provider_fetches_provider_json(self): with HTTMock(provider_json_mock): @@ -195,6 +197,7 @@ class LeapProviderTest(AbstractLeapTest): session = MagicMock(wraps=requests.session()) session_func = MagicMock(return_value=session) get_func = MagicMock(wraps=requests.get) + LeapCertificate.LEAP_CERT = BOOTSTRAP_CA_CERT with patch('pixelated.bitmask_libraries.provider.requests.session', new=session_func): with patch('pixelated.bitmask_libraries.provider.requests.get', new=get_func): @@ -207,24 +210,23 @@ class LeapProviderTest(AbstractLeapTest): def test_that_provider_cert_is_used_to_fetch_soledad_json(self): get_func = MagicMock(wraps=requests.get) + LeapCertificate.api_ca_bundle = CA_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) 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.certs.LeapCertificate.LEAP_FINGERPRINT', return_value='some fingerprint'): - with patch('pixelated.bitmask_libraries.provider.requests.session', new=session_func): - with patch('pixelated.bitmask_libraries.certs.LeapCertificate.auto_detect_bootstrap_ca_bundle', return_value=False): - 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) -- cgit v1.2.3 From 7aafd4eb3d18f23beed012f1f2e6865a2da58b43 Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Tue, 9 Jun 2015 16:05:45 -0300 Subject: Removed triplicated code to concatenate user mail --- service/test/unit/bitmask_libraries/test_nicknym.py | 4 ++-- service/test/unit/bitmask_libraries/test_session.py | 4 ---- 2 files changed, 2 insertions(+), 6 deletions(-) (limited to 'service/test/unit') diff --git a/service/test/unit/bitmask_libraries/test_nicknym.py b/service/test/unit/bitmask_libraries/test_nicknym.py index 4e683494..7e6518b9 100644 --- a/service/test/unit/bitmask_libraries/test_nicknym.py +++ b/service/test/unit/bitmask_libraries/test_nicknym.py @@ -30,7 +30,7 @@ class NickNymTest(AbstractLeapTest): NickNym(self.provider, self.config, self.soledad_session, - self.auth.username, + 'test_user@some-server.test', self.auth.token, self.auth.uuid) @@ -54,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_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) -- cgit v1.2.3 From 031ebd58fd97bebae81e4e17cd7c4a4ed5a493d0 Mon Sep 17 00:00:00 2001 From: Bruno Wagner Date: Wed, 10 Jun 2015 08:56:39 -0300 Subject: Provider web certificate will always be bytestring now, requests complains otherwise --- service/test/unit/bitmask_libraries/test_certs.py | 23 +++++++++++++--------- .../test/unit/bitmask_libraries/test_nicknym.py | 2 +- .../test/unit/bitmask_libraries/test_provider.py | 16 +++++++-------- 3 files changed, 23 insertions(+), 18 deletions(-) (limited to 'service/test/unit') diff --git a/service/test/unit/bitmask_libraries/test_certs.py b/service/test/unit/bitmask_libraries/test_certs.py index 150a1f14..f1e643c4 100644 --- a/service/test/unit/bitmask_libraries/test_certs.py +++ b/service/test/unit/bitmask_libraries/test_certs.py @@ -6,22 +6,27 @@ from mock import MagicMock, patch class CertsTest(unittest.TestCase): + def setUp(self): + config = MagicMock(leap_home='/some/leap/home') + self.provider = MagicMock(server_name=u'test.leap.net', config=config) + def test_set_cert_and_fingerprint_sets_cert(self): LeapCertificate.set_cert_and_fingerprint('some cert', None) - self.assertIsNone(LeapCertificate.LEAP_FINGERPRINT) - self.assertEqual('some cert', LeapCertificate.LEAP_CERT) + certs = LeapCertificate(self.provider) + + self.assertIsNone(certs.LEAP_FINGERPRINT) + self.assertEqual('some cert', certs.provider_web_cert) def test_set_cert_and_fingerprint_sets_fingerprint(self): LeapCertificate.set_cert_and_fingerprint(None, 'fingerprint') - self.assertEqual('fingerprint', LeapCertificate.LEAP_FINGERPRINT) - self.assertFalse(LeapCertificate.LEAP_CERT) + certs = LeapCertificate(self.provider) - def test_api_ca_bundle(self): - config = MagicMock(leap_home='/some/leap/home') - provider = MagicMock(server_name=u'test.leap.net', config=config) + self.assertEqual('fingerprint', LeapCertificate.LEAP_FINGERPRINT) + self.assertFalse(certs.provider_web_cert) - cert = LeapCertificate(provider).api_ca_bundle + 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', 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 7e6518b9..ca3b348d 100644 --- a/service/test/unit/bitmask_libraries/test_nicknym.py +++ b/service/test/unit/bitmask_libraries/test_nicknym.py @@ -25,7 +25,7 @@ class NickNymTest(AbstractLeapTest): @patch('pixelated.bitmask_libraries.nicknym.KeyManager.__init__', return_value=None) def test_that_keymanager_is_created(self, keymanager_init_mock): # given - LeapCertificate.api_ca_bundle = '/some/path/to/provider_ca_cert' + LeapCertificate.provider_api_cert = '/some/path/to/provider_ca_cert' # when NickNym(self.provider, self.config, diff --git a/service/test/unit/bitmask_libraries/test_provider.py b/service/test/unit/bitmask_libraries/test_provider.py index 320fece2..fabf5f87 100644 --- a/service/test/unit/bitmask_libraries/test_provider.py +++ b/service/test/unit/bitmask_libraries/test_provider.py @@ -134,14 +134,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(leap_home='/tmp/foobar') - LeapCertificate.set_cert_and_fingerprint(BOOTSTRAP_CA_CERT, None) + LeapCertificate.set_cert_and_fingerprint(PROVIDER_WEB_CERT, None) def test_provider_fetches_provider_json(self): with HTTMock(provider_json_mock): @@ -197,7 +197,7 @@ class LeapProviderTest(AbstractLeapTest): session = MagicMock(wraps=requests.session()) session_func = MagicMock(return_value=session) get_func = MagicMock(wraps=requests.get) - LeapCertificate.LEAP_CERT = BOOTSTRAP_CA_CERT + 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): @@ -205,18 +205,18 @@ 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.api_ca_bundle = CA_CERT + 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()) -- cgit v1.2.3 From 1f41801a9355ed55e50ca6f54411565a5b11b093 Mon Sep 17 00:00:00 2001 From: rafael lisboa Date: Wed, 10 Jun 2015 17:01:37 -0300 Subject: Fix bug when not passing leap certificate nor fingerprint --- service/test/unit/bitmask_libraries/test_certs.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'service/test/unit') diff --git a/service/test/unit/bitmask_libraries/test_certs.py b/service/test/unit/bitmask_libraries/test_certs.py index f1e643c4..5d447537 100644 --- a/service/test/unit/bitmask_libraries/test_certs.py +++ b/service/test/unit/bitmask_libraries/test_certs.py @@ -1,7 +1,7 @@ import unittest from pixelated.bitmask_libraries.certs import LeapCertificate -from mock import MagicMock, patch +from mock import MagicMock class CertsTest(unittest.TestCase): @@ -26,6 +26,14 @@ class CertsTest(unittest.TestCase): 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 -- cgit v1.2.3 From 5dad86a8b39a4d1012c8fd43d20da75c7ed6f234 Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Thu, 11 Jun 2015 18:44:05 -0300 Subject: Removing lost imports --- service/test/unit/bitmask_libraries/test_provider.py | 1 - service/test/unit/maintenance/test_commands.py | 2 +- service/test/unit/resources/test_keys_resources.py | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) (limited to 'service/test/unit') diff --git a/service/test/unit/bitmask_libraries/test_provider.py b/service/test/unit/bitmask_libraries/test_provider.py index fabf5f87..1fe5a66d 100644 --- a/service/test/unit/bitmask_libraries/test_provider.py +++ b/service/test/unit/bitmask_libraries/test_provider.py @@ -22,7 +22,6 @@ 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 diff --git a/service/test/unit/maintenance/test_commands.py b/service/test/unit/maintenance/test_commands.py index 6f993106..f1bf6e45 100644 --- a/service/test/unit/maintenance/test_commands.py +++ b/service/test/unit/maintenance/test_commands.py @@ -22,7 +22,7 @@ from leap.mail.imap.account import SoledadBackedAccount from leap.mail.imap.fields import WithMsgFields from leap.soledad.client import Soledad from leap.soledad.common.document import SoledadDocument -from mock import MagicMock, ANY +from mock import MagicMock from os.path import join, dirname from twisted.internet import defer, reactor diff --git a/service/test/unit/resources/test_keys_resources.py b/service/test/unit/resources/test_keys_resources.py index fb085cad..be79424b 100644 --- a/service/test/unit/resources/test_keys_resources.py +++ b/service/test/unit/resources/test_keys_resources.py @@ -1,4 +1,3 @@ -import json from mockito import mock, when from leap.keymanager import OpenPGPKey, KeyNotFound from pixelated.resources.keys_resource import KeysResource -- cgit v1.2.3 From 42aa76d8463ffe73d5e22d178f8414cfdbd2730e Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Fri, 12 Jun 2015 15:48:04 -0300 Subject: [refactor] SearchEngine does not need a querier It was used only to retrieve encryption key. This should be done by who is using it. --- service/test/unit/adapter/search/test_search.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'service/test/unit') diff --git a/service/test/unit/adapter/search/test_search.py b/service/test/unit/adapter/search/test_search.py index 491cb2fc..1d9076a2 100644 --- a/service/test/unit/adapter/search/test_search.py +++ b/service/test/unit/adapter/search/test_search.py @@ -16,7 +16,6 @@ import unittest -from mockito import mock, when from pixelated.adapter.search import SearchEngine from tempdir import TempDir from test.support import test_helper @@ -47,10 +46,7 @@ class SearchEngineTest(unittest.TestCase): def test_encoding(self): # given - soledad_querier = mock() - when(soledad_querier).get_index_masterkey().thenReturn(INDEX_KEY) - - se = SearchEngine(soledad_querier, self.agent_home) + se = SearchEngine(INDEX_KEY, self.agent_home) headers = { 'From': 'foo@bar.tld', -- cgit v1.2.3 From e438ad68b23258d56dcebf31e095dafcf8423bce Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Sat, 13 Jun 2015 19:41:01 -0300 Subject: [tests] Enabling 2 skipped tests Adapted to run on current application module --- service/test/unit/config/test_app_factory.py | 44 ++++++++++++++++++---------- 1 file changed, 28 insertions(+), 16 deletions(-) (limited to 'service/test/unit') diff --git a/service/test/unit/config/test_app_factory.py b/service/test/unit/config/test_app_factory.py index a43273c3..b2799d4c 100644 --- a/service/test/unit/config/test_app_factory.py +++ b/service/test/unit/config/test_app_factory.py @@ -4,7 +4,7 @@ from mock import patch, MagicMock, ANY import pixelated -class AppFactoryTest(unittest.TestCase): +class ApplicationTest(unittest.TestCase): class MockConfig: def __init__(self, port, host, sslkey=None, sslcert=None): @@ -14,28 +14,40 @@ class AppFactoryTest(unittest.TestCase): self.sslcert = sslcert self.home = 'leap_home' - @patch('pixelated.config.app_factory.init_app') - @patch('pixelated.config.app_factory.reactor') - @unittest.skip("refactoring startup, need to define a better place to put this") - def test_that_create_app_binds_to_tcp_port_if_no_ssl_options(self, reactor_mock, init_app_mock): + @patch('pixelated.application.reactor') + @patch('pixelated.application.Services') + def test_that_create_app_binds_to_tcp_port_if_no_ssl_options(self, services_mock, reactor_mock): app_mock = MagicMock() leap_session = MagicMock() - config = AppFactoryTest.MockConfig(12345, '127.0.0.1', leap_session) + config = ApplicationTest.MockConfig(12345, '127.0.0.1', leap_session) - create_app(config.home, leap_session, config.host, config.port, config.sslkey, config.sslcert) + d = pixelated.application.start_user_agent(app_mock, config.host, config.port, config.sslkey, config.sslcert, config.home, leap_session) - reactor_mock.listenTCP.assert_called_once_with(12345, ANY, interface='127.0.0.1') + def _assert(_): + services_mock.assert_called_once_with(config.home, leap_session) - @patch('pixelated.config.app_factory.init_app') - @patch('pixelated.config.app_factory.reactor') - @unittest.skip("refactoring startup, need to define a better place to put this") - def test_that_create_app_binds_to_ssl_if_ssl_options(self, reactor_mock, init_app_mock): + reactor_mock.listenTCP.assert_called_once_with(12345, ANY, interface='127.0.0.1') + app_mock.stopListening.assert_called() + + d.addCallback(_assert) + return d + + @patch('pixelated.application.reactor') + @patch('pixelated.application.Services') + def test_that_create_app_binds_to_ssl_if_ssl_options(self, services_mock, reactor_mock): app_mock = MagicMock() leap_session = MagicMock() - pixelated.config.app_factory._ssl_options = lambda x, y: 'options' + pixelated.application._ssl_options = lambda x, y: 'options' + + config = ApplicationTest.MockConfig(12345, '127.0.0.1', sslkey="sslkey", sslcert="sslcert") + + d = pixelated.application.start_user_agent(app_mock, config.host, config.port, config.sslkey, config.sslcert, config.home, leap_session) - config = AppFactoryTest.MockConfig(12345, '127.0.0.1', sslkey="sslkey", sslcert="sslcert") + def _assert(_): + services_mock.assert_called_once_with(config.home, leap_session) - create_app(config.home, leap_session, config.host, config.port, config.sslkey, config.sslcert) + reactor_mock.listenSSL.assert_called_once_with(12345, ANY, 'options', interface='127.0.0.1') + app_mock.stopListening.assert_called() - reactor_mock.listenSSL.assert_called_once_with(12345, ANY, 'options', interface='127.0.0.1') + d.addCallback(_assert) + return d -- cgit v1.2.3 From ff1db7d72d1ee3b3f9de83913bc98cb048bfc207 Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Sat, 13 Jun 2015 19:45:11 -0300 Subject: [rename] tested app_factory code is now on application module --- service/test/unit/config/test_app_factory.py | 53 ---------------------------- service/test/unit/test_application.py | 53 ++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 53 deletions(-) delete mode 100644 service/test/unit/config/test_app_factory.py create mode 100644 service/test/unit/test_application.py (limited to 'service/test/unit') diff --git a/service/test/unit/config/test_app_factory.py b/service/test/unit/config/test_app_factory.py deleted file mode 100644 index b2799d4c..00000000 --- a/service/test/unit/config/test_app_factory.py +++ /dev/null @@ -1,53 +0,0 @@ -import unittest - -from mock import patch, MagicMock, ANY -import pixelated - - -class ApplicationTest(unittest.TestCase): - - class MockConfig: - def __init__(self, port, host, sslkey=None, sslcert=None): - self.port = port - self.host = host - self.sslkey = sslkey - self.sslcert = sslcert - self.home = 'leap_home' - - @patch('pixelated.application.reactor') - @patch('pixelated.application.Services') - def test_that_create_app_binds_to_tcp_port_if_no_ssl_options(self, services_mock, reactor_mock): - app_mock = MagicMock() - leap_session = MagicMock() - config = ApplicationTest.MockConfig(12345, '127.0.0.1', leap_session) - - d = pixelated.application.start_user_agent(app_mock, config.host, config.port, config.sslkey, config.sslcert, config.home, leap_session) - - def _assert(_): - services_mock.assert_called_once_with(config.home, leap_session) - - reactor_mock.listenTCP.assert_called_once_with(12345, ANY, interface='127.0.0.1') - app_mock.stopListening.assert_called() - - d.addCallback(_assert) - return d - - @patch('pixelated.application.reactor') - @patch('pixelated.application.Services') - def test_that_create_app_binds_to_ssl_if_ssl_options(self, services_mock, reactor_mock): - app_mock = MagicMock() - leap_session = MagicMock() - pixelated.application._ssl_options = lambda x, y: 'options' - - config = ApplicationTest.MockConfig(12345, '127.0.0.1', sslkey="sslkey", sslcert="sslcert") - - d = pixelated.application.start_user_agent(app_mock, config.host, config.port, config.sslkey, config.sslcert, config.home, leap_session) - - def _assert(_): - services_mock.assert_called_once_with(config.home, leap_session) - - reactor_mock.listenSSL.assert_called_once_with(12345, ANY, 'options', interface='127.0.0.1') - app_mock.stopListening.assert_called() - - d.addCallback(_assert) - return d diff --git a/service/test/unit/test_application.py b/service/test/unit/test_application.py new file mode 100644 index 00000000..b2799d4c --- /dev/null +++ b/service/test/unit/test_application.py @@ -0,0 +1,53 @@ +import unittest + +from mock import patch, MagicMock, ANY +import pixelated + + +class ApplicationTest(unittest.TestCase): + + class MockConfig: + def __init__(self, port, host, sslkey=None, sslcert=None): + self.port = port + self.host = host + self.sslkey = sslkey + self.sslcert = sslcert + self.home = 'leap_home' + + @patch('pixelated.application.reactor') + @patch('pixelated.application.Services') + def test_that_create_app_binds_to_tcp_port_if_no_ssl_options(self, services_mock, reactor_mock): + app_mock = MagicMock() + leap_session = MagicMock() + config = ApplicationTest.MockConfig(12345, '127.0.0.1', leap_session) + + d = pixelated.application.start_user_agent(app_mock, config.host, config.port, config.sslkey, config.sslcert, config.home, leap_session) + + def _assert(_): + services_mock.assert_called_once_with(config.home, leap_session) + + reactor_mock.listenTCP.assert_called_once_with(12345, ANY, interface='127.0.0.1') + app_mock.stopListening.assert_called() + + d.addCallback(_assert) + return d + + @patch('pixelated.application.reactor') + @patch('pixelated.application.Services') + def test_that_create_app_binds_to_ssl_if_ssl_options(self, services_mock, reactor_mock): + app_mock = MagicMock() + leap_session = MagicMock() + pixelated.application._ssl_options = lambda x, y: 'options' + + config = ApplicationTest.MockConfig(12345, '127.0.0.1', sslkey="sslkey", sslcert="sslcert") + + d = pixelated.application.start_user_agent(app_mock, config.host, config.port, config.sslkey, config.sslcert, config.home, leap_session) + + def _assert(_): + services_mock.assert_called_once_with(config.home, leap_session) + + reactor_mock.listenSSL.assert_called_once_with(12345, ANY, 'options', interface='127.0.0.1') + app_mock.stopListening.assert_called() + + d.addCallback(_assert) + return d -- cgit v1.2.3 From 89c9a1e1836098e2e55a225943d29e6d6474c240 Mon Sep 17 00:00:00 2001 From: Bruno Wagner Date: Thu, 18 Jun 2015 17:07:51 -0300 Subject: SMTP should be getting up properly again The latest changes on the platform caused the user agent to be unable to download the smtp client certificate, receiving a 401 in response. I added the authorization header to the call on the user agent so that is fixed. --- service/test/unit/bitmask_libraries/test_smtp.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'service/test/unit') diff --git a/service/test/unit/bitmask_libraries/test_smtp.py b/service/test/unit/bitmask_libraries/test_smtp.py index 5987415c..535b1e7a 100644 --- a/service/test/unit/bitmask_libraries/test_smtp.py +++ b/service/test/unit/bitmask_libraries/test_smtp.py @@ -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.username, self.auth.session_id, self.auth.token, self.keymanager) port = 500 smtp.local_smtp_port_number = port -- cgit v1.2.3 From ea6e88d0e68309deba304c92d6cae5f31046e8b6 Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Fri, 19 Jun 2015 22:21:47 +0200 Subject: [refactor] Use auth for fewer parameters --- service/test/unit/bitmask_libraries/test_smtp.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'service/test/unit') diff --git a/service/test/unit/bitmask_libraries/test_smtp.py b/service/test/unit/bitmask_libraries/test_smtp.py index 535b1e7a..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.auth.token, 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() -- cgit v1.2.3