aboutsummaryrefslogtreecommitdiffstats
path: root/tests/hazmat/test_oid.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/hazmat/test_oid.py')
-rw-r--r--tests/hazmat/test_oid.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/hazmat/test_oid.py b/tests/hazmat/test_oid.py
new file mode 100644
index 00000000..d1a34f8e
--- /dev/null
+++ b/tests/hazmat/test_oid.py
@@ -0,0 +1,39 @@
+# This file is dual licensed under the terms of the Apache License, Version
+# 2.0, and the BSD License. See the LICENSE file in the root of this repository
+# for complete details.
+
+from __future__ import absolute_import, division, print_function
+
+import pytest
+
+from cryptography.hazmat._oid import ObjectIdentifier
+
+
+def test_basic_oid():
+ assert ObjectIdentifier('1.2.3.4').dotted_string == '1.2.3.4'
+
+
+def test_oid_constraint():
+ # Too short
+ with pytest.raises(ValueError):
+ ObjectIdentifier('1')
+
+ # First node too big
+ with pytest.raises(ValueError):
+ ObjectIdentifier('3.2.1')
+
+ # Outside range
+ with pytest.raises(ValueError):
+ ObjectIdentifier('1.40')
+ with pytest.raises(ValueError):
+ ObjectIdentifier('0.42')
+
+ # non-decimal oid
+ with pytest.raises(ValueError):
+ ObjectIdentifier('1.2.foo.bar')
+ with pytest.raises(ValueError):
+ ObjectIdentifier('1.2.0xf00.0xba4')
+
+ # negative oid
+ with pytest.raises(ValueError):
+ ObjectIdentifier('1.2.-3.-4')