summaryrefslogtreecommitdiff
path: root/test/test_api_object_implementation.py
diff options
context:
space:
mode:
authorTyler Lubeck <tyler@tylerlubeck.com>2019-12-29 15:47:32 -0800
committerDana Powers <dana.powers@gmail.com>2019-12-29 15:47:32 -0800
commite06ea70174e0b114bec8072371a54ae6bcd73da5 (patch)
treeee51abdb3b6667c37993ed17d9271cd3d288f282 /test/test_api_object_implementation.py
parente3362aca8c12a07ebe88575b073c91475585f21d (diff)
downloadkafka-python-e06ea70174e0b114bec8072371a54ae6bcd73da5.tar.gz
Admin protocol updates (#1948)
Diffstat (limited to 'test/test_api_object_implementation.py')
-rw-r--r--test/test_api_object_implementation.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/test_api_object_implementation.py b/test/test_api_object_implementation.py
new file mode 100644
index 0000000..da80f14
--- /dev/null
+++ b/test/test_api_object_implementation.py
@@ -0,0 +1,18 @@
+import abc
+import pytest
+
+from kafka.protocol.api import Request
+from kafka.protocol.api import Response
+
+
+attr_names = [n for n in dir(Request) if isinstance(getattr(Request, n), abc.abstractproperty)]
+@pytest.mark.parametrize('klass', Request.__subclasses__())
+@pytest.mark.parametrize('attr_name', attr_names)
+def test_request_type_conformance(klass, attr_name):
+ assert hasattr(klass, attr_name)
+
+attr_names = [n for n in dir(Response) if isinstance(getattr(Response, n), abc.abstractproperty)]
+@pytest.mark.parametrize('klass', Response.__subclasses__())
+@pytest.mark.parametrize('attr_name', attr_names)
+def test_response_type_conformance(klass, attr_name):
+ assert hasattr(klass, attr_name)