Commit Graph

39 Commits

Author SHA1 Message Date
Peter Hamilton 8516c52820 Merge pull request #37 from OpenKMIP/bug/fix-integer-accepting-longs
Fixing bug with Integer accepting long values
2015-06-25 07:59:04 -04:00
Hadi Esiely d1e6ff49c8 Added integration tests for testing symmetric keys 2015-06-24 15:56:47 -04:00
Peter Hamilton 87f05f90bf Fixing bug with Integer accepting long values
This change fixes a bug with the Integer primitive that caused it to
break when accepting long integer values. As long as the long integer
value can be represented by a signed 32-bit integer, it is considered
valid. Test cases have been added to check for this condition and the
validation routine for Integer has been updated to raise appropriate
errors.
2015-06-24 13:42:04 -04:00
Peter Hamilton b38b58c2f4 Fixing relative path bug when looking up library version
This change fixes the use of relative paths used to fetch the PyKMIP
library version number in kmip/__init__.py and setup.py. The absolute
path of the file is now dynamically generated and used instead. Tests
are included to verify that the __version__ attribute is set properly.
2015-06-24 12:31:53 -04:00
Peter Hamilton ef58a8f90b Merge pull request #28 from OpenKMIP/feat/finish-boolean-primitive
Finishing Boolean primitive implementation
2015-06-23 14:13:26 -04:00
Peter Hamilton a90e0f0b98 Adding additional cryptographic base classes
This change adds two additional abstract base classes for the Pie
ManagedObject object hierarchy: CryptographicObject and Key. Test suites
are provided for each base class, using a dummy subclass of each for
testing. The object test suite package structure is also modified to
collect all ManagedObject subclass tests in one package.
2015-06-23 13:25:31 -04:00
Peter Hamilton ac6a9edec7 Merge pull request #26 from OpenKMIP/bug/add-test-for-unsigned-enum
Adding test case for bug with unsigned Enumeration encoding
2015-06-19 13:54:48 -04:00
Peter Hamilton 3ecb63aaf5 Finishing Boolean primitive implementation
This change finishes the Boolean primitive implementation, including a
complete test suite for the Boolean class.
2015-06-17 14:10:31 -04:00
Peter Hamilton 25c4aa90a5 Adding the ManagedObject base class
This change adds ManagedObject, the abstract base class of the
simplified KMIP object hierarchy. It defines a set of attributes common
to all KMIP objects and registers placeholder methods to be implemented
by all subclasses. A basic test suite is included, using a dummy
ManagedObject subclass for testing.
2015-06-17 10:45:47 -04:00
Peter Hamilton 64d30343a1 Adding test case for bug with unsigned Enumeration encoding
This change adds a test case that verifies a fix for a bug with how
Enumerations were encoded as signed instead of unsigned integers. The
validation check for Enumerations has also been updated to be more
concise.
2015-06-16 14:33:56 -04:00
Peter Hamilton 984fe318cd Adding a primitives test package to the unit test suite
This change adds a primitives test package to the unit test suite to
contain future test suites for primitive testing. The current primitives
test suite has been moved to this new package.
2015-06-04 10:38:07 -04:00
Peter Hamilton ab3298c6d1 Fixing infinite recursion bug with object inheritance
This change removes all references to self.__class__. In object
hierarchies with multiple levels of inheritance, using self.__class__
can cause an infinite loop when resolving references to parent classes.
2015-06-02 11:16:42 -04:00
Peter Hamilton 6606c989fb Adding config argument to integration test suite
This change adds a pytest config argument, allowing the integration test
suite to be run with the client configured with a specific section from
the PyKMIP configuration file. A simple integration test class is added
to demonstrate how to use the client created using the config argument.

To run the integration test suite with a specific configuration, use:

$ tox -e integration -- --config <config-section>

