Пример #1
0
def init_events(app):
    if app.config.get("CACHE_TYPE") == "redis":
        app.events_manager = RedisEventManager()
    elif app.config.get("CACHE_TYPE") == "filesystem":
        app.events_manager = EventManager()
    else:
        app.events_manager = EventManager()
Пример #2
0
def init_events(app):
    if app.config.get('CACHE_TYPE') == 'redis':
        app.events_manager = RedisEventManager()
    elif app.config.get('CACHE_TYPE') == 'filesystem':
        app.events_manager = EventManager()
    else:
        app.events_manager = EventManager()
Пример #3
0
def test_event_manager_subscription():
    """Test that EventManager subscribing works"""
    with patch.object(Queue, "get") as fake_queue:
        saved_data = {
            "user_id": None,
            "title": "asdf",
            "content": "asdf",
            "team_id": None,
            "user": None,
            "team": None,
            "date": "2019-01-28T01:20:46.017649+00:00",
            "id": 10,
        }
        saved_event = {"type": "notification", "data": saved_data}

        fake_queue.return_value = saved_event
        event_manager = EventManager()
        events = event_manager.subscribe()
        message = next(events)
        assert isinstance(message, ServerSentEvent)
        assert message.to_dict() == {"data": "", "type": "ping"}
        assert message.__str__().startswith("event:ping")
        assert len(event_manager.clients) == 1

        message = next(events)
        assert isinstance(message, ServerSentEvent)
        assert message.to_dict() == saved_event
        assert message.__str__().startswith("event:notification\ndata:")
        assert len(event_manager.clients) == 1
Пример #4
0
def test_event_manager_publish():
    """Test that EventManager publishing to clients works"""
    saved_data = {
        "user_id": None,
        "title": "asdf",
        "content": "asdf",
        "team_id": None,
        "user": None,
        "team": None,
        "date": "2019-01-28T01:20:46.017649+00:00",
        "id": 10,
    }

    event_manager = EventManager()
    event_manager.clients.append(defaultdict(Queue))
    event_manager.publish(data=saved_data, type="notification", channel="ctf")

    event = event_manager.clients[0]["ctf"].get()
    event = ServerSentEvent(**event)
    assert event.data == saved_data
Пример #5
0
def test_event_manager_publish():
    """Test that EventManager publishing to clients works"""
    saved_data = {
        'user_id': None,
        'title': 'asdf',
        'content': 'asdf',
        'team_id': None,
        'user': None,
        'team': None,
        'date': '2019-01-28T01:20:46.017649+00:00',
        'id': 10
    }

    event_manager = EventManager()
    event_manager.clients.append(defaultdict(Queue))
    event_manager.publish(data=saved_data, type='notification', channel='ctf')

    event = event_manager.clients[0]['ctf'].get()
    event = ServerSentEvent(**event)
    assert event.data == saved_data
Пример #6
0
def test_event_manager_subscription():
    """Test that EventManager subscribing works"""
    with patch.object(Queue, 'get') as fake_queue:
        saved_data = {
            'user_id': None,
            'title': 'asdf',
            'content': 'asdf',
            'team_id': None,
            'user': None,
            'team': None,
            'date': '2019-01-28T01:20:46.017649+00:00',
            'id': 10
        }
        saved_event = {'type': 'notification', 'data': saved_data}

        fake_queue.return_value = saved_event
        event_manager = EventManager()
        for message in event_manager.subscribe():
            assert message.to_dict() == saved_event
            assert message.__str__().startswith('event:notification\ndata:')
            assert len(event_manager.clients) == 1
            break