summaryrefslogtreecommitdiff
path: root/service
diff options
context:
space:
mode:
authorDuda Dornelles <ddornell@thoughtworks.com>2014-12-04 17:09:58 -0200
committerDuda Dornelles <ddornell@thoughtworks.com>2014-12-04 17:10:57 -0200
commit796cdf7cfcf5a010503531ccce02de9192e1d9e1 (patch)
tree453daa758379a1edd608834c42ba319c1dd17141 /service
parentbc51867f1cfc13185681b01e2dd8f48f0f7fdeb9 (diff)
removing unused test and fixing another one
Diffstat (limited to 'service')
-rw-r--r--service/pixelated/config/app_factory.py14
-rw-r--r--service/test/unit/config/__init__.py0
-rw-r--r--service/test/unit/config/app_factory_test.py21
-rw-r--r--service/test/unit/search/test_search_query.py38
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"])