@@ -263,8 +263,11 @@ class DescriptionHelperSpecification extends Specification {
263263 }
264264
265265 def ' server description should reflect ismaster result from other' () {
266+ given :
267+ def serverAddressOfHidden = new ServerAddress (' localhost' , 27020 )
268+
266269 expect :
267- createServerDescription(serverAddress ,
270+ createServerDescription(serverAddressOfHidden ,
268271 parse(' {' +
269272 ' "setName" : "replset",' +
270273 ' "setVersion" : 1,' +
@@ -276,7 +279,7 @@ class DescriptionHelperSpecification extends Specification {
276279 ' "localhost:27017"' +
277280 ' ],' +
278281 ' "arbiters" : [' +
279- ' "localhost:27020 "' +
282+ ' "localhost:27021 "' +
280283 ' ],' +
281284 ' "primary" : "localhost:27017",' +
282285 ' "arbiterOnly" : false,' +
@@ -291,7 +294,7 @@ class DescriptionHelperSpecification extends Specification {
291294 ' }' ), serverVersion, roundTripTime) ==
292295 ServerDescription . builder()
293296 .ok(true )
294- .address(serverAddress )
297+ .address(serverAddressOfHidden )
295298 .state(ServerConnectionState . CONNECTED )
296299 .version(serverVersion)
297300 .maxWireVersion(3 )
@@ -301,10 +304,58 @@ class DescriptionHelperSpecification extends Specification {
301304 .primary(' localhost:27017' )
302305 .canonicalAddress(' localhost:27020' )
303306 .hosts([' localhost:27017' , ' localhost:27018' , ' localhost:27019' ] as Set )
304- .arbiters([' localhost:27020 ' ] as Set )
307+ .arbiters([' localhost:27021 ' ] as Set )
305308 .build()
306309 }
307310
311+ def ' server description should reflect ismaster result from hidden' () {
312+ given :
313+ def serverAddressOfHidden = new ServerAddress (' localhost' , 27020 )
314+
315+ expect :
316+ createServerDescription(serverAddressOfHidden,
317+ parse(' {' +
318+ ' "setName" : "replset",' +
319+ ' "setVersion" : 1,' +
320+ ' "ismaster" : false,' +
321+ ' "secondary" : true,' +
322+ ' "hidden" : true,' +
323+ ' "hosts" : [' +
324+ ' "localhost:27019",' +
325+ ' "localhost:27018",' +
326+ ' "localhost:27017"' +
327+ ' ],' +
328+ ' "arbiters" : [' +
329+ ' "localhost:27021"' +
330+ ' ],' +
331+ ' "primary" : "localhost:27017",' +
332+ ' "arbiterOnly" : false,' +
333+ ' "me" : "localhost:27020",' +
334+ ' "maxBsonObjectSize" : 16777216,' +
335+ ' "maxMessageSizeBytes" : 48000000,' +
336+ ' "maxWriteBatchSize" : 1000,' +
337+ ' "localTime" : ISODate("2015-03-04T23:27:55.568Z"),' +
338+ ' "maxWireVersion" : 3,' +
339+ ' "minWireVersion" : 0,' +
340+ ' "ok" : 1' +
341+ ' }' ), serverVersion, roundTripTime) ==
342+ ServerDescription . builder()
343+ .ok(true )
344+ .address(serverAddressOfHidden)
345+ .state(ServerConnectionState . CONNECTED )
346+ .version(serverVersion)
347+ .maxWireVersion(3 )
348+ .maxDocumentSize(16777216 )
349+ .type(ServerType . REPLICA_SET_OTHER )
350+ .setName(' replset' )
351+ .primary(' localhost:27017' )
352+ .canonicalAddress(' localhost:27020' )
353+ .hosts([' localhost:27017' , ' localhost:27018' , ' localhost:27019' ] as Set )
354+ .arbiters([' localhost:27021' ] as Set )
355+ .build()
356+ }
357+
358+
308359 def ' server description should reflect ismaster result from ghost' () {
309360 expect :
310361 createServerDescription(serverAddress,
0 commit comments