where <config-section> is the name of the config file section to use for
the PyKMIP client.
2015-05-20 12:08:59 -04:00
Peter Hamilton 23574dc33c Reorganizing test suite and updating tox configuration
This change reorganizes the test suite, splitting it into two separate
test suites, one for unit tests and one for integration tests. The tox
configuration is also updated to reflect this change. Invoking tox now
runs the unit tests by default. A separate tox environment is used to
run the integration tests.
2015-05-14 13:13:10 -04:00
Peter Hamilton 195671d4bf Adding support for the Certificate managed object
This change polishes and reorganizes the implementation of the
Certificate managed object and its required subclasses. It adds in
documentation and test suites for all modified classes and updates the
SecretFactory to support creating default Certificate objects.
2015-05-05 14:55:34 -04:00
Peter Hamilton cb550aef7a Fixing invalid tag for the KeyMaterialStruct 2015-04-28 08:29:21 -04:00
Peter Hamilton bea9bf08b2 Adding KMIP profile information to the client
This change updates the client with the KMIP profile information of the
conformance clauses and authentication suites that the client supports.
Several new methods are added to the client, allowing for the retrieval
and basic predicate querying of the profile data. A new test suite has
also been added to test this new capability.
2015-04-09 10:45:59 -04:00
Peter Hamilton 43ecea23a6 Updating the Register unit demo
This change updates the Register unit demo, adding support for the
registration of different types of secret objects. The changes required
to support this include implementation updates to the KeyValue backing
objects.
2015-03-13 16:31:39 -04:00
Peter Hamilton d263302077 Updating the Get unit demo
This change updates the Get unit demo, adding support for:
* the additional display of key-related objects
* the passing of more arguments to the client (e.g., KeyFormatType)
* the retrieval of Public/PrivateKeys
2015-03-13 15:01:52 -04:00
Peter Hamilton 3e11002567 Adding support for Digest
This change adds support for the Digest attribute, including updates and
unit test suites for all dependent KMIP objects.
2015-03-10 11:57:35 -04:00
Peter Hamilton 80ee64e600 Adding support for the Query operation
This change adds support for the Query operation, including updates to
the KMIP client and core object libraries, the KMIP client and core unit
test suites, and a Query unit demo.
2015-02-23 17:18:05 -05:00
Peter Hamilton 0c4f9cd9d0 Updating application attributes
This change updates the various Application attributes, adding inline
documentation, and reorganizing the different related test suites. Minor
updates to supporting primitive objects are included.
2015-02-23 14:13:21 -05:00
Peter Hamilton f6b420d2db Adding support for the DiscoverVersions operation
This change adds support for the DiscoverVersions operation, including
updates to the KMIP client, the client and KMIP core test suites, and a
DiscoverVersions unit demo.
2015-01-23 15:26:28 -05:00
Peter Hamilton ff533ff4bb Adding support for the RekeyKeyPair operation
This change adds support for the ReKeyKeyPair operation, adding in
required KMIP objects and updating the KMIP client. Minor changes to the
server are included in preparation for future changes. The unit test
suite has been updated accordingly.
2015-01-21 11:41:08 -05:00
Peter Hamilton c6d6db3dfe Adding support for the CreateKeyPair operation
This change adds support for the CreateKeyPair operation, adding in
required KMIP attributes and objects and updating the KMIP client. Minor
changes to the server are also made in preparation for future changes.
The unit test suite has been updated accordingly.
2015-01-09 13:11:05 -05:00
Peter Hamilton 6cbb3159ca Adding payload factories
This change adds a set of payload factories to the factory suite, which
handle the construction of default request/response payload objects for
KMIP operations. These factories replace the use of payload operation
dictionaries for dynamic payload object lookup. A payload factory test
suite and minor logging tweaks are included.
2014-12-11 13:32:17 -05:00
Peter Hamilton 3918c320fd Adding OperationPolicyName
This change adds the OperationPolicyName attribute, extending support to
the AttributeValueFactory. Test cases are included for the creation
process for both the factory and the individual attribute.
2014-12-11 13:32:17 -05:00
Peter Hamilton b99bf8cbf4 Reorganizing message payload code
This change is primarily a reorganization of the message payload code
originally found in kmip/core/messages/operations.py. The code from that
module has been moved to a new package, kmip.core.messages.payloads, and
split into separate modules according to each supported KMIP operation.

The surrounding KMIP codebase has been updated to use the new package
structure and a placeholder test suite has been put in place for future
tests. This change does NOT include test cases as these would primarily
be a refactoring from the current test suite found in
kmip/tests/core/messages/test_messages.py and that work has not been
done yet.
2014-12-11 13:32:17 -05:00
Peter Hamilton 6a11dacfc3 Updating unit test suite
This change updates the unit test suite, adding the initial test case
framework for factory tests. The attributes test suite is also updated,
replacing pass statements with skip calls.
2014-12-11 13:32:17 -05:00
Peter Hamilton bfb0bb88d7 Adding username and password config options
This change adds username and password configuration options to the
client section of the configuration file. These options are used to
create KMIP Credential objects for authenticating connections to a KMIP
appliance.

The KMIP proxy now uses these options when handling operation calls. If
no credential is provided, the proxy will automatically create one from
the config file. If either the username or the password is unspecified,
an error is generated. If neither are specified, no credential is
created. Only username/password credentials are currently supported.

The KMIP proxy test suite now includes test cases covering this
functionality.
2014-10-23 22:28:20 -04:00
Peter Hamilton 3eabf209cc Merge branch 'develop' 2014-09-22 12:42:09 -04:00
Wyllys Ingersoll aa51f15bf0 Fixed broken destroy message in test 2014-09-18 10:17:52 -04:00
Kaitlin Farr 0212ee898c Adds a configuration file
Adds a configuration file to allow users to modify settings for the
client and server. The configured settings can be overridden by
directly passing values when a kmip server or client is initialized.
Additionally, if the config file or config options are not found,
pre-set default values will be used.
2014-09-17 00:24:58 -07:00
Wyllys Ingersoll ceaff6d7ac Fixed typos 2014-09-11 18:15:52 -04:00
Wyllys Ingersoll a2b71a1f1c Updated to address comments from first attempt 2014-09-09 00:14:02 -04:00
wyllys b04f5c2dc3 Added support for LOCATE operation 2014-09-04 14:42:20 -04:00
Peter Hamilton 97ae864196 PyKMIP - Release v0.1.0
This change includes several new features to PyKMIP, including:

* support for Python 3.3 and 3.4
* support for KMIP client/server SSL connections
* removal of all Thrift library dependencies
2014-08-28 14:04:23 -04:00
Peter Hamilton f0e3c26170 PyKMIP - Release v0.0.1
This changes adds the final modifications needed for release v0.0.1 of
the PyKMIP library.

Packaging and licensing files are updated with current information and
some minor file restructuring is done to ensure test suite integrity.
2014-08-13 19:23:05 -04:00
Peter Hamilton 1cb6deaf0b PyKMIP library version 0.0.1
This implementation supports version 1.1 of the KMIP spec. The
library supports the following operations for SymmetricKey objects:

create
register
get
destroy
2014-08-11 16:34:30 -04:00