uploader.py 1.7 KB

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