summaryrefslogtreecommitdiff
path: root/test/test.py
diff options
context:
space:
mode:
authoremkael <emkael@tlen.pl>2019-01-18 02:17:01 +0100
committeremkael <emkael@tlen.pl>2019-01-18 02:17:01 +0100
commita035a0dbde6239bf3455d84458e302d3a6c6afac (patch)
tree999d4a84b476897d74ca8889bb0c5260674d3847 /test/test.py
parent033cd8f39d3e88283e4eb626f35f0e97c16e9e0e (diff)
More comprehensive API tests
Diffstat (limited to 'test/test.py')
-rw-r--r--test/test.py67
1 files changed, 7 insertions, 60 deletions
diff --git a/test/test.py b/test/test.py
index bc4ef14..d11e1cb 100644
--- a/test/test.py
+++ b/test/test.py
@@ -1,65 +1,12 @@
-import csv
-import requests
-import random
-import os
+import sys
import unittest
-from apitest.pzbs import PzbsCalculator
-from apitest.api import ApiCalculator
-
-def runTest(tester, params):
- return tester.get_response(
- requests.post(
- tester.get_url(),
- data=tester.get_request(*params)
- ).text)
-
-class ApiTestCase(unittest.TestCase):
- def __setupParams(self):
- csv_files = []
- for root, dirs, files in os.walk('./csv'):
- csv_files += [os.path.join(root, f) for f in files]
- self.params = []
- for csv_file in csv_files:
- csv_content = csv.reader(open(csv_file), delimiter=";")
- param_contents = [
- row for idx, row in enumerate(csv_content) if idx == 2][0]
- self.params.append((
- param_contents[0][0].lower(),
- None, 0,
- int(param_contents[1]), float(param_contents[4])))
-
- def setUp(self):
- self.pzbs = PzbsCalculator()
- self.api = ApiCalculator()
- self.__setupParams()
- self.longMessage=True
- self.maxDiff = None
-
- @unittest.skip('')
- def test_csvCases(self):
- for params in self.params:
- for rank in ApiCalculator.ranks.keys():
- for boards in [0, 1]:
- p = (params[0], rank, boards, params[3], params[4])
- self.assertEqual(
- runTest(self.pzbs, p),
- runTest(self.api, p),
- msg=str(p))
-
- def test_randomCases(self):
- for i in range(0, 20):
- for type in ['t', 'p', 'i']:
- for rank in ApiCalculator.ranks.keys():
- for boards in [0, 1]:
- p = (type, rank, boards,
- random.randint(6, 350),
- random.randint(0, 4000) / 2.0)
- self.assertEqual(
- runTest(self.pzbs, p),
- runTest(self.api, p),
- msg=str(p))
+import tests.ApiTest
if __name__ == '__main__':
- suite = unittest.TestLoader().loadTestsFromTestCase(ApiTestCase)
+ suite = unittest.TestLoader().loadTestsFromModule(tests.ApiTest) \
+ if len(sys.argv) < 2 \
+ else unittest.TestLoader().loadTestsFromNames(
+ ['tests.ApiTest.ApiTestCase.test_%sCases' % (s)
+ for s in sys.argv[1:]])
unittest.TextTestRunner(verbosity=2).run(suite)