/
utest_longbot.py
103 lines (81 loc) · 3.01 KB
/
utest_longbot.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
import unittest
class TestLongBot(unittest.TestCase):
def test_create(self):
from longbot import LongBot
lb = LongBot("Test", '{"depo": [{"ticker": "QQQC", "count": 100, "at": "USD32.63", "cost": "NOK26875.24"}]}')
self.assertTrue(len(lb.props.keys()) > 0)
def test_sql(self):
from longbot import LongBot
lb = LongBot("Test", "{}")
#lb.sqlConnect()
self.assertTrue(len(lb.props.keys()) > 0)
def test_sqlFetch(self):
from longbot import LongBot
lb = LongBot("Test", "{}")
#Creates too many requests
#lb.sqlConnect()
#lb.fetch("daily")
#self.assertTrue(len(lb.props.keys()) > 0)
def test_sqlGetBots(self):
from longbot import LongBot
list = LongBot.loadBots("0")
self.assertTrue(len(list) > 0)
def test_processNasdaqRss(self):
import importlib
Processor = getattr(importlib.import_module("process_nbvalu"), "Processor")
Processor = getattr(importlib.import_module("process_nasdaqrss"), "Processor")
data = ""
fp = open("process_nasdaqrss.testdata",'r')
data = fp.read()
fp.close()
self.assertTrue(len(data) > 100)
res = Processor.process(data)
self.assertEqual(res['ticker'], "qqqc")
self.assertEqual(res['last'], "32.178")
self.assertEqual(res['time'], "13:00:00")
self.assertEqual(res['date'], "2017-11-24")
def test_processNorgesBankEUR(self):
import importlib
Processor = getattr(importlib.import_module("process_nbvalu"), "Processor")
data = ""
fp = open("process_nbvalu.testdata",'r')
data = fp.read()
fp.close()
self.assertTrue(len(data) > 100)
res = Processor.process(data)
self.assertEqual(res['ticker'], "EUR")
self.assertEqual(res['last'], "9.6608")
self.assertEqual(res['time'], "15:01:00")
self.assertEqual(res['date'], "2017-11-24")
def test_insertTickerData(self):
from sql import SQL
s = SQL()
s.connect()
r = s.insertTickerData("TEST", 123.34, 1000, "2017-11-24 13:00:00")
s.close()
self.assertEqual(r, 1)
def test_valueChain(self):
from longbot import LongBot
from push import Push
LongBot.cacheData()
cn = LongBot.fetch("daily")
self.assertTrue(cn > 0)
if LongBot.fetch("hourly"):
bots = LongBot.loadBots("0")
for b in bots:
res, warn = b.calcDepo()
for w in warn:
Push.send(w)
else:
print("Unable to fetch")
LongBot.closeCache()
def test_pushover(self):
from push import Push
# Uncomment to send push message, will only send once if cached
Push.send("Test message 123")
if __name__=='__main__':
try:
unittest.main()
except SystemExit as inst:
if inst.args[0] is True: # raised by sys.exit(True) when tests failed
raise