def test__ne(self): name_obj = Name.create(self.stringName1, self.enumNameType) same_name = Name.create(self.stringName1, self.enumNameType) other_name = Name.create(self.stringName2, self.enumNameType) other_type = Name.create(self.stringName1, self.enumNameTypeUri) self.assertFalse(name_obj != same_name) self.assertNotEqual(name_obj, other_name) self.assertNotEqual(name_obj, other_type)
def test__eq(self): name_obj = Name.create(self.stringName1, self.enumNameType) same_name = Name.create(self.stringName1, self.enumNameType) other_name = Name.create(self.stringName2, self.enumNameType) other_type = Name.create(self.stringName1, self.enumNameTypeUri) self.assertTrue(name_obj == same_name) self.assertFalse(name_obj == other_name) self.assertFalse(name_obj == other_type) self.assertFalse(name_obj == 'invalid')
def test__eq(self): name_obj = Name.create(self.stringName1, self.enumNameType) same_name = Name.create(self.stringName1, self.enumNameType) other_name = Name.create(self.stringName2, self.enumNameType) other_type = Name.create(self.stringName1, self.enumNameTypeUri) self.assertTrue(name_obj == same_name) self.assertFalse(name_obj == other_name) self.assertFalse(name_obj == other_type) self.assertFalse(name_obj == 'invalid')
def test_name_create_string_input(self): """ Test the creation of object names with an enum value for the name type """ name_obj = Name.create(self.stringName1, self.enumNameType) self.assertIsInstance(name_obj.name_value, Name.NameValue) self.assertEqual(self.stringName1, name_obj.name_value.value)
def test_name_create_string_input(self): """ Test the creation of object names with an enum value for the name type """ name_obj = Name.create(self.stringName1, self.enumNameType) self.assertIsInstance(name_obj.name_value, Name.NameValue) self.assertEqual(self.stringName1, name_obj.name_value.value)
def _create_name(self, name): if name is not None: name_value = name.name_value name_type = name.name_type return Name.create(name_value, name_type) else: return Name()
def test__str(self): name_obj = Name.create(self.stringName1, self.enumNameType) repr_name = ("Name(type=NameType(value=" "<NameType.UNINTERPRETED_TEXT_STRING: {0}>)," "value=NameValue(value='{1}'))").format( self.enumNameType.value, self.stringName1) self.assertEqual(self.stringName1, str(name_obj)) self.assertEqual(repr_name, repr(name_obj))
def test__str(self): name_obj = Name.create(self.stringName1, self.enumNameType) repr_name = ( "Name(type=NameType(value=" "<NameType.UNINTERPRETED_TEXT_STRING: {0}>)," "value=NameValue(value='{1}'))" ).format(self.enumNameType.value, self.stringName1) self.assertEqual(self.stringName1, str(name_obj)) self.assertEqual(repr_name, repr(name_obj))
def get_id(client, credential, name): key_id = None if client: attr_name = Attribute.AttributeName('Name') name_value = Name.NameValue(name) name_type = Name.NameType(NameType.UNINTERPRETED_TEXT_STRING) value = Name.create(name_value=name_value, name_type=name_type) nameattr = Attribute(attribute_name=attr_name, attribute_value=value) attrs = [nameattr] result = client.locate(attributes=attrs, credential=credential) if result and result.result_status.enum == ResultStatus.SUCCESS: key_id = ','.join([u.value for u in result.uuids]) return key_id
def test_locate(self): self._create() name_value = Name.NameValue(value='TESTNAME') name_type = Name.NameType(value=NameType.UNINTERPRETED_TEXT_STRING) value = Name.create(name_value, name_type) attr_factory = AttributeFactory() nameattr = attr_factory.create_attribute(AttributeType.NAME, value) attrs = [nameattr] res = self.kmip.locate(attributes=attrs) self.assertEqual(ResultStatus.OPERATION_FAILED, res.result_status.enum, 'locate result status did not return success')
def _get_attrs(self): attr_factory = AttributeFactory() algorithm = self._get_alg_attr(self.algorithm_name) length = self._get_length_attr(self.key_length) attribute_type = AttributeType.CRYPTOGRAPHIC_USAGE_MASK mask_flags = [CryptoUsageMaskEnum.ENCRYPT, CryptoUsageMaskEnum.DECRYPT] usage_mask = attr_factory.create_attribute(attribute_type, mask_flags) name_value = Name.NameValue(value='TESTNAME') name_type = Name.NameType(value=NameType.UNINTERPRETED_TEXT_STRING) value = Name.create(name_value, name_type) nameattr = attr_factory.create_attribute(AttributeType.NAME, value) return [algorithm, usage_mask, length, nameattr]
def _get_attrs(self): attr_factory = AttributeFactory() algorithm = self._get_alg_attr(self.algorithm_name) length = self._get_length_attr(self.key_length) attribute_type = AttributeType.CRYPTOGRAPHIC_USAGE_MASK mask_flags = [CryptoUsageMaskEnum.ENCRYPT, CryptoUsageMaskEnum.DECRYPT] usage_mask = attr_factory.create_attribute(attribute_type, mask_flags) name_value = Name.NameValue(value='TESTNAME') name_type = Name.NameType(value=NameType.UNINTERPRETED_TEXT_STRING) value = Name.create(name_value, name_type) nameattr = attr_factory.create_attribute(AttributeType.NAME, value) return [algorithm, usage_mask, length, nameattr]
def test_locate(self): self._create() name_value = Name.NameValue(value='TESTNAME') name_type = Name.NameType(value=NameType.UNINTERPRETED_TEXT_STRING) value = Name.create(name_value, name_type) attr_factory = AttributeFactory() nameattr = attr_factory.create_attribute(AttributeType.NAME, value) attrs = [nameattr] res = self.kmip.locate(attributes=attrs) self.assertEqual( ResultStatus.OPERATION_FAILED, res.result_status.value, 'locate result status did not return success')
logger = utils.build_console_logger(logging.INFO) # Build and parse arguments parser = utils.build_cli_parser(Operation.LOCATE) opts, args = parser.parse_args(sys.argv[1:]) config = opts.config name = opts.name # Exit early if name is not specified if name is None: logger.error('No name provided, exiting early from demo') sys.exit() # Build name attribute # TODO Push this into the AttributeFactory attribute_name = Attribute.AttributeName('Name') name_value = Name.NameValue(name) name_type = Name.NameType(NameType.UNINTERPRETED_TEXT_STRING) value = Name.create(name_value=name_value, name_type=name_type) name_obj = Attribute(attribute_name=attribute_name, attribute_value=value) attributes = [name_obj] # Build the client and connect to the server with client.ProxyKmipClient(config=config) as client: try: uuids = client.locate(attributes=attributes) logger.info("Located uuids: {0}".format(uuids)) except Exception as e: logger.error(e)
def test_bad_object(self): name_value = 'puppies' name_type = NameType.UNINTERPRETED_TEXT_STRING bad_obj = Name.create(name_value, name_type) self.assertNotEqual(NotImplemented, bad_obj)
else: credential_type = CredentialType.USERNAME_AND_PASSWORD credential_value = {'Username': username, 'Password': password} credential = credential_factory.create_credential(credential_type, credential_value) # Build the client and connect to the server client = KMIPProxy(config=config) client.open() # Build name attribute # TODO (peter-hamilton) Push this into the AttributeFactory attribute_name = Attribute.AttributeName('Name') name_value = Name.NameValue(name) name_type = Name.NameType(NameType.UNINTERPRETED_TEXT_STRING) value = Name.create(name_value=name_value, name_type=name_type) name_obj = Attribute(attribute_name=attribute_name, attribute_value=value) attributes = [name_obj] # Locate UUID of specified SYMMETRIC_KEY object result = client.locate(attributes=attributes, credential=credential) client.close() # Display operation results logger.info('locate() result status: {0}'.format( result.result_status.enum)) if result.result_status.enum == ResultStatus.SUCCESS: logger.info('located UUIDs:') for uuid in result.uuids:
def test_bad_object(self): name_value = 'puppies' name_type = NameType.UNINTERPRETED_TEXT_STRING bad_obj = Name.create(name_value, name_type) self.assertNotEqual(NotImplemented, bad_obj)