def setUp(self): super(WebSocketTestCase, self).setUp() DatabaseManager.add('default', ':memory:') User._users = UserManager() Token._tokens = TokenManager() self.username_0 = '*****@*****.**' self.password_0 = 'asdfasdf' self.username_1 = '*****@*****.**' self.password_1 = 'qwerqwer' self.user_0 = User(self.username_0, self.password_0, True) self.user_0.save() self.user_1 = User(self.username_1, self.password_1, True) self.user_1.save() self.token_0 = Token(user=self.user_0) self.token_0.save() self.token_1 = Token(user=self.user_1) self.token_1.save()
def setUp(self): # Create a temporary directory for writing the config file to # as well as for creating testing databases. self.temp_dir = tempfile.mkdtemp() # Create a config file programmatically. config = ConfigParser.RawConfigParser() config.add_section('sremote') config.set('sremote', 'tick', '3') config.set('sremote', 'send_update_tick', '5') config.set('sremote', 'max_wait_seconds_before_shutdown', '3') config.set('sremote', 'port_number', '8080') config.set('sremote', 'daemonize', 'False') config.set('sremote', 'log_level', 'DEBUG') config.set('sremote', 'log_file', os.path.join(self.temp_dir, 'sremote.log')) config.set('sremote', 'database_dir', self.temp_dir) # Writing our configuration file to 'temp_dir/sremote.conf' with open(os.path.join(self.temp_dir, 'sremote.conf'), 'wb') as configfile: config.write(configfile) parser = argparse.ArgumentParser(prog='sremote.py') parser.add_argument("--config", help="path to the configuration file.") # Create arguments programmatically self.args = parser.parse_args(['--config', os.path.join(self.temp_dir, 'sremote.conf')]) self.app = Application() # Overwrite default database with one in memory. # from sremote.models.database import DatabaseManager DatabaseManager.add('default', os.path.join(self.temp_dir, 'db.sqlite'))
def setUp(self): super(HTTPTestCase, self).setUp() DatabaseManager.add("default", ":memory:") User._users = UserManager() Token._tokens = TokenManager() self.username_0 = "*****@*****.**" self.password_0 = "asdfasdf" self.username_1 = "*****@*****.**" self.password_1 = "qwerqwer" self.user_0 = User(self.username_0, self.password_0, True) self.user_0.save() self.user_1 = User(self.username_1, self.password_1, True) self.user_1.save() self.token_0 = Token(user=self.user_0) self.token_0.save() self.token_1 = Token(user=self.user_1) self.token_1.save()
def tearDown(self): DatabaseManager.remove('default')
def setUp(self): DatabaseManager.add('default', ':memory:')
def test_user(self): # I need some way of deferring creation of UserManager # until DatabaseManager has been instantiated. # So that's why the import is inside this function, so # that it's called AFTER I've had a chance to call # DatabaseManager.add('default', ':memory:') from sremote.models.user import User user_0 = User('jack', 'asdf', True) self.assertEqual(user_0.username, 'jack') self.assertEqual(user_0.password, 'asdf') self.assertTrue(user_0.admin) self.assertEqual(user_0.id, None) self.assertEqual(user_0.created, None) self.assertEqual(User.users().count(), 0, 'No users in database.') user_0.save() self.assertEqual(User.users().count(), 1, '1 user in database.') self.assertEqual(user_0.id, 1, 'User has id=1.') self.assertLess(user_0.created, time.time(), 'User was created before now.') user_0.username = '******' user_0.admin = False user_0.save() # Now drop into sql to ensure that we really saved the object's username db = DatabaseManager.instance('default') select_user_query = 'SELECT * FROM user WHERE id=?;' select_result = db.query(select_user_query, (user_0.id,)).nextresult() self.assertEqual(select_result['username'], 'jill') self.assertEqual(select_result['admin'], 0) # Now test the UserManager.get() method: user_0_1 = User.users().get(id=user_0.id) user_0_2 = User.users().get(username=user_0.username) user_0_3 = User.users().get(id=user_0.id, username=user_0.username) self.assertEqual(user_0.username, user_0_1.username, 'usernames equal') self.assertEqual(user_0_1.username, user_0_2.username, 'usernames equal') self.assertEqual(user_0_1.username, user_0_3.username, 'usernames equal') self.assertEqual(user_0.id, user_0_1.id, 'ids equal') self.assertEqual(user_0_1.id, user_0_2.id, 'ids equal') self.assertEqual(user_0_1.id, user_0_3.id, 'ids equal') self.assertEqual(user_0.admin, user_0_1.admin, 'admin equal') self.assertEqual(user_0_1.admin, user_0_2.admin, 'admin equal') self.assertEqual(user_0_1.admin, user_0_3.admin, 'admin equal') self.assertTrue(user_0.authenticate('asdf'), 'User authenticates.') self.assertFalse(user_0.authenticate('qwer'), 'User does not authenticate.') # Now delete the object user_0.delete() self.assertEqual(User.users().count(), 0, 'No more users in database.') self.assertEqual(user_0.id, None, 'id is None') self.assertEqual(user_0.created, None, 'created is None') creation_count = 10 for i in range(creation_count): user = User('user%s' % i, 'asdf', True) user.save() self.assertEqual(User.users().count(), creation_count, 'count() == creation_count') all_users = User.users().all() self.assertEqual(creation_count, len(all_users), 'len == creation_count') user_1 = User('jill', 'qwer', True) self.assertFalse(user_1.authenticate('qwer'), 'User does not authenticate because it has not been saved.') self.assertFalse(user_1.authenticate('asdf'), 'User does not authenticate because it has not been saved.')
def testDatabaseManager(self): DatabaseManager.add("default", ":memory:") db = DatabaseManager.instance("default") self.assertTrue(db != None, "Database exists.") DatabaseManager.remove("default") self.assertRaises(KeyError, DatabaseManager.instance, "DatabaseManager raises KeyError when no db exists.")
def tearDown(self): DatabaseManager.remove("default") ProcInfo.purge()