3030import io .grpc .Server ;
3131import io .grpc .Status ;
3232import io .grpc .stub .StreamObserver ;
33+ import io .grpc .testing .GrpcCleanupRule ;
3334import io .grpc .xds .client .Bootstrapper ;
3435import io .grpc .xds .client .XdsTransportFactory ;
3536import java .util .concurrent .BlockingQueue ;
3637import java .util .concurrent .LinkedBlockingQueue ;
3738import java .util .concurrent .TimeUnit ;
3839import org .junit .After ;
3940import org .junit .Before ;
41+ import org .junit .Rule ;
4042import org .junit .Test ;
4143import org .junit .runner .RunWith ;
4244import org .junit .runners .JUnit4 ;
4345
4446@ RunWith (JUnit4 .class )
4547public class GrpcXdsTransportFactoryTest {
4648
49+ @ Rule public final GrpcCleanupRule grpcCleanupRule = new GrpcCleanupRule ();
50+
4751 private Server server ;
4852
4953 @ Before
@@ -144,10 +148,11 @@ public void refCountedXdsTransport_differentXdsServerAddress_returnsDifferentTra
144148 throws Exception {
145149 // Create and start a second xDS server on a different port.
146150 Server server2 =
147- Grpc .newServerBuilderForPort (0 , InsecureServerCredentials .create ())
148- .addService (echoAdsService ())
149- .build ()
150- .start ();
151+ grpcCleanupRule .register (
152+ Grpc .newServerBuilderForPort (0 , InsecureServerCredentials .create ())
153+ .addService (echoAdsService ())
154+ .build ()
155+ .start ());
151156 Bootstrapper .ServerInfo xdsServerInfo1 =
152157 Bootstrapper .ServerInfo .create (
153158 "localhost:" + server .getPort (), InsecureChannelCredentials .create ());
@@ -168,8 +173,6 @@ public void refCountedXdsTransport_differentXdsServerAddress_returnsDifferentTra
168173 // Calling shutdown() shuts down the GrpcXdsTransport instance for the second xDS server.
169174 // The ref count was previously 1 and now is 0.
170175 transport2 .shutdown ();
171- // Clean up the second xDS server.
172- server2 .shutdown ();
173176 }
174177
175178 private static class FakeEventHandler implements
0 commit comments