Skip to content

Commit ead06e6

Browse files
committed
add tests
1 parent 6c9f3e0 commit ead06e6

File tree

2 files changed

+57
-0
lines changed

2 files changed

+57
-0
lines changed

sdk/keyvault/azure-keyvault-certificates/azure/keyvault/certificates/_parse_id.py

+8
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,14 @@ def parse_certificate_id(original_id):
1414
:returns: Returns a parsed certificate id
1515
:rtype: ~azure.keyvault.certificates.ParsedId
1616
:raises: ValueError
17+
18+
Example:
19+
.. literalinclude:: ../tests/test_parse_id.py
20+
:start-after: [START parse_certificate_id]
21+
:end-before: [END parse_certificate_id]
22+
:language: python
23+
:caption: Parse a certificate's ID
24+
:dedent: 8
1725
"""
1826
parsed_id = parse_key_vault_identifier(original_id)
1927

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# ------------------------------------
2+
# Copyright (c) Microsoft Corporation.
3+
# Licensed under the MIT License.
4+
# -------------------------------------
5+
import pytest
6+
from azure.keyvault.certificates import parse_certificate_id
7+
8+
def print(*args):
9+
assert all(arg is not None for arg in args)
10+
11+
class TestParseId():
12+
def test_parse_certificate_id_with_version(self):
13+
# [START parse_certificate_id]
14+
original_id = "https://keyvault-name.vault.azure.net/certificates/certificate-name/version"
15+
parsed_certificate_id = parse_certificate_id(original_id)
16+
17+
print(parsed_certificate_id.name)
18+
print(parsed_certificate_id.collection)
19+
print(parsed_certificate_id.vault_url)
20+
print(parsed_certificate_id.version)
21+
print(parsed_certificate_id.original_id)
22+
# [END parse_certificate_id]
23+
24+
def test_parse_certificate_id_with_pending_version(self):
25+
original_id = "https://keyvault-name.vault.azure.net/certificates/certificate-name/pending"
26+
parsed_certificate_id = parse_certificate_id(original_id)
27+
28+
assert parsed_certificate_id.name == "certificate-name"
29+
assert parsed_certificate_id.collection == "certificates"
30+
assert parsed_certificate_id.vault_url == "https://keyvault-name.vault.azure.net"
31+
assert parsed_certificate_id.version == "pending"
32+
assert parsed_certificate_id.original_id == "https://keyvault-name.vault.azure.net/certificates/certificate-name/pending"
33+
34+
def test_parse_deleted_certificate_id(self):
35+
original_id = "https://keyvault-name.vault.azure.net/deletedcertificates/deleted-certificate"
36+
parsed_certificate_id = parse_certificate_id(original_id)
37+
38+
assert parsed_certificate_id.name == "deleted-certificate"
39+
assert parsed_certificate_id.collection == "deletedcertificates"
40+
assert parsed_certificate_id.vault_url == "https://keyvault-name.vault.azure.net"
41+
assert parsed_certificate_id.version == None
42+
assert parsed_certificate_id.original_id == "https://keyvault-name.vault.azure.net/deletedcertificates/deleted-certificate"
43+
44+
def test_parse_certificate_id_with_invalid_collection(self):
45+
original_id = "https://keyvault-name.vault.azure.net/invalidcollection/certificate"
46+
47+
with pytest.raises(ValueError) as excinfo:
48+
parse_certificate_id(original_id)
49+
assert "Collection 'invalidcollection' is not a valid certificate collection" in str(excinfo.value)

0 commit comments

Comments
 (0)