def test_incorrect_process_filter(self): testdb = str(time.time()) + ".db" db = DBConnection(db_filename=testdb) for x in xrange(0, 10): # x = 0 current_process = pst.processes.get_current() random_title = random_string(10) random_filename = random_string(10) current_process.title = "Developer Tools - http://127.0.0.1:8081/" + random_title current_process.filename = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" process = db.add_process(current_process) new_category = db.add_category(title="TITLE") random_title2 = "TimeTracker" random_filename2 = "" new_filter = db.add_filter( category_id=new_category.id, title_search=random_title2, filename_search=random_filename2 ) db.assign_categories() # processes = db.get_processes() processes = [pst.db.row2dict(row) for row in db.get_processes()] self.assertEqual(0, int(processes[x]["process_categories"][0]["id"])) self.assertEqual("", processes[x]["process_categories"][0]["filters"][0]["title_search"]) self.assertEqual("", processes[x]["process_categories"][0]["filters"][0]["filename_search"]) db.session.close() rm(testdb)
def test_takescreenshot_all_screens(self): screenshot_camera = pst.screenshots.Camera() screenshots = screenshot_camera.take_screenshot_all_displays() for screenshot_path, screenshot_id in screenshots: self.assertTrue(os.path.exists(screenshot_path) and os.path.isfile(screenshot_path)) self.assertTrue(type(screenshot_id) is int) rm(screenshot_path)
def test_add_process_and_process_category_and_assign(self): testdb = str(time.time()) + ".db" db = DBConnection(db_filename=testdb) for x in xrange(0, 10): # x = 0 current_process = pst.processes.get_current() random_title = random_string(10) random_filename = random_string(10) current_process.title = "TEST TITLE " + random_title current_process.filename = "TEST FILENAME " + random_filename process = db.add_process(current_process) new_category = db.add_category(title="TITLE") new_filter = db.add_filter( category_id=new_category.id, title_search=random_title, filename_search=random_filename ) db.assign_categories() # processes = db.get_processes() processes = [pst.db.row2dict(row) for row in db.get_processes()] self.assertEqual(new_category.id, int(processes[x]["process_categories"][0]["id"])) self.assertEqual( new_filter.title_search, processes[x]["process_categories"][0]["filters"][0]["title_search"] ) self.assertEqual( new_filter.filename_search, processes[x]["process_categories"][0]["filters"][0]["filename_search"] ) db.session.close() rm(testdb)
def test_add_process_and_process_category_and_assign_and_delete(self): testdb = str(time.time()) + ".db" db = DBConnection(db_filename=testdb) tests_to_run = 5 for x in xrange(0, tests_to_run): # x = 0 current_process = pst.processes.get_current() random_title = random_string(10) random_filename = random_string(10) current_process.title = "TEST TITLE " + random_title current_process.filename = "TEST FILENAME " + random_filename process = db.add_process(current_process) new_category = db.add_category(title="TITLE") new_filter = db.add_filter( category_id=new_category.id, title_search=random_title, filename_search=random_filename ) db.assign_categories() # processes = db.get_processes() processes = [pst.db.row2dict(row) for row in db.get_processes()] self.assertEqual(new_category.id, int(processes[x]["process_categories"][0]["id"])) self.assertEqual( new_filter.title_search, processes[x]["process_categories"][0]["filters"][0]["title_search"] ) self.assertEqual( new_filter.filename_search, processes[x]["process_categories"][0]["filters"][0]["filename_search"] ) processes = db.get_processes() for process in processes: db.delete_category(process[1].id) db.assign_categories() association_table_data = db.session.query("* FROM association") self.assertEqual(tests_to_run, association_table_data.count()) processes = db.get_processes() for process in processes: self.assertEqual(process[1].process_categories[0].title, "unassigned") self.assertEqual(len(process[1].process_categories), 1) for process in processes: random_title = random_string(10) random_filename = random_string(10) new_category = db.add_category(title="TITLE") new_filter = db.add_filter( category_id=new_category.id, title_search=random_title, filename_search=random_filename ) db.assign_categories() processes = db.get_processes() for process in processes: self.assertEqual(process[1].process_categories[0].title, "unassigned") self.assertEqual(len(process[1].process_categories), 1) db.session.close() rm(testdb)
def test_add_process_category(self): testdb = str(time.time()) + ".db" db = DBConnection(db_filename=testdb) new_category = db.add_category(title="TITLE") self.assertEquals(new_category.id, 1) pc = db.session.query(pst.db.ProcessCategory).filter(pst.db.ProcessCategory.title == "TITLE").one() self.assertEquals(pc.id, 1) db.session.close() rm(testdb)
def test_default_process_category(self): testdb = str(time.time()) + ".db" # testdb = "test.db" db = DBConnection(db_filename=testdb) pc = db.session.query(pst.db.ProcessCategory).one() self.assertTrue(pc.id == 0) self.assertEqual(pc.process_filter[0].title_search, "") self.assertEqual(pc.process_filter[0].filename_search, "") db.session.close() rm(testdb)
def test_save_screenshots_all_screens(self): testdb = str(time.time()) + ".db" db = DBConnection(db_filename=testdb) screenshot_camera = pst.screenshots.Camera() screenshots = screenshot_camera.take_screenshot_all_displays() for screenshot_path, screenshot_id in screenshots: screenshot = db.add_screenshot(screenshot_id, screenshot_path) self.assertTrue(type(screenshot) is pst.db.Screenshot) screenshot_from_db = db.session.query(pst.db.Screenshot).filter(pst.db.Screenshot.id == screenshot.id).one() self.assertTrue(type(screenshot_from_db) is pst.db.Screenshot) db.session.close() rm(testdb) rm(screenshot_path)
def test_delete_process(self): testdb = str(time.time()) + ".db" db = DBConnection(db_filename=testdb) current_process = pst.processes.get_current() process = db.add_process(current_process) db.delete_process(id=process.id) processes = db.get_processes() self.assertEqual(processes.count(), 0) db.session.close() rm(testdb)
def test_add_process_category_filter(self): testdb = str(time.time()) + ".db" db = DBConnection(db_filename=testdb) random_title = random_string(10) random_filename = random_string(10) new_category = db.add_category(title="TITLE") new_filter = db.add_filter( category_id=new_category.id, title_search=random_title, filename_search=random_filename ) pc = db.session.query(pst.db.ProcessCategory).filter(pst.db.ProcessCategory.title == "TITLE").one() self.assertEquals(pc.id, 1) self.assertEqual(pc.process_filter[0].title_search, random_title) self.assertEqual(pc.process_filter[0].filename_search, random_filename) db.session.close() rm(testdb)
def test_get_screenshots_json(self): testdb = str(time.time()) + ".db" db = DBConnection(db_filename=testdb) screenshot_camera = pst.screenshots.Camera() screenshots = screenshot_camera.take_screenshot_all_displays() for screenshot_path, screenshot_id in screenshots: screenshot = db.add_screenshot(screenshot_id, screenshot_path) self.assertTrue(type(screenshot) is pst.db.Screenshot) screenshots = [pst.db.row2dict(row) for row in db.get_screenshots()] print json.dumps(screenshots, indent=4, sort_keys=True) self.assertTrue(len(screenshots) > 0) db.session.close() rm(testdb) rm(screenshot_path)
def test_inactive_then_active_process(self): testdb = str(time.time()) + ".db" db = DBConnection(db_filename=testdb) current_process = pst.processes.get_current() db.add_process(current_process) time.sleep(0.1) db.set_current_process_inactive() time.sleep(0.1) db.add_process(current_process) time.sleep(0.1) db.set_current_process_inactive() processes = [pst.db.row2dict(row) for row in db.get_processes()] self.assertEqual(len(processes), 2) self.assertGreater(processes[0]["end_time"], processes[0]["start_time"]) self.assertGreater(processes[1]["end_time"], processes[1]["start_time"]) self.assertGreater(processes[1]["start_time"], processes[0]["end_time"]) db.session.close() rm(testdb)
def tearDown(self): self.server.close() self.db.session.close() rm(self.testdb)
def test_createdb(self): testdb = str(time.time()) + ".db" db = DBConnection(db_filename=testdb) self.assertTrue(os.path.exists(testdb) and os.path.isfile(testdb)) db.session.close() rm(testdb)
def test_takescreenshot(self): screenshot_camera = pst.screenshots.Camera() screenshot_path, screenshot_id = screenshot_camera.take_screenshot(screenid=0) self.assertTrue(os.path.exists(screenshot_path) and os.path.isfile(screenshot_path)) self.assertTrue(type(screenshot_id) is int) rm(screenshot_path)