Add more unit tests
This commit is contained in:
parent
cc4687021a
commit
ee59b12238
1
.gitignore
vendored
1
.gitignore
vendored
@ -6,5 +6,6 @@ onionr/*.pyc
|
||||
onionr/*.log
|
||||
onionr/data/hs/hostname
|
||||
onionr/data/*
|
||||
onionr/data-backup/*
|
||||
onionr/gnupg/*
|
||||
run.sh
|
||||
|
16
Makefile
16
Makefile
@ -2,10 +2,10 @@
|
||||
|
||||
setup:
|
||||
sudo pip3 install -r requirements.txt
|
||||
sudo rm -rf /usr/share/onionr/
|
||||
sudo rm -f /usr/bin/onionr
|
||||
|
||||
install:
|
||||
sudo rm -rf /usr/share/onionr/
|
||||
sudo rm -f /usr/bin/onionr
|
||||
sudo cp -rp ./onionr /usr/share/onionr
|
||||
sudo sh -c "echo \"#!/bin/sh\ncd /usr/share/onionr/\n./onionr.py \\\"\\\$$@\\\"\" > /usr/bin/onionr"
|
||||
sudo chmod +x /usr/bin/onionr
|
||||
@ -16,12 +16,14 @@ uninstall:
|
||||
sudo rm -f /usr/bin/onionr
|
||||
|
||||
test:
|
||||
@cd onionr; ./tests.py
|
||||
|
||||
@rm -rf onionr/data-backup
|
||||
@mv onionr/data onionr/data-backup | true > /dev/null 2>&1
|
||||
-@cd onionr; ./tests.py
|
||||
@rm -rf onionr/data
|
||||
@mv onionr/data-backup onionr/data | true > /dev/null 2>&1
|
||||
|
||||
reset:
|
||||
echo "RESETING ONIONR"
|
||||
rm -f onionr/data/blocks/*.dat | true > /dev/null 2>&1
|
||||
rm -f onionr/data/peers.db | true > /dev/null 2>&1
|
||||
rm -f onionr/data/blocks.db | true > /dev/null 2>&1
|
||||
rm -rf onionr/data/address.db | true > /dev/null 2>&1
|
||||
|
||||
rm -f onionr/data/address.db | true > /dev/null 2>&1
|
||||
|
@ -27,7 +27,7 @@ def get(key, default = None):
|
||||
'''
|
||||
Gets the key from configuration, or returns `default`
|
||||
'''
|
||||
|
||||
|
||||
if is_set(key):
|
||||
return get_config()[key]
|
||||
return default
|
||||
@ -38,7 +38,10 @@ def set(key, value = None, savefile = False):
|
||||
'''
|
||||
|
||||
global _config
|
||||
_config[key] = value
|
||||
if value is None:
|
||||
del _config[key]
|
||||
else:
|
||||
_config[key] = value
|
||||
|
||||
if savefile:
|
||||
save()
|
||||
|
@ -173,8 +173,6 @@ def exists(name):
|
||||
Return value indicates whether or not the plugin exists
|
||||
'''
|
||||
|
||||
check()
|
||||
|
||||
return os.path.isdir(get_plugins_folder(str(name).lower()))
|
||||
|
||||
def get_enabled_plugins():
|
||||
@ -226,6 +224,11 @@ def check():
|
||||
|
||||
if not os.path.exists(os.path.dirname(get_plugins_folder())):
|
||||
logger.debug('Generating plugin data folder...')
|
||||
os.path.mkdirs(os.path.dirname(get_plugins_folder()))
|
||||
os.makedirs(os.path.dirname(get_plugins_folder()))
|
||||
|
||||
if not exists('test'):
|
||||
os.makedirs(get_plugins_folder('test'))
|
||||
with open(get_plugins_folder('test') + '/main.py', 'a') as main:
|
||||
main.write("print('Running')\n\ndef on_test(onionr = None, data = None):\n print('received test event!')\n return True\n\ndef on_start(onionr = None, data = None):\n print('start event called')\n\ndef on_stop(onionr = None, data = None):\n print('stop event called')\n\ndef on_enable(onionr = None, data = None):\n print('enable event called')\n\ndef on_disable(onionr = None, data = None):\n print('disable event called')\n")
|
||||
enable('test')
|
||||
return
|
||||
|
@ -14,7 +14,7 @@
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
'''
|
||||
import unittest, sys, os, base64, tarfile, shutil, simplecrypt, logger
|
||||
import unittest, sys, os, base64, tarfile, shutil, simplecrypt, logger, btc
|
||||
|
||||
class OnionrTests(unittest.TestCase):
|
||||
def testPython3(self):
|
||||
@ -25,9 +25,9 @@ class OnionrTests(unittest.TestCase):
|
||||
self.assertTrue(True)
|
||||
|
||||
def testNone(self):
|
||||
logger.debug('--------------------------')
|
||||
logger.debug('-'*26 + '\n')
|
||||
logger.info('Running simple program run test...')
|
||||
# Test just running ./onionr with no arguments
|
||||
|
||||
blank = os.system('./onionr.py --version')
|
||||
if blank != 0:
|
||||
self.assertTrue(False)
|
||||
@ -35,8 +35,9 @@ class OnionrTests(unittest.TestCase):
|
||||
self.assertTrue(True)
|
||||
|
||||
def testPeer_a_DBCreation(self):
|
||||
logger.debug('--------------------------')
|
||||
logger.debug('-'*26 + '\n')
|
||||
logger.info('Running peer db creation test...')
|
||||
|
||||
if os.path.exists('data/peers.db'):
|
||||
os.remove('data/peers.db')
|
||||
import core
|
||||
@ -48,8 +49,9 @@ class OnionrTests(unittest.TestCase):
|
||||
self.assertTrue(False)
|
||||
|
||||
def testPeer_b_addPeerToDB(self):
|
||||
logger.debug('--------------------------')
|
||||
logger.debug('-'*26 + '\n')
|
||||
logger.info('Running peer db insertion test...')
|
||||
|
||||
import core
|
||||
myCore = core.Core()
|
||||
if not os.path.exists('data/peers.db'):
|
||||
@ -62,8 +64,10 @@ class OnionrTests(unittest.TestCase):
|
||||
def testData_b_Encrypt(self):
|
||||
self.assertTrue(True)
|
||||
return
|
||||
logger.debug('--------------------------')
|
||||
|
||||
logger.debug('-'*26 + '\n')
|
||||
logger.info('Running data dir encrypt test...')
|
||||
|
||||
import core
|
||||
myCore = core.Core()
|
||||
myCore.dataDirEncrypt('password')
|
||||
@ -75,8 +79,10 @@ class OnionrTests(unittest.TestCase):
|
||||
def testData_a_Decrypt(self):
|
||||
self.assertTrue(True)
|
||||
return
|
||||
logger.debug('--------------------------')
|
||||
|
||||
logger.debug('-'*26 + '\n')
|
||||
logger.info('Running data dir decrypt test...')
|
||||
|
||||
import core
|
||||
myCore = core.Core()
|
||||
myCore.dataDirDecrypt('password')
|
||||
@ -85,9 +91,42 @@ class OnionrTests(unittest.TestCase):
|
||||
else:
|
||||
self.assertTrue(False)
|
||||
|
||||
def testPlugins(self):
|
||||
logger.debug('--------------------------')
|
||||
logger.info('Running simple plugin system test...')
|
||||
def testConfig(self):
|
||||
logger.debug('-'*26 + '\n')
|
||||
logger.info('Running simple configuration test...')
|
||||
|
||||
import config
|
||||
|
||||
config.check()
|
||||
config.reload()
|
||||
configdata = str(config.get_config())
|
||||
|
||||
config.set('testval', 1337)
|
||||
if not config.get('testval', None) is 1337:
|
||||
self.assertTrue(False)
|
||||
|
||||
config.set('testval')
|
||||
if not config.get('testval', None) is None:
|
||||
self.assertTrue(False)
|
||||
|
||||
config.save()
|
||||
config.reload()
|
||||
|
||||
if not str(config.get_config()) == configdata:
|
||||
self.assertTrue(False)
|
||||
|
||||
self.assertTrue(True)
|
||||
|
||||
def testBitcoinNode(self):
|
||||
logger.debug('-'*26 + '\n')
|
||||
logger.info('Running bitcoin node test...')
|
||||
|
||||
sbitcoin = btc.OnionrBTC()
|
||||
|
||||
def testPluginReload(self):
|
||||
logger.debug('-'*26 + '\n')
|
||||
logger.info('Running simple plugin reload test...')
|
||||
|
||||
import onionrplugins
|
||||
try:
|
||||
onionrplugins.reload('test')
|
||||
@ -95,9 +134,36 @@ class OnionrTests(unittest.TestCase):
|
||||
except:
|
||||
self.assertTrue(False)
|
||||
|
||||
def testPluginStopStart(self):
|
||||
logger.debug('-'*26 + '\n')
|
||||
logger.info('Running simple plugin restart test...')
|
||||
|
||||
import onionrplugins
|
||||
try:
|
||||
onionrplugins.start('test')
|
||||
onionrplugins.stop('test')
|
||||
self.assertTrue(True)
|
||||
except:
|
||||
self.assertTrue(False)
|
||||
|
||||
def testPluginEvent(self):
|
||||
logger.debug('-'*26 + '\n')
|
||||
logger.info('Running plugin event test...')
|
||||
|
||||
import onionrplugins as plugins, onionrevents as events
|
||||
|
||||
plugins.start('test')
|
||||
if not events.call(plugins.get_plugin('test'), 'test'):
|
||||
self.assertTrue(False)
|
||||
|
||||
events.event('test', data = {'tests': self})
|
||||
|
||||
self.assertTrue(True)
|
||||
|
||||
def testQueue(self):
|
||||
logger.debug('--------------------------')
|
||||
logger.debug('-'*26 + '\n')
|
||||
logger.info('Running daemon queue test...')
|
||||
|
||||
# test if the daemon queue can read/write data
|
||||
import core
|
||||
myCore = core.Core()
|
||||
@ -117,8 +183,9 @@ class OnionrTests(unittest.TestCase):
|
||||
logger.info('Succesfully added and read command')
|
||||
|
||||
def testHashValidation(self):
|
||||
logger.debug('--------------------------')
|
||||
logger.debug('-'*26 + '\n')
|
||||
logger.info('Running hash validation test...')
|
||||
|
||||
import core
|
||||
myCore = core.Core()
|
||||
if not myCore._utils.validateHash("$324dfgfdg") and myCore._utils.validateHash("f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2") and not myCore._utils.validateHash("f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd$"):
|
||||
@ -127,8 +194,9 @@ class OnionrTests(unittest.TestCase):
|
||||
self.assertTrue(False)
|
||||
|
||||
def testAddAdder(self):
|
||||
logger.debug('--------------------------')
|
||||
logger.debug('-'*26 + '\n')
|
||||
logger.info('Running address add+remove test')
|
||||
|
||||
import core
|
||||
myCore = core.Core()
|
||||
if not os.path.exists('data/address.db'):
|
||||
@ -140,4 +208,5 @@ class OnionrTests(unittest.TestCase):
|
||||
self.assertTrue(False)
|
||||
else:
|
||||
self.assertTrue(False)
|
||||
|
||||
unittest.main()
|
||||
|
Loading…
Reference in New Issue
Block a user