Example #1
0
    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()
Example #2
0
    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'))
Example #3
0
    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()
Example #4
0
 def tearDown(self):
     DatabaseManager.remove('default')
Example #5
0
 def setUp(self):
 	DatabaseManager.add('default', ':memory:')
Example #6
0
    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.')
        
Example #7
0
 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.")
Example #8
0
 def tearDown(self):
     DatabaseManager.remove("default")
     ProcInfo.purge()