def test_wgapi_retry(self, get): get.return_value.json.return_value = { "status": "error", "error": {"code": 504, "field": None, "message": u"SOURCE_NOT_AVAILABLE", "value": None}, } res = WGAPI("http://apiurl/") with self.assertRaises(RequestError): res._fetch_data() self.assertEqual(get.return_value.json.call_count, RETRY_COUNT)
def test_wgapi_strings(self, get): data = [{'id': '123456'}] get.return_value.json.return_value = {'status': 'ok', 'data': data} res = WGAPI('http://apiurl/') self.assertEqual(str(res), str(data)) self.assertEqual(repr(res), str(data)) data = [{'id': '123456'}] * 20 get.return_value.json.return_value = {'status': 'ok', 'data': data} res = WGAPI('http://apiurl/') self.assertEqual(repr(res), str(data)[0:200] + '...')
def test_wgapi_dict(self, get): data = {"123456": {"name": "title"}, 123458: {"name": "title 3"}} get.return_value.json.return_value = {"status": "ok", "data": data} res = WGAPI("http://apiurl/") # test conversion of numeric keys self.assertEqual(res[123456], data["123456"]) self.assertEqual(res["123456"], data["123456"]) self.assertEqual(res[123458], data[123458]) self.assertEqual(res["123458"], data[123458]) self.assertEqual(dict(res), data) self.assertTrue(all(i in res.values() for i in data.values()))
def test_wgapi_retry(self, get): get.return_value.json.return_value = {'status': 'error', 'error': { 'code': 504, 'field': None, 'message': u'SOURCE_NOT_AVAILABLE', 'value': None }} res = WGAPI('http://apiurl/') with self.assertRaises(RequestError): res._fetch_data() self.assertEqual(get.return_value.json.call_count, RETRY_COUNT)
def test_wgapi_dict(self, get): data = { '123456': {'name': 'title'}, 123458: {'name': 'title 3'}, } get.return_value.json.return_value = {'status': 'ok', 'data': data} res = WGAPI('http://apiurl/') # test conversion of numeric keys self.assertEqual(res[123456], data['123456']) self.assertEqual(res['123456'], data['123456']) self.assertEqual(res[123458], data[123458]) self.assertEqual(res['123458'], data[123458]) self.assertEqual(dict(res), data) self.assertTrue(all(i in res.values() for i in data.values()))
def wg_clan_battles(clan_id): """Unofficial API call to list planned and current battles""" if not clan_id: raise ValidationError("Clan id can't be blank") return WGAPI( "https://%s.wargaming.net/globalmap/game_api/clan/%s/battles" % (region, clan_id))
def test_wgapi_list(self, get): data = [{'id': '123456'}] get.return_value.json.return_value = {'status': 'ok', 'data': data} res = WGAPI('http://apiurl/') self.assertEqual(res[0], data[0]) self.assertEqual(list(res), data)