| # 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") |