summaryrefslogtreecommitdiff
path: root/service/test/unit/config
diff options
context:
space:
mode:
authorDuda Dornelles <dudassdornelles@gmail.com>2015-01-27 16:08:03 -0200
committerPixpoa pairing <pixpoapairing@pixelated-project.org>2015-01-27 16:08:03 -0200
commit26b85d8e523f2b6aafbe18132efcd617ae892228 (patch)
tree0dbdf0cef276aef577d028391543e3f3c5354160 /service/test/unit/config
parent4713741e6cbd9ad7fe20925120f6e25bc6b538e7 (diff)
#237 #232 #196 syncing user data once before starting the UA. Displaying a loading screen in the meantime. The initial sync will make sure the user has a single key pair
Diffstat (limited to 'service/test/unit/config')
-rw-r--r--service/test/unit/config/test_app_factory.py13
-rw-r--r--service/test/unit/config/test_dispatcher.py59
2 files changed, 68 insertions, 4 deletions
diff --git a/service/test/unit/config/test_app_factory.py b/service/test/unit/config/test_app_factory.py
index a42c7c83..b09ffd4c 100644
--- a/service/test/unit/config/test_app_factory.py
+++ b/service/test/unit/config/test_app_factory.py
@@ -13,20 +13,25 @@ class AppFactoryTest(unittest.TestCase):
self.host = host
self.sslkey = sslkey
self.sslcert = sslcert
+ self.home = 'leap_home'
+ @patch('pixelated.config.app_factory.init_app')
@patch('pixelated.config.app_factory.reactor')
- def test_that_create_app_binds_to_tcp_port_if_no_ssl_options(self, reactor_mock):
+ def test_that_create_app_binds_to_tcp_port_if_no_ssl_options(self, reactor_mock, init_app_mock):
app_mock = MagicMock()
+ leap_session = MagicMock()
- create_app(app_mock, AppFactoryTest.MockConfig(12345, '127.0.0.1'))
+ create_app(app_mock, AppFactoryTest.MockConfig(12345, '127.0.0.1'), leap_session)
reactor_mock.listenTCP.assert_called_once_with(12345, ANY, interface='127.0.0.1')
+ @patch('pixelated.config.app_factory.init_app')
@patch('pixelated.config.app_factory.reactor')
- def test_that_create_app_binds_to_ssl_if_ssl_options(self, reactor_mock):
+ def test_that_create_app_binds_to_ssl_if_ssl_options(self, reactor_mock, init_app_mock):
app_mock = MagicMock()
+ leap_session = MagicMock()
pixelated.config.app_factory._ssl_options = lambda _: 'options'
- create_app(app_mock, AppFactoryTest.MockConfig(12345, '127.0.0.1', sslkey="sslkey", sslcert="sslcert"))
+ create_app(app_mock, AppFactoryTest.MockConfig(12345, '127.0.0.1', sslkey="sslkey", sslcert="sslcert"), leap_session)
reactor_mock.listenSSL.assert_called_once_with(12345, ANY, 'options', interface='127.0.0.1')
diff --git a/service/test/unit/config/test_dispatcher.py b/service/test/unit/config/test_dispatcher.py
new file mode 100644
index 00000000..ad85a63c
--- /dev/null
+++ b/service/test/unit/config/test_dispatcher.py
@@ -0,0 +1,59 @@
+import json
+import unittest
+import thread
+import sys
+from mockito import mock, when
+import os
+from pixelated.config import App
+from pixelated.config.args import parse as parse_args
+
+from pixelated.config.dispatcher import config_dispatcher
+
+
+class TestConfigDispatcher(unittest.TestCase):
+
+ def setUp(self):
+ self.app = App()
+ self.test_data = {'leap_provider_hostname': 'test_provider', 'user': 'test_user', 'password': 'test_password'}
+
+ def test_that_organization_switch_reads_the_credentials_from_pipe(self):
+ fifo_path = '/tmp/credentials-pipe'
+
+ sys.argv = ['tmp/does_not_exist', '--dispatcher', fifo_path]
+ args = parse_args()
+
+ self._mkfifo(fifo_path)
+
+ config_dispatcher(self.app, args)
+
+ self.assertEquals('test_provider', self.app['LEAP_SERVER_NAME'])
+ self.assertEquals('test_user', self.app['LEAP_USERNAME'])
+ self.assertEquals('test_password', self.app['LEAP_PASSWORD'])
+
+ def test_that_organization_switch_reads_the_credentials_from_stdin(self):
+ data = json.dumps({'leap_provider_hostname': 'test_provider', 'user': 'test_user', 'password': 'test_password'})
+ orig_stdin = sys.stdin
+ sys.stdin = mock()
+ when(sys.stdin).read().thenReturn(data)
+
+ try:
+ sys.argv = ['tmp/does_not_exist', '--dispatcher-stdin']
+ args = parse_args()
+
+ config_dispatcher(self.app, args)
+
+ self.assertEquals('test_provider', self.app['LEAP_SERVER_NAME'])
+ self.assertEquals('test_user', self.app['LEAP_USERNAME'])
+ self.assertEquals('test_password', self.app['LEAP_PASSWORD'])
+ finally:
+ sys.stdin = orig_stdin
+
+ def _spin_up_fifo(self, test_fifo):
+ with open(test_fifo, 'w') as fifo:
+ fifo.write(json.dumps(self.test_data))
+
+ def _mkfifo(self, fifo_path):
+ if os.path.exists(fifo_path):
+ os.remove(fifo_path)
+ os.mkfifo('/tmp/credentials-pipe')
+ thread.start_new_thread(self._spin_up_fifo, (fifo_path,))