summaryrefslogtreecommitdiff
path: root/tests/gamelocker_test.py
diff options
context:
space:
mode:
authorschneefux <schneefux+commit@schneefux.xyz>2017-02-25 12:22:47 +0100
committerschneefux <schneefux+commit@schneefux.xyz>2017-02-25 12:22:47 +0100
commit174019005c5dbb3b77d7a9db7e51c633fa7cbf71 (patch)
tree6c5d1fbfb8f2e686fc0bc85c4ab83b1e1a55a272 /tests/gamelocker_test.py
parent29deddab122b6dca89030e9a9c2ef641be53f45c (diff)
downloadpython-gamelocker-174019005c5dbb3b77d7a9db7e51c633fa7cbf71.tar.gz
python-gamelocker-174019005c5dbb3b77d7a9db7e51c633fa7cbf71.zip
update wrapper and tests for latest API changes
* deprecated "strings" module: API returns clean names already * an API token needs to be passed to the unit tests by an environment variable
Diffstat (limited to 'tests/gamelocker_test.py')
-rw-r--r--tests/gamelocker_test.py95
1 files changed, 59 insertions, 36 deletions
diff --git a/tests/gamelocker_test.py b/tests/gamelocker_test.py
index 9fce0a0..c7a27a9 100644
--- a/tests/gamelocker_test.py
+++ b/tests/gamelocker_test.py
@@ -1,16 +1,15 @@
#!/usr/bin/python
+import os
import pytest
import requests
import gamelocker
import datetime
class TestGamelocker:
- apikey = "aaa.bbb.ccc"
-
@pytest.fixture
def api(self):
- return gamelocker.Gamelocker(self.apikey).Vainglory()
+ return gamelocker.Gamelocker(os.environ["GAMELOCKER_APIKEY"]).Vainglory()
def test_req(self, api):
with pytest.raises(requests.exceptions.HTTPError):
@@ -22,44 +21,56 @@ class TestGamelocker:
def test_map(self):
assert gamelocker.datatypes.modulemap()["match"] is gamelocker.datatypes.Match
- def test_strings(self, api):
- assert gamelocker.strings.pretty("notexisting") == "notexisting"
- assert gamelocker.strings.pretty("Boots2") == "Travel Boots"
- assert gamelocker.strings.pretty("*1032_Item_TravelBoots*") == "Travel Boots"
- assert gamelocker.strings.pretty("unknowntestitem") == "unknowntestitem"
-
- match = api.match("91cf2ee4-d7d0-11e6-ad79-062445d3d668")
- assert isinstance(match.rosters[0].participants[0].actor, str)
-
- assert isinstance(match.rosters[0].stats["acesEarned"], int)
- assert isinstance(match.rosters[0].participants[0].stats["items"][0], str)
-
def test_match(self, api):
- match = api.match("91cf2ee4-d7d0-11e6-ad79-062445d3d668")
- assert match.gameMode == "casual"
+ match = api.match("0955b904-fb19-11e6-802d-0667892d829e")
+ assert isinstance(match.gameMode, str)
assert isinstance(match.rosters[0], gamelocker.datatypes.Roster)
assert isinstance(match.rosters[0].participants[0], gamelocker.datatypes.Participant)
assert isinstance(match.rosters[0].participants[0].player, gamelocker.datatypes.Player)
assert isinstance(match.rosters[0].participants[0].player.name, str)
+ assert isinstance(match.rosters[0].participants[0].actor, str)
+ assert isinstance(match.rosters[0].stats["acesEarned"], int)
+ assert isinstance(match.rosters[0].participants[0].stats["items"][0], str)
def test_matches(self, api):
- matches = api.matches()
+ matches = api.matches(params={
+ "filter[createdAt-start]": "2017-02-12T00:00:00Z",
+ "filter[playerNames]": "Kraken"
+ })
assert len(matches) > 0
assert isinstance(matches[0], gamelocker.datatypes.Match)
assert matches[0].duration > 0
def test_region(self, api):
assert len(api.matches(region="na",
- params={"filter[playerNames]": "Kraken"})) > 0
+ params={
+ "filter[createdAt-start]": "2017-02-12T00:00:00Z",
+ "filter[playerNames]": "Kraken"
+ })) > 0
assert len(api.matches(region="eu",
- params={"filter[playerNames]": "Bayu"})) > 0
+ params={
+ "filter[createdAt-start]": "2017-02-12T00:00:00Z",
+ "filter[playerNames]": "shutterfly"
+ })) > 0
assert len(api.matches(region="sg",
- params={"filter[playerNames]": "idmonfish"})) > 0
+ params={
+ "filter[createdAt-start]": "2017-02-12T00:00:00Z",
+ "filter[playerNames]": "idmonfish"
+ })) > 0
def test_matchesfilters(self, api):
- matches1 = api.matches({"page[limit]": 3})
+ matches1 = api.matches({
+ "filter[createdAt-start]": "2017-02-12T00:00:00Z",
+ "filter[playerNames]": "Kraken",
+ "page[limit]": 3
+ })
assert len(matches1) == 3
- matches2 = api.matches({"page[limit]": 3, "page[offset]": 1})
+ matches2 = api.matches({
+ "filter[createdAt-start]": "2017-02-12T00:00:00Z",
+ "filter[playerNames]": "Kraken",
+ "page[limit]": 3,
+ "page[offset]": 1
+ })
commons = 0 # 3 matches each, offset 1 -> 2 overlap
for match1 in matches1:
@@ -68,23 +79,31 @@ class TestGamelocker:
commons += 1
assert commons == 2
- # broken on server side
-# assert len(api.matches({"page[limit]": 42})) == 42
-
-# matches = api.matches({"page[limit]": 10, "sort": "duration"})
-# assert matches[0].duration < matches[9].duration
+ assert len(api.matches(region="eu", params={
+ "filter[createdAt-start]": "2017-02-12T00:00:00Z",
+ "filter[playerNames]": "shutterfly",
+ "page[limit]": 9
+ })) == 9
def fromiso(s):
return datetime.datetime.strptime(s, "%Y-%m-%dT%H:%M:%SZ")
- start = "2017-01-10T02:25:00Z"
- end = "2017-01-12T02:30:00Z"
- matches = api.matches({"filter[createdAt-start]": start, "filter[createdAt-end]": end})
+ start = "2017-02-20T02:25:00Z"
+ end = "2017-02-22T02:30:00Z"
+ matches = api.matches({
+ "filter[playerNames]": "Kraken",
+ "filter[createdAt-start]": start,
+ "filter[createdAt-end]": end
+ })
for match in matches:
assert fromiso(end) >= fromiso(match.createdAt) >= fromiso(start)
nick = "MMotooks123"
- matches = api.matches({"page[limit]": 5, "filter[playerNames]": nick})
+ matches = api.matches({
+ "filter[createdAt-start]": "2017-02-10T00:00:00Z",
+ "page[limit]": 5,
+ "filter[playerNames]": nick
+ })
for match in matches:
success = False
for roster in match.rosters:
@@ -94,8 +113,12 @@ class TestGamelocker:
break
assert success
- team = "HALO"
- matches = api.matches({"page[limit]": 5, "filter[teamNames]": team})
+ team = "3TB3"
+ matches = api.matches(region="na", params={
+ "filter[createdAt-start]": "2017-02-10T00:00:00Z",
+ "page[limit]": 5,
+ "filter[teamNames]": team
+ })
for match in matches:
success = False
for roster in match.rosters:
@@ -106,5 +129,5 @@ class TestGamelocker:
assert success
def test_player(self, api):
- assert api.player("6abb30de-7cb8-11e4-8bd3-06eb725f8a76").name == "boombastic04"
- assert "lossStreak" in api.player("6abb30de-7cb8-11e4-8bd3-06eb725f8a76").stats
+ assert api.player("57342aac-7ff5-11e5-98bf-0628b69bf6d1").name == "oldchoas"
+ assert "lossStreak" in api.player("57342aac-7ff5-11e5-98bf-0628b69bf6d1").stats