test_pure.py 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. # -*- coding: utf-8 -*-
  2. import unittest
  3. import os
  4. import media.monitor.pure as mmp
  5. class TestMMP(unittest.TestCase):
  6. def setUp(self):
  7. self.md1 = {'MDATA_KEY_MD5': '71185323c2ab0179460546a9d0690107',
  8. 'MDATA_KEY_FTYPE': 'audioclip',
  9. 'MDATA_KEY_MIME': 'audio/vorbis',
  10. 'MDATA_KEY_DURATION': '0:0:25.000687',
  11. 'MDATA_KEY_SAMPLERATE': 48000,
  12. 'MDATA_KEY_BITRATE': 64000,
  13. 'MDATA_KEY_REPLAYGAIN': 0,
  14. 'MDATA_KEY_TITLE': u'ACDC_-_Back_In_Black-sample-64kbps'}
  15. def test_apply_rules(self):
  16. sample_dict = {
  17. 'key' : 'val',
  18. 'test' : 'IT',
  19. }
  20. rules = {
  21. 'key' : lambda x : x.upper(),
  22. 'test' : lambda y : y.lower()
  23. }
  24. sample_dict = mmp.apply_rules_dict(sample_dict, rules)
  25. self.assertEqual(sample_dict['key'], 'VAL')
  26. self.assertEqual(sample_dict['test'], 'it')
  27. def test_default_to(self):
  28. sd = { }
  29. def_keys = ['one','two','three']
  30. sd = mmp.default_to(dictionary=sd, keys=def_keys, default='DEF')
  31. for k in def_keys: self.assertEqual( sd[k], 'DEF' )
  32. def test_file_md5(self):
  33. p = os.path.realpath(__file__)
  34. m1 = mmp.file_md5(p)
  35. m2 = mmp.file_md5(p,10)
  36. self.assertTrue( m1 != m2 )
  37. self.assertRaises( ValueError, lambda : mmp.file_md5('/file/path') )
  38. self.assertTrue( m1 == mmp.file_md5(p) )
  39. def test_sub_path(self):
  40. f1 = "/home/testing/123.mp3"
  41. d1 = "/home/testing"
  42. d2 = "/home/testing/"
  43. self.assertTrue( mmp.sub_path(d1, f1) )
  44. self.assertTrue( mmp.sub_path(d2, f1) )
  45. def test_parse_int(self):
  46. self.assertEqual( mmp.parse_int("123"), "123" )
  47. self.assertEqual( mmp.parse_int("123asf"), "123" )
  48. self.assertEqual( mmp.parse_int("asdf"), None )
  49. def test_truncate_to_length(self):
  50. s1 = "testing with non string literal"
  51. s2 = u"testing with unicode literal"
  52. self.assertEqual( len(mmp.truncate_to_length(s1, 5)), 5)
  53. self.assertEqual( len(mmp.truncate_to_length(s2, 8)), 8)
  54. def test_owner_id(self):
  55. start_path = "testing.mp3"
  56. id_path = "testing.mp3.identifier"
  57. o_id = 123
  58. f = open(id_path, 'w')
  59. f.write("123")
  60. f.close()
  61. possible_id = mmp.owner_id(start_path)
  62. self.assertFalse( os.path.exists(id_path) )
  63. self.assertEqual( possible_id, o_id )
  64. self.assertEqual( -1, mmp.owner_id("something.random") )
  65. if __name__ == '__main__': unittest.main()