Peter Hamilton fc86e1bef4 Update the object data model to support storing key wrapping data
This change updates the KMIP object model to support explicitly
storing key wrapping data attributes. Key wrapping data is treated
externally as a dictionary and is stored as individual fields in
the back end. Various unit tests have been updated and added to
support these additions.
2017-09-30 16:56:02 -04:00

111 lines
2.6 KiB
Python

# Copyright (c) 2015 The Johns Hopkins University/Applied Physics Laboratory
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from testtools import TestCase
from kmip.pie.objects import Key
class DummyKey(Key):
"""
A dummy Key subclass for testing purposes.
"""
def __init__(self):
"""
Create a DummyKey
"""
super(DummyKey, self).__init__()
def validate(self):
return
def __repr__(self):
return ''
def __str__(self):
return ''
def __eq__(self, other):
return True
def __ne__(self, other):
return False
class TestKey(TestCase):
"""
Test suite for Key.
Since Key is an ABC abstract class, all tests are run against a dummy
subclass defined above, DummyKey.
"""
def setUp(self):
super(TestKey, self).setUp()
def tearDown(self):
super(TestKey, self).tearDown()
def test_init(self):
"""
Test that a complete subclass of Key can be
instantiated.
"""
DummyKey()
def test_repr(self):
"""
Test that repr can be applied to a Key.
"""
dummy = DummyKey()
repr(dummy)
def test_str(self):
"""
Test that str can be applied to a Key.
"""
dummy = DummyKey()
str(dummy)
def test_eq(self):
"""
Test that equality can be applied to a Key.
"""
dummy = DummyKey()
self.assertTrue(dummy == dummy)
def test_ne(self):
"""
Test that inequality can be applied to a Key.
"""
dummy = DummyKey()
self.assertFalse(dummy != dummy)
def test_key_wrapping_data_invalid(self):
"""
Test that the right error is raised when setting the key wrapping
data with an invalid value.
"""
dummy = DummyKey()
args = (dummy, 'key_wrapping_data', 'invalid')
self.assertRaisesRegexp(
TypeError,
"Key wrapping data must be a dictionary.",
setattr,
*args
)