check differently, don't depend on order

This commit is contained in:
meejah 2022-01-06 13:15:31 -07:00
parent 872ce021c8
commit 983f90116b

View File

@ -820,29 +820,37 @@ class Web(WebMixin, WebErrorMixin, testutil.StallMixin, testutil.ReallyEqualMixi
""" """
d = self.GET("/?t=json") d = self.GET("/?t=json")
def _check(res): def _check(res):
"""
Check that the results are correct.
We can't depend on the order of servers in the output
"""
decoded = json.loads(res) decoded = json.loads(res)
expected = { self.assertEqual(decoded['introducers'], {u'statuses': []})
u'introducers': { actual_servers = decoded[u"servers"]
u'statuses': [], self.assertEquals(len(actual_servers), 2)
self.assertIn(
{
u"nodeid": u'other_nodeid',
u'available_space': 123456,
u'connection_status': u'summary',
u'last_received_data': 30,
u'nickname': u'other_nickname \u263b',
u'version': u'1.0',
}, },
u'servers': sorted([ actual_servers
{u"nodeid": u'other_nodeid', )
u'available_space': 123456, self.assertIn(
u'connection_status': u'summary', {
u'last_received_data': 30, u"nodeid": u'disconnected_nodeid',
u'nickname': u'other_nickname \u263b', u'available_space': 123456,
u'version': u'1.0', u'connection_status': u'summary',
}, u'last_received_data': 35,
{u"nodeid": u'disconnected_nodeid', u'nickname': u'disconnected_nickname \u263b',
u'available_space': 123456, u'version': u'1.0',
u'connection_status': u'summary', },
u'last_received_data': 35, actual_servers
u'nickname': u'disconnected_nickname \u263b', )
u'version': u'1.0',
},
], key=lambda o: sorted(o.items())),
}
self.assertEqual(expected, decoded)
d.addCallback(_check) d.addCallback(_check)
return d return d