@@ -155,26 +155,21 @@ void selectAllDeprioritizedSingleServerCluster() {
155155 @ MethodSource ("selectSomeDeprioritized" )
156156 void selectWithRetryWhenWrappedReturnsEmpty (final List <ServerDescription > selectorResult ) {
157157 deprioritize (SERVER_B );
158- Supplier <ServerSelector > selector = () -> new ServerSelector () {
159- private boolean firstCall = true ;
160-
161- @ Override
162- public List <ServerDescription > select (final ClusterDescription clusterDescription ) {
163- List <ServerDescription > servers = clusterDescription .getServerDescriptions ();
164- if (firstCall ) {
165- firstCall = false ;
166- assertEquals (asList (SERVER_A , SERVER_C ), servers );
167- return emptyList ();
168- }
169- assertEquals (ALL_SERVERS , servers );
170- return selectorResult ;
171- }
172- };
173-
158+ Supplier <ServerSelector > selectorSupplier = () -> MongoMockito .mock (ServerSelector .class , tuner ->
159+ Mockito .when (tuner .select (any (ClusterDescription .class )))
160+ .thenAnswer (invocation -> {
161+ assertEquals (asList (SERVER_A , SERVER_C ), invocation .<ClusterDescription >getArgument (0 ).getServerDescriptions ());
162+ return emptyList ();
163+ })
164+ .thenAnswer (invocation -> {
165+ assertEquals (ALL_SERVERS , invocation .<ClusterDescription >getArgument (0 ).getServerDescriptions ());
166+ return selectorResult ;
167+ })
168+ );
174169 assertAll (
175- () -> assertEquals (selectorResult , serverDeprioritization .apply ( selector .get ()).select (SHARDED_CLUSTER )),
176- () -> assertEquals (selectorResult , serverDeprioritization .apply ( selector .get ()).select (REPLICA_SET_CLUSTER )),
177- () -> assertEquals (selectorResult , serverDeprioritization .apply ( selector .get ()).select (UNKNOWN_CLUSTER ))
170+ () -> assertEquals (selectorResult , serverDeprioritization .applyDeprioritization ( selectorSupplier .get ()).select (SHARDED_CLUSTER )),
171+ () -> assertEquals (selectorResult , serverDeprioritization .applyDeprioritization ( selectorSupplier .get ()).select (REPLICA_SET_CLUSTER )),
172+ () -> assertEquals (selectorResult , serverDeprioritization .applyDeprioritization ( selectorSupplier .get ()).select (UNKNOWN_CLUSTER ))
178173 );
179174 }
180175
0 commit comments