54 lines
1.4 KiB
Python
54 lines
1.4 KiB
Python
|
import time
|
||
|
import unittest
|
||
|
|
||
|
from six.moves import xmlrpc_client
|
||
|
|
||
|
from pybitmessage import pathmagic
|
||
|
|
||
|
|
||
|
class TestAPIThread(unittest.TestCase):
|
||
|
"""Test case running the API thread"""
|
||
|
|
||
|
@classmethod
|
||
|
def setUpClass(cls):
|
||
|
pathmagic.setup() # need this because of import state in network ):
|
||
|
|
||
|
import helper_sql
|
||
|
import helper_startup
|
||
|
import state
|
||
|
from bmconfigparser import BMConfigParser
|
||
|
|
||
|
class SqlReadyMock(object):
|
||
|
@staticmethod
|
||
|
def wait():
|
||
|
return
|
||
|
|
||
|
helper_sql.sql_ready = SqlReadyMock
|
||
|
cls.state = state
|
||
|
helper_startup.loadConfig()
|
||
|
# helper_startup.fixSocket()
|
||
|
config = BMConfigParser()
|
||
|
|
||
|
config.set(
|
||
|
'bitmessagesettings', 'apiusername', 'username')
|
||
|
config.set(
|
||
|
'bitmessagesettings', 'apipassword', 'password')
|
||
|
config.save()
|
||
|
|
||
|
import api
|
||
|
cls.thread = api.singleAPI()
|
||
|
cls.thread.daemon = True
|
||
|
cls.thread.start()
|
||
|
time.sleep(3)
|
||
|
cls.api = xmlrpc_client.ServerProxy(
|
||
|
"http://username:password@127.0.0.1:8442/")
|
||
|
|
||
|
def test_connection(self):
|
||
|
"""API command 'helloWorld'"""
|
||
|
self.assertEqual(
|
||
|
self.api.helloWorld('hello', 'world'), 'hello-world')
|
||
|
|
||
|
@classmethod
|
||
|
def tearDownClass(cls):
|
||
|
cls.state.shutdown = 1
|