Result of ping.players.sample should be Player objects, not dicts.

This commit is contained in:
Nathan Adams
2014-09-10 21:37:15 +02:00
parent 3c0646367c
commit 1aff32d549
2 changed files with 2 additions and 1 deletions

View File

@@ -102,7 +102,7 @@ class PingResponse:
if "sample" in raw: if "sample" in raw:
if type(raw["sample"]) is not list: if type(raw["sample"]) is not list:
raise ValueError("Invalid players object (expected 'sample' to be list, was %s)" % type(raw["max"])) raise ValueError("Invalid players object (expected 'sample' to be list, was %s)" % type(raw["max"]))
self.sample = raw["sample"] self.sample = [PingResponse.Players.Player(p) for p in raw["sample"]]
class Version: class Version:
def __init__(self, raw): def __init__(self, raw):

View File

@@ -123,6 +123,7 @@ class TestPingResponsePlayers(TestCase):
players = PingResponse.Players({"max":20,"online":1,"sample":[{"name":'Dinnerbone','id':"61699b2e-d327-4a01-9f1e-0ea8c3f06bc6"}]}) players = PingResponse.Players({"max":20,"online":1,"sample":[{"name":'Dinnerbone','id':"61699b2e-d327-4a01-9f1e-0ea8c3f06bc6"}]})
self.assertIsNotNone(players.sample) self.assertIsNotNone(players.sample)
self.assertEqual(players.sample[0].name, "Dinnerbone")
def test_sample_invalid(self): def test_sample_invalid(self):
self.assertRaises(ValueError, PingResponse.Players, {"max":20,"online":1,"sample":"foo"}) self.assertRaises(ValueError, PingResponse.Players, {"max":20,"online":1,"sample":"foo"})