diff --git a/kmip/pie/client.py b/kmip/pie/client.py index b3d8a86..88d168e 100644 --- a/kmip/pie/client.py +++ b/kmip/pie/client.py @@ -1243,12 +1243,15 @@ class ProxyKmipClient(object): CryptographicParameters struct. Returns: + None: if value is None CryptographicParameters: a CryptographicParameters struct Raises: TypeError: if the input argument is invalid """ - if not isinstance(value, dict): + if value is None: + return None + elif not isinstance(value, dict): raise TypeError("Cryptographic parameters must be a dictionary.") cryptographic_parameters = CryptographicParameters( diff --git a/kmip/tests/unit/pie/test_client.py b/kmip/tests/unit/pie/test_client.py index c5aab34..b8f999f 100644 --- a/kmip/tests/unit/pie/test_client.py +++ b/kmip/tests/unit/pie/test_client.py @@ -2600,6 +2600,15 @@ class TestProxyKmipClient(testtools.TestCase): self.assertRaises( ClientConnectionNotOpen, client.locate, *args) + def test_build_cryptographic_parameters_with_none(self): + """ + Test that an empty set of cryptographic parameters is processed + correctly. + """ + client = ProxyKmipClient() + result = client._build_cryptographic_parameters(None) + self.assertEqual(None, result) + def test_build_cryptographic_parameters_invalid(self): """ Test that the right error is raised when attempting to build