forked from LBRYCommunity/lbry-sdk
439a0f8778
-add docopt unit test
47 lines
2.1 KiB
Python
47 lines
2.1 KiB
Python
import docopt
|
|
from twisted.trial import unittest
|
|
from lbrynet.daemon import DaemonCLI
|
|
from lbrynet.daemon.Daemon import Daemon
|
|
|
|
|
|
class DaemonCLITests(unittest.TestCase):
|
|
def test_guess_type(self):
|
|
self.assertEqual('0.3.8', DaemonCLI.guess_type('0.3.8'))
|
|
self.assertEqual(0.3, DaemonCLI.guess_type('0.3'))
|
|
self.assertEqual(3, DaemonCLI.guess_type('3'))
|
|
self.assertEqual('VdNmakxFORPSyfCprAD/eDDPk5TY9QYtSA==',
|
|
DaemonCLI.guess_type('VdNmakxFORPSyfCprAD/eDDPk5TY9QYtSA=='))
|
|
self.assertEqual(0.3, DaemonCLI.guess_type('0.3'))
|
|
self.assertEqual(True, DaemonCLI.guess_type('TRUE'))
|
|
self.assertEqual(True, DaemonCLI.guess_type('true'))
|
|
self.assertEqual(True, DaemonCLI.guess_type('True'))
|
|
self.assertEqual(False, DaemonCLI.guess_type('FALSE'))
|
|
self.assertEqual(False, DaemonCLI.guess_type('false'))
|
|
self.assertEqual(False, DaemonCLI.guess_type('False'))
|
|
|
|
|
|
self.assertEqual('3', DaemonCLI.guess_type('3', key="uri"))
|
|
self.assertEqual('0.3', DaemonCLI.guess_type('0.3', key="uri"))
|
|
self.assertEqual('True', DaemonCLI.guess_type('True', key="uri"))
|
|
self.assertEqual('False', DaemonCLI.guess_type('False', key="uri"))
|
|
|
|
self.assertEqual('3', DaemonCLI.guess_type('3', key="file_name"))
|
|
self.assertEqual('3', DaemonCLI.guess_type('3', key="name"))
|
|
self.assertEqual('3', DaemonCLI.guess_type('3', key="download_directory"))
|
|
self.assertEqual('3', DaemonCLI.guess_type('3', key="channel_name"))
|
|
|
|
self.assertEqual(3, DaemonCLI.guess_type('3', key="some_other_thing"))
|
|
|
|
|
|
class DaemonDocsTests(unittest.TestCase):
|
|
def test_can_parse_api_method_docs(self):
|
|
failures = []
|
|
for name, fn in Daemon.callable_methods.iteritems():
|
|
try:
|
|
docopt.docopt(fn.__doc__, ())
|
|
except docopt.DocoptLanguageError as err:
|
|
failures.append("invalid docstring for %s, %s" % (name, err.message))
|
|
except docopt.DocoptExit:
|
|
pass
|
|
if failures:
|
|
self.fail("\n" + "\n".join(failures))
|