### Question:
Client extends AbstractClient { @Override public Channel getChannel( String channelType ) throws UnsupportedChannelException { return super.getChannel( channelType ); } Client( String apiToken );  Client( String apiToken, Integer maxConnections );  Client(
		String apiToken,
		Integer connectionTimeout,
		Integer socketTimeout,
		Integer maxConnectionRetries
	);  Client(
		String apiToken,
		Integer maxConnections,
		Integer connectionTimeout,
		Integer socketTimeout,
		Integer maxConnectionRetries
	);  Client(
		String apiToken,
		Integer maxConnections,
		Integer connectionTimeout,
		Integer socketTimeout,
		Integer maxConnectionRetries,
		Integer connectionPoolTimeout,
		Integer inactivityTimeBeforeStaleCheck
	);  Client( String apiToken, String apiUrl );  Client( String apiToken, String apiUrl, Integer maxConnections );  Client(
		String apiToken,
		String apiUrl,
		Integer connectionTimeout,
		Integer socketTimeout,
		Integer maxConnectionRetries
	);  Client(
		String apiToken,
		String apiUrl,
		Integer maxConnections,
		Integer connectionTimeout,
		Integer socketTimeout,
		Integer maxConnectionRetries
	);  Client(
		String apiToken,
		String apiUrl,
		Integer maxConnections,
		Integer connectionTimeout,
		Integer socketTimeout,
		Integer maxConnectionRetries,
		Integer connectionPoolTimeout,
		Integer inactivityTimeBeforeStaleCheck
	); @Override Channel getChannel( String channelType ); @Override Channel getChannel( ChannelType channelType ); @Override List<Subscription> listSubscriptions(); @Override SUBSCRIPTION createSubscription( SUBSCRIPTION subscription ); @Override SUBSCRIPTION getSubscription( String id ); @Override SUBSCRIPTION updateSubscription( SUBSCRIPTION subscription ); @Override SUBSCRIPTION updateSubscription( String id, PartialSubscription partialSubscription ); @Override void deleteSubscription( String id );  }### Answer:
@Test public void messageRequestWithConnectionRefused() { Client client = new Client( "API_TOKEN", "http: try { MessageRequest request = messageRequest(); client.getChannel( "whatsapp" ) .sendMessage( request.from, request.to, request.contents ); fail(); } catch( HttpConnectionFailException exception ) { assertNull( server.lastMessagePost ); } catch( Exception exception ) { fail(); } client.close(); }
@Test public void messageRequestWithConnectionTimeout() { Client client = new Client( "API_TOKEN", "http: try { MessageRequest request = messageRequest(); client.getChannel( "whatsapp" ) .sendMessage( request.from, request.to, request.contents ); fail(); } catch( HttpConnectionTimeoutException exception ) { assertNull( server.lastMessagePost ); } catch( Exception exception ) { fail(); } client.close(); }