Refactored Instance to get rid of _s bits, and fixed some bugs in state management.
Conflicts: nova/compute/node.py
This commit is contained in:
@@ -40,7 +40,7 @@ def initialize(uri):
|
||||
|
||||
class FakeLDAP(object):
|
||||
def __init__(self, _uri):
|
||||
self.keeper = datastore.Keeper('fakeldap')
|
||||
self.keeper = datastore.SqliteKeeper('fakeldap') #Redis keeper never works here...
|
||||
if self.keeper['objects'] is None:
|
||||
self.keeper['objects'] = {}
|
||||
|
||||
@@ -91,7 +91,7 @@ class FakeLDAP(object):
|
||||
return False
|
||||
|
||||
def search_s(self, dn, scope, query=None, fields=None):
|
||||
logging.debug("searching for %s" % dn)
|
||||
#logging.debug("searching for %s" % dn)
|
||||
filtered = {}
|
||||
d = self.keeper['objects'] or {}
|
||||
for cn, attrs in d.iteritems():
|
||||
@@ -108,7 +108,7 @@ class FakeLDAP(object):
|
||||
return objects.items()
|
||||
|
||||
def add_s(self, cn, attr):
|
||||
logging.debug("adding %s" % cn)
|
||||
#logging.debug("adding %s" % cn)
|
||||
stored = {}
|
||||
for k, v in attr:
|
||||
if type(v) is list:
|
||||
|
||||
@@ -333,7 +333,7 @@ class RedisKeeper(object):
|
||||
"""
|
||||
def __init__(self, prefix="redis-"):
|
||||
self.prefix = prefix
|
||||
Redis.instance().ping()
|
||||
#Redis.instance().ping()
|
||||
|
||||
def __setitem__(self, item, value):
|
||||
"""
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# limitations under the License.
|
||||
|
||||
import unittest
|
||||
|
||||
import logging
|
||||
|
||||
from nova.auth.users import UserManager
|
||||
from nova.auth import rbac
|
||||
@@ -28,13 +28,15 @@ class Context(object):
|
||||
|
||||
class AccessTestCase(test.BaseTestCase):
|
||||
def setUp(self):
|
||||
super(AccessTestCase, self).setUp()
|
||||
FLAGS.fake_libvirt = True
|
||||
FLAGS.fake_storage = True
|
||||
um = UserManager.instance()
|
||||
# Make test users
|
||||
try:
|
||||
self.testadmin = um.create_user('testadmin')
|
||||
except: pass
|
||||
except Exception, err:
|
||||
logging.error(str(err))
|
||||
try:
|
||||
self.testpmsys = um.create_user('testpmsys')
|
||||
except: pass
|
||||
@@ -71,7 +73,6 @@ class AccessTestCase(test.BaseTestCase):
|
||||
self.context = Context()
|
||||
self.context.project = self.project
|
||||
#user is set in each test
|
||||
super(AccessTestCase, self).setUp()
|
||||
|
||||
def tearDown(self):
|
||||
um = UserManager.instance()
|
||||
|
||||
@@ -174,16 +174,25 @@ class ApiEc2TestCase(test.BaseTestCase):
|
||||
def test_describe_instances(self):
|
||||
self.expect_http()
|
||||
self.mox.ReplayAll()
|
||||
|
||||
try:
|
||||
self.users.create_user('fake', 'fake', 'fake')
|
||||
except Exception, _err:
|
||||
pass # User may already exist
|
||||
self.assertEqual(self.ec2.get_all_instances(), [])
|
||||
self.users.delete_user('fake')
|
||||
|
||||
|
||||
def test_get_all_key_pairs(self):
|
||||
self.expect_http()
|
||||
self.mox.ReplayAll()
|
||||
keyname = "".join(random.choice("sdiuisudfsdcnpaqwertasd") for x in range(random.randint(4, 8)))
|
||||
try:
|
||||
self.users.create_user('fake', 'fake', 'fake')
|
||||
except Exception, _err:
|
||||
pass # User may already exist
|
||||
self.users.generate_key_pair('fake', keyname)
|
||||
|
||||
rv = self.ec2.get_all_key_pairs()
|
||||
self.assertTrue(filter(lambda k: k.name == keyname, rv))
|
||||
self.users.delete_user('fake')
|
||||
|
||||
|
||||
@@ -21,6 +21,6 @@ FLAGS.fake_storage = True
|
||||
FLAGS.fake_rabbit = True
|
||||
FLAGS.fake_network = True
|
||||
FLAGS.fake_users = True
|
||||
FLAGS.keeper_backend = 'sqlite'
|
||||
#FLAGS.keeper_backend = 'sqlite'
|
||||
FLAGS.datastore_path = ':memory:'
|
||||
FLAGS.verbose = True
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
# limitations under the License.
|
||||
|
||||
import logging
|
||||
import time
|
||||
|
||||
from xml.etree import ElementTree
|
||||
|
||||
from nova import vendor
|
||||
@@ -81,11 +83,13 @@ class NodeConnectionTestCase(test.TrialTestCase):
|
||||
rv = yield self.node.run_instance(instance_id)
|
||||
|
||||
rv = yield self.node.describe_instances()
|
||||
logging.info("Running instances: %s", rv)
|
||||
self.assertEqual(rv[instance_id].name, instance_id)
|
||||
|
||||
rv = yield self.node.terminate_instance(instance_id)
|
||||
|
||||
rv = yield self.node.describe_instances()
|
||||
logging.info("After terminating instances: %s", rv)
|
||||
self.assertEqual(rv, {})
|
||||
|
||||
@defer.inlineCallbacks
|
||||
|
||||
@@ -31,6 +31,7 @@ FLAGS = flags.FLAGS
|
||||
|
||||
|
||||
class UserTestCase(test.BaseTestCase):
|
||||
flush_db = False
|
||||
def setUp(self):
|
||||
super(UserTestCase, self).setUp()
|
||||
self.flags(fake_libvirt=True,
|
||||
@@ -96,6 +97,7 @@ class UserTestCase(test.BaseTestCase):
|
||||
|
||||
def test_010_can_list_users(self):
|
||||
users = self.users.get_users()
|
||||
logging.warn(users)
|
||||
self.assertTrue(filter(lambda u: u.id == 'test1', users))
|
||||
|
||||
def test_101_can_add_user_role(self):
|
||||
|
||||
Reference in New Issue
Block a user