test_syncdb.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. # -*- coding: utf-8 -*-
  2. import unittest
  3. import os
  4. from media.monitor.syncdb import AirtimeDB
  5. from media.monitor.log import get_logger
  6. from media.monitor.pure import partition
  7. import api_clients.api_client as ac
  8. import prepare_tests
  9. class TestAirtimeDB(unittest.TestCase):
  10. def setUp(self):
  11. self.ac = ac.AirtimeApiClient(logger=get_logger(),
  12. config_path=prepare_tests.real_config)
  13. def test_syncdb_init(self):
  14. sdb = AirtimeDB(self.ac)
  15. self.assertTrue( len(sdb.list_storable_paths()) > 0 )
  16. def test_list(self):
  17. self.sdb = AirtimeDB(self.ac)
  18. for watch_dir in self.sdb.list_storable_paths():
  19. self.assertTrue( os.path.exists(watch_dir) )
  20. def test_directory_get_files(self):
  21. sdb = AirtimeDB(self.ac)
  22. print(sdb.list_storable_paths())
  23. for wdir in sdb.list_storable_paths():
  24. files = sdb.directory_get_files(wdir)
  25. print( "total files: %d" % len(files) )
  26. self.assertTrue( len(files) >= 0 )
  27. self.assertTrue( isinstance(files, set) )
  28. exist, deleted = partition(os.path.exists, files)
  29. print("(exist, deleted) = (%d, %d)" % ( len(exist), len(deleted) ) )
  30. if __name__ == '__main__': unittest.main()