fix up tests

This commit is contained in:
Tim Bentley 2018-03-29 18:22:02 +01:00
parent c6076e1054
commit 127f1dc7fd
2 changed files with 39 additions and 12 deletions

View File

@ -37,11 +37,19 @@ class Server(QtCore.QObject, LogMixin):
self.id = 'OpenLPDual' self.id = 'OpenLPDual'
def is_another_instance_running(self): def is_another_instance_running(self):
"""
Check the see if an other instance is running
:return: True of False
"""
# Is there another instance running? # Is there another instance running?
self.out_socket.connectToServer(self.id) self.out_socket.connectToServer(self.id)
return self.out_socket.waitForConnected() return self.out_socket.waitForConnected()
def post_to_server(self, args): def post_to_server(self, args):
"""
Post the file name to the over instance
:param args: The passed arguments including maybe a file name
"""
if 'OpenLP' in args: if 'OpenLP' in args:
args.remove('OpenLP') args.remove('OpenLP')
# Yes, there is. # Yes, there is.
@ -51,18 +59,20 @@ class Server(QtCore.QObject, LogMixin):
if not self.out_socket.waitForBytesWritten(10): if not self.out_socket.waitForBytesWritten(10):
raise Exception(str(self.out_socket.errorString())) raise Exception(str(self.out_socket.errorString()))
self.out_socket.disconnectFromServer() self.out_socket.disconnectFromServer()
return False
def start_server(self): def start_server(self):
# No, there isn't. """
self.out_socket = None Start the socket server to allow inter app communication
self.out_stream = None :return:
self.in_socket = None """
self.in_stream = None self.out_socket = None
self.server = QtNetwork.QLocalServer() self.out_stream = None
self.server.listen(self._id) self.in_socket = None
self.server.newConnection.connect(self._on_new_connection) self.in_stream = None
return True self.server = QtNetwork.QLocalServer()
self.server.listen(self._id)
self.server.newConnection.connect(self._on_new_connection)
return True
def _on_new_connection(self): def _on_new_connection(self):
""" """
@ -80,7 +90,7 @@ class Server(QtCore.QObject, LogMixin):
def _on_ready_read(self): def _on_ready_read(self):
""" """
Read a record passed to the server and load a service Read a record passed to the server and pass to the service manager to handle
:return: :return:
""" """
msg = self.in_stream.readLine() msg = self.in_stream.readLine()

View File

@ -51,9 +51,26 @@ class TestServer(TestCase, TestMixin):
pass pass
def test_is_another_instance_running(self): def test_is_another_instance_running(self):
"""
Run a test as if this was the first time and no instance is running
"""
# GIVEN: A running Server # GIVEN: A running Server
# WHEN: I ask for it to start # WHEN: I ask for it to start
self.server.is_another_instance_running() value = self.server.is_another_instance_running()
# THEN the following is called # THEN the following is called
self.server.out_socket.waitForConnected.assert_called_once_with() self.server.out_socket.waitForConnected.assert_called_once_with()
self.server.out_socket.connectToServer.assert_called_once_with(self.server.id) self.server.out_socket.connectToServer.assert_called_once_with(self.server.id)
assert isinstance(value, MagicMock)
def test_is_another_instance_running_true(self):
"""
Run a test as if there is another instance running
"""
# GIVEN: A running Server
self.server.out_socket.waitForConnected.return_value = True
# WHEN: I ask for it to start
value = self.server.is_another_instance_running()
# THEN the following is called
self.server.out_socket.waitForConnected.assert_called_once_with()
self.server.out_socket.connectToServer.assert_called_once_with(self.server.id)
assert value is True