9090public  class  OkHttpServerTransportTest  {
9191 private  static  final  int  TIME_OUT_MS  = 2000 ;
9292 private  static  final  int  INITIAL_WINDOW_SIZE  = 65535 ;
93-  private  static  final  long  MAX_CONNECTION_IDLE  = TimeUnit .SECONDS .toNanos (1 );
9493
9594 private  MockServerTransportListener  mockTransportListener  = new  MockServerTransportListener ();
9695 private  ServerTransportListener  transportListener 
@@ -106,11 +105,10 @@ public class OkHttpServerTransportTest {
106105 private  ExecutorService  threadPool  = Executors .newCachedThreadPool ();
107106 private  HandshakerSocketFactory  handshakerSocketFactory 
108107 = mock (HandshakerSocketFactory .class , delegatesTo (new  PlaintextHandshakerSocketFactory ()));
109-  private  final  FakeClock  fakeClock  = new  FakeClock ();
110108 private  OkHttpServerBuilder  serverBuilder 
111109 = new  OkHttpServerBuilder (new  InetSocketAddress (1234 ), handshakerSocketFactory )
112110 .executor (new  FakeClock ().getScheduledExecutorService ()) // Executor unused 
113-  .scheduledExecutorService (fakeClock .getScheduledExecutorService ())
111+  .scheduledExecutorService (new   FakeClock () .getScheduledExecutorService ())
114112 .transportExecutor (new  Executor () {
115113 @ Override  public  void  execute (Runnable  runnable ) {
116114 if  (runnable  instanceof  OkHttpServerTransport .FrameHandler ) {
@@ -121,8 +119,7 @@ public class OkHttpServerTransportTest {
121119 }
122120 }
123121 })
124-  .flowControlWindow (INITIAL_WINDOW_SIZE )
125-  .maxConnectionIdle (MAX_CONNECTION_IDLE , TimeUnit .NANOSECONDS );
122+  .flowControlWindow (INITIAL_WINDOW_SIZE );
126123
127124 @ Rule  public  final  Timeout  globalTimeout  = Timeout .seconds (10 );
128125
@@ -149,63 +146,6 @@ public void startThenShutdown() throws Exception {
149146 shutdownAndTerminate (/*lastStreamId=*/  0 );
150147 }
151148
152-  @ Test 
153-  public  void  maxConnectionIdleTimer () throws  Exception  {
154-  initTransport ();
155-  handshake ();
156-  clientFrameWriter .headers (1 , Arrays .asList (
157-  HTTP_SCHEME_HEADER ,
158-  METHOD_HEADER ,
159-  new  Header (Header .TARGET_AUTHORITY , "example.com:80" ),
160-  new  Header (Header .TARGET_PATH , "/com.example/SimpleService.doit" ),
161-  CONTENT_TYPE_HEADER ,
162-  TE_HEADER ));
163-  clientFrameWriter .synStream (true , false , 1 , -1 , Arrays .asList (
164-  new  Header ("some-client-sent-trailer" , "trailer-value" )));
165-  pingPong ();
166- 
167-  MockStreamListener  streamListener  = mockTransportListener .newStreams .pop ();
168-  assertThat (streamListener .messages .peek ()).isNull ();
169-  assertThat (streamListener .halfClosedCalled ).isTrue ();
170- 
171-  streamListener .stream .close (Status .OK , new  Metadata ());
172- 
173-  List <Header > responseTrailers  = Arrays .asList (
174-  new  Header (":status" , "200" ),
175-  CONTENT_TYPE_HEADER ,
176-  new  Header ("grpc-status" , "0" ));
177-  assertThat (clientFrameReader .nextFrame (clientFramesRead )).isTrue ();
178-  verify (clientFramesRead )
179-  .headers (false , true , 1 , -1 , responseTrailers , HeadersMode .HTTP_20_HEADERS );
180- 
181-  fakeClock .forwardNanos (MAX_CONNECTION_IDLE );
182-  fakeClock .forwardNanos (MAX_CONNECTION_IDLE );
183-  verifyGracefulShutdown (1 );
184-  }
185- 
186-  @ Test 
187-  public  void  maxConnectionIdleTimer_respondWithError () throws  Exception  {
188-  initTransport ();
189-  handshake ();
190- 
191-  clientFrameWriter .headers (1 , Arrays .asList (
192-  HTTP_SCHEME_HEADER ,
193-  METHOD_HEADER ,
194-  new  Header (Header .TARGET_PATH , "/com.example/SimpleService.doit" ),
195-  CONTENT_TYPE_HEADER ,
196-  TE_HEADER ,
197-  new  Header ("host" , "example.com:80" ),
198-  new  Header ("host" , "example.com:80" )));
199-  clientFrameWriter .flush ();
200- 
201-  verifyHttpError (
202-  1 , 400 , Status .Code .INTERNAL , "Multiple host headers disallowed. RFC7230 section 5.4" );
203- 
204-  fakeClock .forwardNanos (MAX_CONNECTION_IDLE );
205-  fakeClock .forwardNanos (MAX_CONNECTION_IDLE );
206-  verifyGracefulShutdown (1 );
207-  }
208- 
209149 @ Test 
210150 public  void  startThenShutdownTwice () throws  Exception  {
211151 initTransport ();
@@ -376,8 +316,7 @@ public void activeRpc_delaysShutdownTermination() throws Exception {
376316 clientFrameWriter .data (true , 1 , requestMessageFrame , (int ) requestMessageFrame .size ());
377317 pingPong ();
378318
379-  serverTransport .shutdown ();
380-  verifyGracefulShutdown (1 );
319+  shutdownAndVerifyGraceful (1 );
381320 verify (transportListener , never ()).transportTerminated ();
382321
383322 MockStreamListener  streamListener  = mockTransportListener .newStreams .pop ();
@@ -1099,8 +1038,8 @@ private Metadata metadata(String... keysAndValues) {
10991038 return  metadata ;
11001039 }
11011040
1102-  private  void  verifyGracefulShutdown (int  lastStreamId )
1103-    throws   IOException  { 
1041+  private  void  shutdownAndVerifyGraceful (int  lastStreamId )  throws   IOException  { 
1042+  serverTransport . shutdown (); 
11041043 assertThat (clientFrameReader .nextFrame (clientFramesRead )).isTrue ();
11051044 verify (clientFramesRead ).goAway (2147483647 , ErrorCode .NO_ERROR , ByteString .EMPTY );
11061045 assertThat (clientFrameReader .nextFrame (clientFramesRead )).isTrue ();
@@ -1113,8 +1052,7 @@ private void verifyGracefulShutdown(int lastStreamId)
11131052
11141053 private  void  shutdownAndTerminate (int  lastStreamId ) throws  IOException  {
11151054 assertThat (serverTransport .getActiveStreams ().length ).isEqualTo (0 );
1116-  serverTransport .shutdown ();
1117-  verifyGracefulShutdown (lastStreamId );
1055+  shutdownAndVerifyGraceful (lastStreamId );
11181056 assertThat (clientFrameReader .nextFrame (clientFramesRead )).isFalse ();
11191057 verify (transportListener , timeout (TIME_OUT_MS )).transportTerminated ();
11201058 }
0 commit comments