def test_init_user_collection(): ''' Test that a UserCollection is created ''' with patch('main.users') as mocker: main.init_user_collection() mocker.UserCollection.assert_called_with()
def baseline(): ''' Method needed for memory profiling ''' user_baseline = main.init_user_collection() status_baseline = main.init_status_collection() main.load_users('accounts.csv', user_baseline) main.load_status_updates('status_updates.csv', status_baseline) main.add_user('dave03', '*****@*****.**', 'Dave', 'Jones', user_baseline) main.add_status('dave03', 'dave03_01', 'Random text', status_baseline) main.update_user('dave03', '*****@*****.**', 'Dave', 'Rex', user_baseline) main.update_status('dave03', 'dave03_01', 'Whos in charge now', status_baseline) main.search_user('dave03', user_baseline) main.search_status('dave03_01', status_baseline) main.delete_status('dave03_01', status_baseline) main.delete_user('dave03', user_baseline)
def menu(): global user_collection user_collection = main.init_user_collection() global status_collection status_collection = main.init_status_collection() menu_options = { 'A': load_users, 'B': load_status_updates, 'C': add_user, 'D': update_user, 'E': search_user, 'F': delete_user, 'G': save_users, 'H': add_status, 'I': update_status, 'J': search_status, 'K': delete_status, 'L': save_status, 'Q': quit_program } while True: user_selection = input(""" A: Load user database B: Load status database C: Add user D: Update user E: Search user F: Delete user G: Save user database to file H: Add status I: Update status J: Search status K: Delete status L: Save status database to file Q: Quit Please enter your choice: """) if user_selection.upper() in menu_options: menu_options[user_selection.upper()]() else: print("Invalid option")
def test_init_user_collection(): collection = main.init_user_collection() assert collection.database == {}
''' Simple test for loading data into database ''' from multiprocessing import Process, Queue import main def fun(queue): ''' Example demenstrating queues ''' queue.put([42, None, 'hello']) if __name__ == '__main__': que = Queue() pro = Process(target=fun, args=(que,)) pro.start() print(que.get()) # prints "[42, None, 'hello']" pro.join() # test main now accounts = main.init_user_collection() statuses = main.init_status_collection() accounts.table.drop() statuses.table.drop() print(main.load_users('accounts.csv', accounts)) print(main.load_status_updates('status_updates.csv', statuses))
''' Import into ipython for easier testing ''' import peewee as pw # pylint: disable = W0611 import main user = main.init_user_collection() status = main.init_status_collection() main.load_users('accounts.csv', user) main.load_status_updates('status_updates.csv', status)
main.load_users('accounts.csv', user_baseline) main.load_status_updates('status_updates.csv', status_baseline) main.add_user('dave03', '*****@*****.**', 'Dave', 'Jones', user_baseline) main.add_status('dave03', 'dave03_01', 'Random text', status_baseline) main.update_user('dave03', '*****@*****.**', 'Dave', 'Rex', user_baseline) main.update_status('dave03', 'dave03_01', 'Whos in charge now', status_baseline) main.search_user('dave03', user_baseline) main.search_status('dave03_01', status_baseline) main.delete_status('dave03_01', status_baseline) main.delete_user('dave03', user_baseline) print('Timeit Data') # Setup benchmarks users = main.init_user_collection() statuses = main.init_status_collection() # Profiling with timeit print('Load Users') print( timer("main.load_users('accounts.csv', users)", globals=globals(), number=1)) print('Load Status Updates') print( timer("main.load_status_updates('status_updates.csv', statuses)", globals=globals(), number=1)) print('Add User') print( timer("main.add_user('dave03', '*****@*****.**', 'Dave', 'Jones', users)",
def setUp(self): self.user_collection = main.init_user_collection() self.status_collection = main.init_status_collection()
def test_init_user_collection(self): test_collection = main.init_user_collection() self.assertEqual(test_collection.database, {})