is-anybody-here-bot/env/lib/python2.7/site-packages/update_checker_test.py

82 lines
2.8 KiB
Python

#!/usr/bin/env python
import sys
import unittest
try:
from StringIO import StringIO
except ImportError:
from io import StringIO # NOQA
from update_checker import UpdateChecker, update_check
class UpdateCheckerTest(unittest.TestCase):
TRACKED_PACKAGE = 'praw'
UNTRACKED_PACKAGE = 'requests'
def test_checker_check__bad_url(self):
checker = UpdateChecker('http://sdlkjsldfkjsdlkfj.com')
checker.bypass_cache = True
self.assertFalse(checker.check(self.TRACKED_PACKAGE, '0.0.1'))
def test_checker_check__no_update_to_beta_version(self):
checker = UpdateChecker()
checker.bypass_cache = True
self.assertFalse(checker.check(self.TRACKED_PACKAGE, '3.6'))
def test_check_check__untracked_package(self):
checker = UpdateChecker()
checker.bypass_cache = True
self.assertEqual("update_checker does not support 'requests'",
checker.check(self.UNTRACKED_PACKAGE, '0.0.1'))
def test_checker_check__update_to_beta_version_from_beta_version(self):
checker = UpdateChecker()
checker.bypass_cache = True
self.assertTrue(checker.check(self.TRACKED_PACKAGE, '4.0.0b4'))
def test_checker_check__update_to_rc_version_from_beta_version(self):
checker = UpdateChecker()
checker.bypass_cache = True
self.assertTrue(checker.check(self.TRACKED_PACKAGE, '4.0.0b4'))
def test_checker_check__successful(self):
checker = UpdateChecker()
checker.bypass_cache = True
result = checker.check(self.TRACKED_PACKAGE, '1.0.0')
self.assertTrue(result is not None)
def test_update_check__successful(self):
prev_stdout = sys.stdout
sys.stdout = StringIO()
try:
update_check(self.TRACKED_PACKAGE, '0.0.1', bypass_cache=True)
finally:
result = sys.stdout
sys.stdout = prev_stdout
self.assertTrue(len(result.getvalue()) > 0)
def test_update_check__unsuccessful(self):
prev_stdout = sys.stdout
sys.stdout = StringIO()
try:
update_check(self.TRACKED_PACKAGE, '0.0.1', bypass_cache=True,
url='http://sdlkjsldfkjsdlkfj.com')
finally:
result = sys.stdout
sys.stdout = prev_stdout
self.assertTrue(len(result.getvalue()) == 0)
def test_update_check__untracked_package(self):
prev_stdout = sys.stdout
sys.stdout = StringIO()
try:
update_check(self.UNTRACKED_PACKAGE, '0.0.1', bypass_cache=True)
finally:
result = sys.stdout
sys.stdout = prev_stdout
self.assertEqual("update_checker does not support 'requests'\n",
result.getvalue())
if __name__ == '__main__':
unittest.main()