aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_interfaces.py
diff options
context:
space:
mode:
authorTerry Chia <terrycwk1994@gmail.com>2016-08-29 20:21:28 +0800
committerAlex Gaynor <alex.gaynor@gmail.com>2016-08-29 08:21:28 -0400
commit3c35ef1ea77acc45aa71b6ad08ebe032e40e2c22 (patch)
tree2a8610359f6459e3ba39dc5dcb6efa88a40f6e64 /tests/test_interfaces.py
parenta2bf0ea1706f501b44b538b9a14270657a1b92de (diff)
downloadcryptography-3c35ef1ea77acc45aa71b6ad08ebe032e40e2c22.tar.gz
cryptography-3c35ef1ea77acc45aa71b6ad08ebe032e40e2c22.tar.bz2
cryptography-3c35ef1ea77acc45aa71b6ad08ebe032e40e2c22.zip
Add a register_interface_if decorator. (#3120)
* Add a register_interface_if decorator. * Add tests. * PEP 8.
Diffstat (limited to 'tests/test_interfaces.py')
-rw-r--r--tests/test_interfaces.py28
1 files changed, 27 insertions, 1 deletions
diff --git a/tests/test_interfaces.py b/tests/test_interfaces.py
index bdb4a94d..97df45a3 100644
--- a/tests/test_interfaces.py
+++ b/tests/test_interfaces.py
@@ -8,7 +8,33 @@ import pytest
import six
-from cryptography.utils import InterfaceNotImplemented, verify_interface
+from cryptography.utils import (
+ InterfaceNotImplemented, register_interface_if, verify_interface
+)
+
+
+def test_register_interface_if_true():
+ @six.add_metaclass(abc.ABCMeta)
+ class SimpleInterface(object):
+ pass
+
+ @register_interface_if(1 == 1, SimpleInterface)
+ class SimpleClass(object):
+ pass
+
+ assert issubclass(SimpleClass, SimpleInterface) is True
+
+
+def test_register_interface_if_false():
+ @six.add_metaclass(abc.ABCMeta)
+ class SimpleInterface(object):
+ pass
+
+ @register_interface_if(1 == 2, SimpleInterface)
+ class SimpleClass(object):
+ pass
+
+ assert issubclass(SimpleClass, SimpleInterface) is False
class TestVerifyInterface(object):