Fix reactor-mock for unittest

This commit is contained in:
Griatch 2020-05-16 17:04:55 +02:00
parent d43343a9d1
commit 8ba59665b2

View file

@ -22,6 +22,7 @@ from evennia.utils.test_resources import EvenniaTest
from twisted.conch.telnet import IAC, WILL, DONT, SB, SE, NAWS, DO from twisted.conch.telnet import IAC, WILL, DONT, SB, SE, NAWS, DO
from twisted.test import proto_helpers from twisted.test import proto_helpers
from twisted.trial.unittest import TestCase as TwistedTestCase from twisted.trial.unittest import TestCase as TwistedTestCase
from twisted.internet.base import DelayedCall
from .telnet import TelnetServerFactory, TelnetProtocol from .telnet import TelnetServerFactory, TelnetProtocol
from .portal import PORTAL_SESSIONS from .portal import PORTAL_SESSIONS
@ -226,10 +227,12 @@ class TestTelnet(TwistedTestCase):
self.transport = proto_helpers.StringTransport() self.transport = proto_helpers.StringTransport()
self.addCleanup(factory.sessionhandler.disconnect_all) self.addCleanup(factory.sessionhandler.disconnect_all)
@mock.patch("evennia.server.portal.portalsessionhandler.reactor", new=MagicMock())
def test_mudlet_ttype(self): def test_mudlet_ttype(self):
self.transport.client = ["localhost"] self.transport.client = ["localhost"]
self.transport.setTcpKeepAlive = Mock() self.transport.setTcpKeepAlive = Mock()
d = self.proto.makeConnection(self.transport) d = self.proto.makeConnection(self.transport)
# test suppress_ga # test suppress_ga
self.assertTrue(self.proto.protocol_flags["NOGOAHEAD"]) self.assertTrue(self.proto.protocol_flags["NOGOAHEAD"])
self.proto.dataReceived(IAC + DONT + SUPPRESS_GA) self.proto.dataReceived(IAC + DONT + SUPPRESS_GA)
@ -278,7 +281,7 @@ class TestTelnet(TwistedTestCase):
return d return d
class WebSocket(EvenniaTest): class TestWebSocket(EvenniaTest):
def setUp(self): def setUp(self):
super().setUp() super().setUp()
self.proto = WebSocketClient() self.proto = WebSocketClient()
@ -292,10 +295,12 @@ class WebSocket(EvenniaTest):
self.proto.transport.setTcpKeepAlive = Mock() self.proto.transport.setTcpKeepAlive = Mock()
self.proto.state = MagicMock() self.proto.state = MagicMock()
self.addCleanup(self.proto.factory.sessionhandler.disconnect_all) self.addCleanup(self.proto.factory.sessionhandler.disconnect_all)
DelayedCall.debug = True
def tearDown(self): def tearDown(self):
super().tearDown() super().tearDown()
@mock.patch("evennia.server.portal.portalsessionhandler.reactor", new=MagicMock())
def test_data_in(self): def test_data_in(self):
self.proto.sessionhandler.data_in = MagicMock() self.proto.sessionhandler.data_in = MagicMock()
self.proto.onOpen() self.proto.onOpen()
@ -307,6 +312,7 @@ class WebSocket(EvenniaTest):
self.proto.onMessage(msg, isBinary=False) self.proto.onMessage(msg, isBinary=False)
self.proto.sessionhandler.data_in.assert_called_with(self.proto, text=[[sendStr], {}]) self.proto.sessionhandler.data_in.assert_called_with(self.proto, text=[[sendStr], {}])
@mock.patch("evennia.server.portal.portalsessionhandler.reactor", new=MagicMock())
def test_data_out(self): def test_data_out(self):
self.proto.onOpen() self.proto.onOpen()
self.proto.sendLine = MagicMock() self.proto.sendLine = MagicMock()