http: Make event emitting testable
This commit is contained in:
parent
3fac0cb8de
commit
1ebe1151fc
@ -74,10 +74,14 @@ class HttpFrontend(pykka.ThreadingActor, CoreListener):
|
||||
self.server.stop()
|
||||
|
||||
def on_event(self, name, **data):
|
||||
event = data
|
||||
event['event'] = name
|
||||
message = json.dumps(event, cls=models.ModelJSONEncoder)
|
||||
handlers.WebSocketHandler.broadcast(message)
|
||||
on_event(name, **data)
|
||||
|
||||
|
||||
def on_event(name, **data):
|
||||
event = data
|
||||
event['event'] = name
|
||||
message = json.dumps(event, cls=models.ModelJSONEncoder)
|
||||
handlers.WebSocketHandler.broadcast(message)
|
||||
|
||||
|
||||
class HttpServer(threading.Thread):
|
||||
|
||||
@ -10,20 +10,12 @@ from mopidy.http import actor
|
||||
|
||||
@mock.patch('mopidy.http.handlers.WebSocketHandler.broadcast')
|
||||
class HttpEventsTest(unittest.TestCase):
|
||||
def setUp(self):
|
||||
config = {
|
||||
'http': {
|
||||
'hostname': '127.0.0.1',
|
||||
'port': 6680,
|
||||
'static_dir': None,
|
||||
'zeroconf': '',
|
||||
}
|
||||
}
|
||||
self.http = actor.HttpFrontend(config=config, core=mock.Mock())
|
||||
|
||||
def test_track_playback_paused_is_broadcasted(self, broadcast):
|
||||
broadcast.reset_mock()
|
||||
self.http.on_event('track_playback_paused', foo='bar')
|
||||
|
||||
actor.on_event('track_playback_paused', foo='bar')
|
||||
|
||||
self.assertDictEqual(
|
||||
json.loads(str(broadcast.call_args[0][0])), {
|
||||
'event': 'track_playback_paused',
|
||||
@ -32,7 +24,9 @@ class HttpEventsTest(unittest.TestCase):
|
||||
|
||||
def test_track_playback_resumed_is_broadcasted(self, broadcast):
|
||||
broadcast.reset_mock()
|
||||
self.http.on_event('track_playback_resumed', foo='bar')
|
||||
|
||||
actor.on_event('track_playback_resumed', foo='bar')
|
||||
|
||||
self.assertDictEqual(
|
||||
json.loads(str(broadcast.call_args[0][0])), {
|
||||
'event': 'track_playback_resumed',
|
||||
|
||||
Loading…
Reference in New Issue
Block a user