summaryrefslogtreecommitdiff
path: root/test/test_substription_state.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_substription_state.py')
-rw-r--r--test/test_substription_state.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/test_substription_state.py b/test/test_substription_state.py
new file mode 100644
index 0000000..9718f6a
--- /dev/null
+++ b/test/test_substription_state.py
@@ -0,0 +1,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)