1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
# pylint: skip-file
from __future__ import absolute_import
import pytest
from kafka.consumer.subscription_state import SubscriptionState
@pytest.mark.parametrize(('topic_name', 'expectation'), [
(0, pytest.raises(TypeError)),
(None, pytest.raises(TypeError)),
('', pytest.raises(ValueError)),
('.', pytest.raises(ValueError)),
('..', pytest.raises(ValueError)),
('a' * 250, pytest.raises(ValueError)),
('abc/123', pytest.raises(ValueError)),
('/abc/123', pytest.raises(ValueError)),
('/abc123', pytest.raises(ValueError)),
('name with space', pytest.raises(ValueError)),
('name*with*stars', pytest.raises(ValueError)),
('name+with+plus', pytest.raises(ValueError)),
])
def test_topic_name_validation(topic_name, expectation):
state = SubscriptionState()
with expectation:
state._ensure_valid_topic_name(topic_name)
|