PYTHON-2116 Sort servers by address in topology repr
This commit is contained in:
parent
4398b4b7da
commit
250364f608
@ -289,9 +289,12 @@ class TopologyDescription(object):
|
||||
return self.has_readable_server(ReadPreference.PRIMARY)
|
||||
|
||||
def __repr__(self):
|
||||
# Sort the servers by address.
|
||||
servers = sorted(self._server_descriptions.values(),
|
||||
key=lambda sd: sd.address)
|
||||
return "<%s id: %s, topology_type: %s, servers: %r>" % (
|
||||
self.__class__.__name__, self._topology_settings._topology_id,
|
||||
self.topology_type_name, list(self._server_descriptions.values()))
|
||||
self.topology_type_name, servers)
|
||||
|
||||
|
||||
# If topology type is Unknown and we receive an ismaster response, what should
|
||||
|
||||
@ -624,13 +624,15 @@ class TestMultiServerTopology(TopologyTest):
|
||||
'ok': 1,
|
||||
'ismaster': True,
|
||||
'setName': 'rs',
|
||||
'hosts': ['a', 'b']})
|
||||
'hosts': ['a', 'c', 'b']})
|
||||
self.assertEqual(
|
||||
repr(t.description),
|
||||
"<TopologyDescription id: %s, "
|
||||
"topology_type: ReplicaSetWithPrimary, servers: ["
|
||||
"<ServerDescription ('a', 27017) server_type: RSPrimary, rtt: 0>, "
|
||||
"<ServerDescription ('b', 27017) server_type: Unknown,"
|
||||
" rtt: None>, "
|
||||
"<ServerDescription ('c', 27017) server_type: Unknown,"
|
||||
" rtt: None>]>" % (t._topology_id,))
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user