diff options
author | Duda Dornelles <ddornell@thoughtworks.com> | 2014-12-04 17:09:58 -0200 |
---|---|---|
committer | Duda Dornelles <ddornell@thoughtworks.com> | 2014-12-04 17:10:57 -0200 |
commit | 796cdf7cfcf5a010503531ccce02de9192e1d9e1 (patch) | |
tree | 453daa758379a1edd608834c42ba319c1dd17141 /service | |
parent | bc51867f1cfc13185681b01e2dd8f48f0f7fdeb9 (diff) |
removing unused test and fixing another one
Diffstat (limited to 'service')
-rw-r--r-- | service/pixelated/config/app_factory.py | 14 | ||||
-rw-r--r-- | service/test/unit/config/__init__.py | 0 | ||||
-rw-r--r-- | service/test/unit/config/app_factory_test.py | 21 | ||||
-rw-r--r-- | service/test/unit/search/test_search_query.py | 38 |
4 files changed, 27 insertions, 46 deletions
diff --git a/service/pixelated/config/app_factory.py b/service/pixelated/config/app_factory.py index b8996b54..5b8af75a 100644 --- a/service/pixelated/config/app_factory.py +++ b/service/pixelated/config/app_factory.py @@ -153,7 +153,6 @@ def init_app(app): def create_app(app, args): - if args.sslkey and args.sslcert: listen_with_ssl(app, args) else: @@ -166,17 +165,20 @@ def listen_without_ssl(app, args): reactor.listenTCP(args.port, Site(app.resource()), interface=args.host) -def listen_with_ssl(app, args): - pkey, cert = None, None +def _ssl_options(args): with open(args.sslkey) as keyfile: pkey = crypto.load_privatekey(crypto.FILETYPE_PEM, keyfile.read()) with open(args.sslcert) as certfile: cert = crypto.load_certificate(crypto.FILETYPE_PEM, certfile.read()) + acceptable = ssl.AcceptableCiphers.fromOpenSSLCipherString( + u'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:!RC4:HIGH:!MD5:!aNULL:!EDH') + options = ssl.CertificateOptions(privateKey=pkey, certificate=cert, method=SSL.TLSv1_2_METHOD, + acceptableCiphers=acceptable) + return options - acceptable = ssl.AcceptableCiphers.fromOpenSSLCipherString('ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:!RC4:HIGH:!MD5:!aNULL:!EDH') - options = ssl.CertificateOptions(privateKey=pkey, certificate=cert, method=SSL.TLSv1_2_METHOD, acceptableCiphers=acceptable) - reactor.listenSSL(args.port, Site(app.resource()), options, interface=args.host) +def listen_with_ssl(app, args): + reactor.listenSSL(args.port, Site(app.resource()), _ssl_options(args), interface=args.host) return reactor diff --git a/service/test/unit/config/__init__.py b/service/test/unit/config/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/service/test/unit/config/__init__.py diff --git a/service/test/unit/config/app_factory_test.py b/service/test/unit/config/app_factory_test.py index 5adf3722..29739ab1 100644 --- a/service/test/unit/config/app_factory_test.py +++ b/service/test/unit/config/app_factory_test.py @@ -1,15 +1,32 @@ import unittest from mock import patch, MagicMock, ANY +import pixelated from pixelated.config.app_factory import create_app class AppFactoryTest(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 + @patch('pixelated.config.app_factory.reactor') - def test_that_create_app_binds_to_port(self, reactor_mock): + def test_that_create_app_binds_to_tcp_port_if_no_ssl_options(self, reactor_mock): app_mock = MagicMock() - create_app(app_mock, '127.0.0.1', 12345) + create_app(app_mock, AppFactoryTest.MockConfig(12345, '127.0.0.1')) reactor_mock.listenTCP.assert_called_once_with(12345, ANY, interface='127.0.0.1') + + @patch('pixelated.config.app_factory.reactor') + def test_that_create_app_binds_to_ssl_if_ssl_options(self, reactor_mock): + app_mock = MagicMock() + pixelated.config.app_factory._ssl_options = lambda _: 'options' + + create_app(app_mock, AppFactoryTest.MockConfig(12345, '127.0.0.1', sslkey="sslkey", sslcert="sslcert")) + + reactor_mock.listenSSL.assert_called_once_with(12345, ANY, 'options', interface='127.0.0.1') diff --git a/service/test/unit/search/test_search_query.py b/service/test/unit/search/test_search_query.py deleted file mode 100644 index 179d121a..00000000 --- a/service/test/unit/search/test_search_query.py +++ /dev/null @@ -1,38 +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 unittest - -import pixelated.search_query as search_query - - -class SearchTestCase(unittest.TestCase): - - def test_one_tag(self): - self.assertEquals(search_query.compile(u"in:inbox")["tags"], ["inbox"]) - self.assertEquals(search_query.compile(u"in:trash")["tags"], ["trash"]) - - def test_two_tags_or(self): - self.assertEquals(search_query.compile(u"in:inbox or in:trash")["tags"], ["inbox", "trash"]) - - def test_tag_negate(self): - self.assertEquals(search_query.compile(u"-in:trash")["not_tags"], ["trash"]) - - def test_general_search(self): - self.assertEquals(search_query.compile(u"searching")["general"], "searching") - - def test_tags_with_quotes(self): - self.assertEquals(search_query.compile(u"in:\"inbox\"")["tags"], ["inbox"]) - self.assertEquals(search_query.compile(u"in:'inbox'")["tags"], ["inbox"]) |