예제 #1
0
 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)
예제 #2
0
    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] + '...')
예제 #3
0
 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()))
예제 #4
0
 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)
예제 #5
0
 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()))
예제 #6
0
        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))
예제 #7
0
 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)