summaryrefslogtreecommitdiff
path: root/test/apitest/api.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/apitest/api.py')
-rw-r--r--test/apitest/api.py48
1 files changed, 48 insertions, 0 deletions
diff --git a/test/apitest/api.py b/test/apitest/api.py
new file mode 100644
index 0000000..4a52296
--- /dev/null
+++ b/test/apitest/api.py
@@ -0,0 +1,48 @@
+import json
+import urlparse
+
+from .apitest import ApiTest
+
+class ApiCalculator(ApiTest):
+ ranks = {
+ 'o++++': 7,
+ 'o+++': 6,
+ 'o++': 5,
+ 'o+': 4,
+ 'o-': 3,
+ 'r': 2,
+ 'o': 1,
+ 'k': 0
+ }
+ def get_url(self):
+ return 'http://localhost/pkl/api.php'
+ def get_method(self):
+ return 'post'
+ def get_request(self,
+ tour_type, tour_rank, tour_boards,
+ cont_count, cont_rank,
+ override=None):
+ params = {}
+ params['type'] = self.tourtypes[tour_type]
+ params['over39_boards'] = tour_boards
+ params['tournament_rank'] = self.ranks[tour_rank]
+ params['contestants'] = cont_count
+ params['title_sum'] = cont_rank
+ if override:
+ params['manual'] = {}
+ if 'points' in override:
+ params['manual[min_points]'] = override['points']
+ if 'weight' in override:
+ params['manual[tournament_weight]'] = override['weight']
+ if 'players' in override:
+ params['manual[players_coefficient]'] = override['players']
+ if 'cutoff' in override:
+ i = 0
+ for c in override['cutoff']:
+ params['manual[points_cutoffs][' + str(i) + '][0]'] = c[0]
+ params['manual[points_cutoffs][' + str(i) + '][1]'] = c[1]
+ i += 1
+ return params
+
+ def get_response(self, text):
+ return json.loads(text)