diff --git a/barbicanclient/client.py b/barbicanclient/client.py index 2deea3e9..d30993d7 100644 --- a/barbicanclient/client.py +++ b/barbicanclient/client.py @@ -198,10 +198,8 @@ class Connection(object): secret_dict['name'] = name secret_dict['algorithm'] = algorithm secret_dict['cypher_type'] = cypher_type - if bit_length is not None: - secret_dict['bit_length'] = int(bit_length) - if expiration is not None: - secret_dict['expiration'] = parse_isotime(expiration) + secret_dict['bit_length'] = bit_length + secret_dict['expiration'] = expiration self._remove_empty_keys(secret_dict) LOG.debug(_("Request body: {0}").format(secret_dict)) hdrs, body = self._perform_http(href=href, diff --git a/barbicanclient/keep.py b/barbicanclient/keep.py index 3704e5f3..fa8c2430 100644 --- a/barbicanclient/keep.py +++ b/barbicanclient/keep.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python - import argparse from barbicanclient import client diff --git a/barbicanclient/version.py b/barbicanclient/version.py index b6ed8c19..5307f23e 100644 --- a/barbicanclient/version.py +++ b/barbicanclient/version.py @@ -17,5 +17,5 @@ Cloudkeep's Barbican Client version """ -__version__ = '0.2.0' +__version__ = '0.2.1dev' __version_info__ = tuple(__version__.split('.')) diff --git a/setup.py b/setup.py index a47308ec..86b4fd64 100644 --- a/setup.py +++ b/setup.py @@ -24,9 +24,23 @@ name = 'python-barbicanclient' def read(fname): return open(os.path.join(os.path.dirname(__file__), fname)).read() +def get_version(): + PKG = "barbicanclient" + VERSIONFILE = os.path.join(PKG, "version.py") + version = "unknown" + try: + version_file = open(VERSIONFILE, "r") + for line in version_file: + if '__version__' in line: + version = line.split("'")[1] + break + except EnvironmentError: + pass # Okay, there is no version file. + return version + setuptools.setup( name=name, - version="0.1dev", + version=get_version(), description='Client Library for OpenStack Barbican Key Management API', long_description=read('README.md'), keywords="openstack encryption key-management secret", diff --git a/tests/client_test.py b/tests/client_test.py index eeebf908..48b35197 100644 --- a/tests/client_test.py +++ b/tests/client_test.py @@ -123,10 +123,11 @@ class WhenTestingConnection(unittest.TestCase): created = self.connection.create_secret('text/plain', 'Test secret', name='test_secret', - algorithm=None, - bit_length=None, - cypher_type=None, - expiration=None) + algorithm='aes', + bit_length=256, + cypher_type='CDC', + expiration='2015-06-07T16:13' + ':38.889851') self.assertTrue(self._are_equivalent(secret, created)) def test_should_create_order(self): diff --git a/tests/keep_test.py b/tests/keep_test.py new file mode 100644 index 00000000..0bcdea66 --- /dev/null +++ b/tests/keep_test.py @@ -0,0 +1,60 @@ +# Copyright (c) 2013 Rackspace, Inc. +# +# 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. + +import cStringIO +import os +import sys +import unittest2 as unittest + +import barbicanclient.keep + + +def suite(): + suite = unittest.TestSuite() + + suite.addTest(TestKeep()) + + return suite + + +class TestKeep(unittest.TestCase): + def keep(self, argstr): + """Source: Keystone client's shell method in test_shell.py""" + orig = sys.stdout + clean_env = {} + _old_env, os.environ = os.environ, clean_env.copy() + try: + sys.stdout = cStringIO.StringIO() + _keep = barbicanclient.keep.Keep() + _keep.execute(argv=argstr.split()) + except SystemExit: + exc_type, exc_value, exc_traceback = sys.exc_info() + self.assertEqual(exc_value.code, 0) + finally: + out = sys.stdout.getvalue() + sys.stdout.close() + sys.stdout = orig + os.environ = _old_env + return out + + def setUp(self): + pass + + def test_help(self): + args = "-h" + self.assertIn('usage: ', self.keep(args)) + +if __name__ == '__main__': + unittest.main()