uploader.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. # -*- coding: utf-8 -*-
  2. # Copyright (C) 2015-2016 Peter Magnusson <peter@birchroad.net>
  3. import unittest
  4. import os, time
  5. from nodemcu_uploader import Uploader
  6. LOOPPORT = 'loop://'
  7. #on which port should the tests be performed
  8. SERIALPORT = os.environ.get('SERIALPORT', LOOPPORT)
  9. def is_real():
  10. if SERIALPORT.strip() == '':
  11. return False
  12. return str(SERIALPORT) != str(LOOPPORT)
  13. # class UploaderFakeTestCase(unittest.TestCase):
  14. # def test_init(self):
  15. # print "SP", SERIALPORT
  16. # uploader = Uploader(SERIALPORT)
  17. # uploader.close()
  18. @unittest.skipUnless(is_real(), 'Needs a configured SERIALPORT')
  19. class UploaderTestCase(unittest.TestCase):
  20. uploader = None
  21. def setUp(self):
  22. self.uploader = Uploader(SERIALPORT)
  23. def tearDown(self):
  24. if is_real():
  25. self.uploader.node_restart()
  26. self.uploader.close()
  27. time.sleep(1)
  28. def test_upload_and_verify_raw(self):
  29. self.uploader.prepare()
  30. self.uploader.write_file('tests/fixtures/big_file.txt', verify='raw')
  31. def test_upload_and_verify_sha1(self):
  32. self.uploader.prepare()
  33. self.uploader.write_file('tests/fixtures/big_file.txt', verify='sha1')
  34. def test_upload_strange_file(self):
  35. self.uploader.prepare()
  36. self.uploader.write_file('tests/fixtures/testuploadfail.txt', verify='raw')
  37. def test_file_list(self):
  38. lst = self.uploader.file_list()
  39. self.assertIsInstance(lst, type([]))
  40. self.assertGreaterEqual(len(lst), 1)
  41. self.assertLess(len(lst), 50)
  42. def test_node_heap(self):
  43. size = self.uploader.node_heap()
  44. self.assertGreater(size, 20000)
  45. self.assertLess(size, 60000)