|
|
|
@ -1651,14 +1651,17 @@ TEST_F(ClientLbEnd2endTest, ChannelIdleness) { |
|
|
|
|
// The initial channel state should be IDLE.
|
|
|
|
|
EXPECT_EQ(channel->GetState(false), GRPC_CHANNEL_IDLE); |
|
|
|
|
// After sending RPC, channel state should be READY.
|
|
|
|
|
gpr_log(GPR_INFO, "*** SENDING RPC, CHANNEL SHOULD CONNECT ***"); |
|
|
|
|
response_generator.SetNextResolution(GetServersPorts()); |
|
|
|
|
CheckRpcSendOk(stub, DEBUG_LOCATION); |
|
|
|
|
EXPECT_EQ(channel->GetState(false), GRPC_CHANNEL_READY); |
|
|
|
|
// After a period time not using the channel, the channel state should switch
|
|
|
|
|
// to IDLE.
|
|
|
|
|
gpr_log(GPR_INFO, "*** WAITING FOR CHANNEL TO GO IDLE ***"); |
|
|
|
|
gpr_sleep_until(grpc_timeout_milliseconds_to_deadline(1200)); |
|
|
|
|
EXPECT_EQ(channel->GetState(false), GRPC_CHANNEL_IDLE); |
|
|
|
|
// Sending a new RPC should awake the IDLE channel.
|
|
|
|
|
gpr_log(GPR_INFO, "*** SENDING ANOTHER RPC, CHANNEL SHOULD RECONNECT ***"); |
|
|
|
|
response_generator.SetNextResolution(GetServersPorts()); |
|
|
|
|
CheckRpcSendOk(stub, DEBUG_LOCATION); |
|
|
|
|
EXPECT_EQ(channel->GetState(false), GRPC_CHANNEL_READY); |
|
|
|
|