Merge "Refactored tests for db.key_pair_*() functions."

This commit is contained in:
Jenkins
2013-05-15 10:43:11 +00:00
committed by Gerrit Code Review
+108 -61
View File
@@ -1128,67 +1128,6 @@ class DbApiTestCase(DbTestCase):
_compare(bw_usages[2], expected_bw_usages[2])
timeutils.clear_time_override()
def test_key_pair_create(self):
ctxt = context.get_admin_context()
values = {'name': 'test_keypair', 'public_key': 'test-public-key',
'user_id': 'test_user_id', 'fingerprint': 'test_fingerprint'}
keypair = db.key_pair_create(ctxt, values)
self.assertNotEqual(None, keypair)
for name, value in values.iteritems():
self.assertEqual(keypair.get(name), value)
def test_key_pair_create_with_duplicate_name(self):
ctxt = context.get_admin_context()
values = {'name': 'test_keypair', 'public_key': 'test-public-key',
'user_id': 'test_user_id', 'fingerprint': 'test_fingerprint'}
keypair = db.key_pair_create(ctxt, values)
self.assertRaises(exception.KeyPairExists,
db.key_pair_create, ctxt, values)
def test_admin_get_deleted_keypair(self):
# Test deleted keypair can be read by admin user.
ctxt = context.get_admin_context()
values = {'name': 'test_keypair', 'public_key': 'test-public-key',
'user_id': 'test_user_id', 'fingerprint': 'test_fingerprint'}
keypair = db.key_pair_create(ctxt, values)
db.key_pair_destroy(ctxt, keypair['user_id'], keypair['name'])
# Raise exception when read_deleted is 'no'.
self.assertRaises(exception.KeypairNotFound, db.key_pair_get, ctxt,
keypair['user_id'], keypair['name'])
ctxt = ctxt.elevated(read_deleted='yes')
db_keypair = db.key_pair_get(ctxt, keypair['user_id'],
keypair['name'])
self.assertEqual(db_keypair['name'], keypair['name'])
self.assertEqual(db_keypair['deleted'], keypair['id'])
def test_admin_get_all_keypairs_including_deleted(self):
# Test all deleted/non-deleted keypairs can be read by admin user.
ctxt = context.get_admin_context()
keypair1_values = {'name': 'test_keypair1',
'public_key': 'test-public-key1',
'user_id': 'test_user_id',
'fingerprint': 'test_fingerprint1'}
keypair2_values = {'name': 'test_keypair2',
'public_key': 'test-public-key2',
'user_id': 'test_user_id',
'fingerprint': 'test_fingerprint2'}
keypair1 = db.key_pair_create(ctxt, keypair1_values)
keypair2 = db.key_pair_create(ctxt, keypair2_values)
db.key_pair_destroy(ctxt, keypair1['user_id'], keypair1['name'])
db.key_pair_destroy(ctxt, keypair2['user_id'], keypair2['name'])
# Returns non-deleted keypairs.
result = db.key_pair_get_all_by_user(ctxt, keypair1['user_id'])
self.assertEqual(result, [])
ctxt = ctxt.elevated(read_deleted='yes')
# Returns deleted and non-deleted keypairs.
db_keypairs = db.key_pair_get_all_by_user(ctxt, keypair1['user_id'])
expected_deleted_ids = [keypair1['id'], keypair2['id']]
expected_keypair_names = [keypair1['name'], keypair2['name']]
for keypair in db_keypairs:
self.assertTrue(keypair['name'] in expected_keypair_names)
self.assertTrue(keypair['deleted'] in expected_deleted_ids)
def _get_fake_aggr_values():
return {'name': 'fake_aggregate'}
@@ -3632,6 +3571,114 @@ class VirtualInterfaceTestCase(test.TestCase, ModelsObjectComparatorMixin):
self._assertEqualListsOfObjects(vifs, real_vifs)
class KeyPairTestCase(test.TestCase, ModelsObjectComparatorMixin):
def setUp(self):
super(KeyPairTestCase, self).setUp()
self.ctxt = context.get_admin_context()
def _create_key_pair(self, values):
return db.key_pair_create(self.ctxt, values)
def test_key_pair_create(self):
param = {
'name': 'test_1',
'user_id': 'test_user_id_1',
'public_key': 'test_public_key_1',
'fingerprint': 'test_fingerprint_1'
}
key_pair = self._create_key_pair(param)
self.assertTrue(key_pair['id'] is not None)
ignored_keys = ['deleted', 'created_at', 'updated_at',
'deleted_at', 'id']
self._assertEqualObjects(key_pair, param, ignored_keys)
def test_key_pair_create_with_duplicate_name(self):
params = {'name': 'test_name', 'user_id': 'test_user_id'}
self._create_key_pair(params)
self.assertRaises(exception.KeyPairExists, self._create_key_pair,
params)
def test_key_pair_get(self):
params = [
{'name': 'test_1', 'user_id': 'test_user_id_1'},
{'name': 'test_2', 'user_id': 'test_user_id_2'},
{'name': 'test_3', 'user_id': 'test_user_id_3'}
]
key_pairs = [self._create_key_pair(p) for p in params]
for key in key_pairs:
real_key = db.key_pair_get(self.ctxt, key['user_id'], key['name'])
self._assertEqualObjects(key, real_key)
def test_key_pair_get_no_results(self):
param = {'name': 'test_1', 'user_id': 'test_user_id_1'}
self.assertRaises(exception.KeypairNotFound, db.key_pair_get,
self.ctxt, param['user_id'], param['name'])
def test_key_pair_get_deleted(self):
param = {'name': 'test_1', 'user_id': 'test_user_id_1'}
key_pair_created = self._create_key_pair(param)
db.key_pair_destroy(self.ctxt, param['user_id'], param['name'])
self.assertRaises(exception.KeypairNotFound, db.key_pair_get,
self.ctxt, param['user_id'], param['name'])
ctxt = self.ctxt.elevated(read_deleted='yes')
key_pair_deleted = db.key_pair_get(ctxt, param['user_id'],
param['name'])
ignored_keys = ['deleted', 'created_at', 'updated_at', 'deleted_at']
self._assertEqualObjects(key_pair_deleted, key_pair_created,
ignored_keys)
self.assertEqual(key_pair_deleted['deleted'], key_pair_deleted['id'])
def test_key_pair_get_all_by_user(self):
params = [
{'name': 'test_1', 'user_id': 'test_user_id_1'},
{'name': 'test_2', 'user_id': 'test_user_id_1'},
{'name': 'test_3', 'user_id': 'test_user_id_2'}
]
key_pairs_user_1 = [self._create_key_pair(p) for p in params
if p['user_id'] == 'test_user_id_1']
key_pairs_user_2 = [self._create_key_pair(p) for p in params
if p['user_id'] == 'test_user_id_2']
real_keys_1 = db.key_pair_get_all_by_user(self.ctxt, 'test_user_id_1')
real_keys_2 = db.key_pair_get_all_by_user(self.ctxt, 'test_user_id_2')
self._assertEqualListsOfObjects(key_pairs_user_1, real_keys_1)
self._assertEqualListsOfObjects(key_pairs_user_2, real_keys_2)
def test_key_pair_count_by_user(self):
params = [
{'name': 'test_1', 'user_id': 'test_user_id_1'},
{'name': 'test_2', 'user_id': 'test_user_id_1'},
{'name': 'test_3', 'user_id': 'test_user_id_2'}
]
for p in params:
self._create_key_pair(p)
count_1 = db.key_pair_count_by_user(self.ctxt, 'test_user_id_1')
self.assertEqual(count_1, 2)
count_2 = db.key_pair_count_by_user(self.ctxt, 'test_user_id_2')
self.assertEqual(count_2, 1)
def test_key_pair_destroy(self):
param = {'name': 'test_1', 'user_id': 'test_user_id_1'}
self._create_key_pair(param)
db.key_pair_destroy(self.ctxt, param['user_id'], param['name'])
self.assertRaises(exception.KeypairNotFound, db.key_pair_get,
self.ctxt, param['user_id'], param['name'])
def test_key_pair_destroy_no_such_key(self):
param = {'name': 'test_1', 'user_id': 'test_user_id_1'}
self.assertRaises(exception.KeypairNotFound,
db.key_pair_destroy, self.ctxt,
param['user_id'], param['name'])
class ArchiveTestCase(test.TestCase):
def setUp(self):