Merge pull request #13 from Aghoreyshi/master

Fix a bug and add the skeleton for keep's unit test
This commit is contained in:
John Wood
2013-07-15 12:20:11 -07:00
6 changed files with 83 additions and 12 deletions

View File

@@ -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,

View File

@@ -1,5 +1,3 @@
#!/usr/bin/env python
import argparse
from barbicanclient import client

View File

@@ -17,5 +17,5 @@
Cloudkeep's Barbican Client version
"""
__version__ = '0.2.0'
__version__ = '0.2.1dev'
__version_info__ = tuple(__version__.split('.'))

View File

@@ -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",

View File

@@ -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):

60
tests/keep_test.py Normal file
View File

@@ -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()