summaryrefslogtreecommitdiff
path: root/service/test/unit/test_application.py
diff options
context:
space:
mode:
authorVictor Shyba <victor.shyba@gmail.com>2015-06-13 19:45:11 -0300
committerVictor Shyba <victor.shyba@gmail.com>2015-06-13 19:45:11 -0300
commitff1db7d72d1ee3b3f9de83913bc98cb048bfc207 (patch)
treed7ccc38bdae5619e07236adcceddcdf78dadcad1 /service/test/unit/test_application.py
parente438ad68b23258d56dcebf31e095dafcf8423bce (diff)
[rename] tested app_factory code is now on application module
Diffstat (limited to 'service/test/unit/test_application.py')
-rw-r--r--service/test/unit/test_application.py53
1 files changed, 53 insertions, 0 deletions
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