Example #1
0
 def test_delete_messages(self):
     dbfile = 'test_delete_messages.sqlite'
     create_test_db(dbfile, 1, 100)
     data_engine = DataEngine(self.host, self.port, dbfile)
     data, pages = data_engine.get_messages_by_id(0)
     date_before = datetime.now() - timedelta(days=2)
     self.assertEqual(100, len(data))
     counter = 0
     for row in data:
         if datetime.strptime(row[3],
                              data_engine.datetime_format) < date_before:
             counter += 1
     deleted = data_engine.delete_messages(date_before=date_before)
     self.assertEqual(counter, deleted)
     dbfile2 = 'test_delete_old_messages.sqlite'
     create_test_db(dbfile2, 2, 100)
     data_engine = DataEngine(self.host, self.port, dbfile2)
     data, pages = data_engine.get_messages_by_id(0)
     counter = 0
     for row in data:
         if row[0] == '0': counter += 1
     deleted = data_engine.delete_messages(id_=0)
     self.assertEqual(counter, deleted)
     os.remove(dbfile)
     os.remove(dbfile2)
Example #2
0
 def test_validate_user(self):
     dbfile = 'test_users.sqlite'
     create_test_db(dbfile, 1, 100)
     data_engine = DataEngine(self.host, self.port, dbfile)
     self.assertTrue(data_engine.validate_user('admin', '12345678'))
     self.assertFalse(data_engine.validate_user('admin', '1234567890'))
     os.remove(dbfile)
Example #3
0
 def test_create_user(self):
     dbfile = 'test_users_create.sqlite'
     create_test_db(dbfile, 1, 100)
     data_engine = DataEngine(self.host, self.port, dbfile)
     self.assertTrue(data_engine.add_user('testuser'))
     self.assertTrue(data_engine.validate_user('testuser', '12345678'))
     os.remove(dbfile)
Example #4
0
 def test_validate_session(self):
     dbfile = 'test_users_session.sqlite'
     create_test_db(dbfile, 1, 100)
     data_engine = DataEngine(self.host, self.port, dbfile)
     session_id = data_engine.validate_user('admin', '12345678')
     self.assertTrue(data_engine.validate_session(session_id))
     os.remove(dbfile)
Example #5
0
 def test_delete_user(self):
     dbfile = 'test_users_delete.sqlite'
     create_test_db(dbfile, 1, 100)
     data_engine = DataEngine(self.host, self.port, dbfile)
     self.assertTrue(data_engine.add_user('testuser1'))
     self.assertTrue(
         data_engine.delete_user('admin', '12345678', 'testuser1'))
     self.assertEqual(1, len(data_engine.get_user_list()))
     os.remove(dbfile)
Example #6
0
 def test_get_last_messages(self):
     dbfile = 'test_get_last_messages.sqlite'
     create_test_db(dbfile, 10, 100)
     data_engine = DataEngine(self.host, self.port, dbfile)
     data, pages = data_engine.get_last_messages()
     self.assertTrue(len(data) > 0)
     self.assertIsInstance(data[0], tuple)
     self.assertIsInstance(data[0][1], str)
     sleep(2)
     os.remove(dbfile)
Example #7
0
 def test_get_user_list(self):
     dbfile = 'test_users_getlist.sqlite'
     create_test_db(dbfile, 1, 100)
     data_engine = DataEngine(self.host, self.port, dbfile)
     self.assertTrue(data_engine.add_user('testuser1'))
     self.assertTrue(data_engine.add_user('testuser2'))
     lst = data_engine.get_user_list()
     self.assertEqual(3, len(lst))
     self.assertTrue('testuser1' in lst)
     os.remove(dbfile)
Example #8
0
 def test_get_all_messages_by_id(self):
     ## TODO: sorting not tested but implemented
     dbfile = 'test_get_messages_id.sqlite'
     create_test_db(dbfile, 1, 100)
     data_engine = DataEngine(self.host, self.port, dbfile)
     data, pages = data_engine.get_messages_by_id(0)
     self.assertEqual(100, len(data))
     self.assertIsInstance(data[0], tuple)
     self.assertEqual('0', data[0][0])
     self.assertIsInstance(data[0][1], str)
     os.remove(dbfile)
Example #9
0
 def test_start_stop_sync_loop(self):
     dbfile = 'test_start_stop.sqlite'
     data_engine = DataEngine(self.host, self.port, dbfile)
     self.assertTrue(os.path.isfile(dbfile))
     self.assertTrue(data_engine.start_sync_loop(1))
     sleep(1)
     for i in range(10):
         sender = Sender(i, self.host, self.port)
         self.assertIsNotNone(sender.send(balance=10))
     self.assertTrue(data_engine.stop_sync_loop())
     os.remove(dbfile)
Example #10
0
 def test_change_password(self):
     dbfile = 'test_users_chpwd.sqlite'
     create_test_db(dbfile, 1, 100)
     data_engine = DataEngine(self.host, self.port, dbfile)
     self.assertTrue(data_engine.validate_user('admin', '12345678'))
     self.assertTrue(
         data_engine.change_password('admin', '12345678', '87654321'))
     self.assertTrue(data_engine.validate_user('admin', '87654321'))
     self.assertFalse(
         data_engine.change_password('admin', '12345678', '87654321'))
     os.remove(dbfile)
Example #11
0
 def _read_settings(self):
     conf = configparser.ConfigParser(allow_no_value=True)
     conf.read('settings.ini')
     settings = conf['socket']
     self.web_settings = conf['web_server']
     try:
         self._ssl = conf.getboolean('web_server', 'https_enabled')
     except AttributeError as e:
         self._ssl = False
     self.page_size = int(self.web_settings['page_size'])
     db_autoclean = int(conf['db_settings']['store_days'])
     try:
         self.db_engine.db_autoclean_days = db_autoclean
     except AttributeError:
         self.db_engine = DataEngine(settings['host'],
                                     settings['port'],
                                     db_autoclean_days=db_autoclean)
         self.db_engine.start_sync_loop(settings['db_update_period'])
Example #12
0
 def test_autoclean_old_messages(self):
     dbfile = 'test_auto_delete_old_messages.sqlite'
     create_test_db(dbfile, 1, 100)
     data_engine = DataEngine(self.host, self.port, dbfile, 2)
     data, pages = data_engine.get_messages_by_id(0)
     date_before = datetime.now() - timedelta(days=2)
     counter = 0
     for row in data:
         if datetime.strptime(row[3],
                              data_engine.datetime_format) < date_before:
             counter += 1
     records = len(data)
     data_engine.get_last_messages()
     sleep(2)
     data, pages = data_engine.get_messages_by_id(0)
     fresh = len(data)
     self.assertTrue(records == fresh + counter)
     os.remove(dbfile)