daphne/channels/tests/test_worker.py
2016-04-30 19:11:08 -07:00

38 lines
1.1 KiB
Python

from __future__ import unicode_literals
from django.test import SimpleTestCase
from channels.worker import Worker
class WorkerTests(SimpleTestCase):
"""
Tests that the router's routing code works correctly.
"""
def test_channel_filters(self):
"""
Tests that the include/exclude logic works
"""
# Include
worker = Worker(None, only_channels=["yes.*", "maybe.*"])
self.assertEqual(
worker.apply_channel_filters(["yes.1", "no.1"]),
["yes.1"],
)
self.assertEqual(
worker.apply_channel_filters(["yes.1", "no.1", "maybe.2", "yes"]),
["yes.1", "maybe.2"],
)
# Exclude
worker = Worker(None, exclude_channels=["no.*", "maybe.*"])
self.assertEqual(
worker.apply_channel_filters(["yes.1", "no.1", "maybe.2", "yes"]),
["yes.1", "yes"],
)
# Both
worker = Worker(None, exclude_channels=["no.*"], only_channels=["yes.*"])
self.assertEqual(
worker.apply_channel_filters(["yes.1", "no.1", "maybe.2", "yes"]),
["yes.1"],
)