# Copyright (c) 2014 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.core.attributes import ApplicationData from kmip.core.attributes import ApplicationNamespace from kmip.core.attributes import OperationPolicyName from kmip.core.utils import BytearrayStream class TestNameValue(TestCase): def setUp(self): super(TestNameValue, self).setUp() self.stream = BytearrayStream() def tearDown(self): super(TestNameValue, self).tearDown() def test_write_no_padding(self): self.skip('Not implemented') def test_write_with_padding(self): self.skip('Not implemented') def test_read_no_padding(self): self.skip('Not implemented') def test_read_with_padding(self): self.skip('Not implemented') class TestName(TestCase): def setUp(self): super(TestName, self).setUp() self.stream = BytearrayStream() def tearDown(self): super(TestName, self).tearDown() def test_minimum_write(self): self.skip('Not implemented') def test_maximum_write(self): self.skip('Not implemented') def test_minimum_read(self): self.skip('Not implemented') def test_maximum_read(self): self.skip('Not implemented') class TestOperationPolicyName(TestCase): def setUp(self): super(TestOperationPolicyName, self).setUp() def tearDown(self): super(TestOperationPolicyName, self).tearDown() def _test_operation_policy_name(self, value): opn = OperationPolicyName(value) if value is None: value = '' msg = "expected {0}, received {1}".format(value, opn.value) self.assertEqual(value, opn.value, msg) def test_operation_policy_name(self): self._test_operation_policy_name('test') def test_operation_policy_name_on_none(self): self._test_operation_policy_name(None) class TestApplicationNamespace(TestCase): """ A test suite for the ApplicationNamespace class. Since ApplicationNamespace is a simple wrapper for the TextString primitive, only a few tests pertaining to construction are needed. """ def setUp(self): super(TestApplicationNamespace, self).setUp() def tearDown(self): super(TestApplicationNamespace, self).tearDown() def _test_init(self, value): if (isinstance(value, str)) or (value is None): application_namespace = ApplicationNamespace(value) if value is None: value = '' msg = "expected {0}, observed {1}".format( value, application_namespace.value) self.assertEqual(value, application_namespace.value, msg) else: self.assertRaises(TypeError, ApplicationNamespace, value) def test_init_with_none(self): """ Test that an ApplicationNamespace object can be constructed with no specified value. """ self._test_init(None) def test_init_with_valid(self): """ Test that an ApplicationNamespace object can be constructed with a valid, string-type value. """ self._test_init("valid") def test_init_with_invalid(self): """ Test that a TypeError exception is raised when a non-string value is used to construct an ApplicationNamespace object. """ self._test_init(0) class TestApplicationData(TestCase): """ A test suite for the ApplicationData class. Since ApplicationData is a simple wrapper for the TextString primitive, only a few tests pertaining to construction are needed. """ def setUp(self): super(TestApplicationData, self).setUp() def tearDown(self): super(TestApplicationData, self).tearDown() def _test_init(self, value): if (isinstance(value, str)) or (value is None): application_data = ApplicationData(value) if value is None: value = '' msg = "expected {0}, observed {1}".format( value, application_data.value) self.assertEqual(value, application_data.value, msg) else: self.assertRaises(TypeError, ApplicationData, value) def test_init_with_none(self): """ Test that an ApplicationData object can be constructed with no specified value. """ self._test_init(None) def test_init_with_valid(self): """ Test that an ApplicationData object can be constructed with a valid, string-type value. """ self._test_init("valid") def test_init_with_invalid(self): """ Test that a TypeError exception is raised when a non-string value is used to construct an ApplicationData object. """ self._test_init(0)