### Question:
FailoverProvider extends DefaultProviderListener implements Provider { public void setAmqpOpenServerListAction(String amqpOpenServerListAction) { this.amqpOpenServerListAction = FailoverServerListAction.valueOf(amqpOpenServerListAction.toUpperCase(Locale.ENGLISH)); } FailoverProvider(List<URI> uris, Map<String, String> nestedOptions, ProviderFutureFactory futureFactory); @Override void connect(JmsConnectionInfo connectionInfo); @Override void start(); @Override void close(); @Override void create(final JmsResource resource, AsyncResult request); @Override void start(final JmsResource resource, final AsyncResult request); @Override void stop(final JmsResource resource, final AsyncResult request); @Override void destroy(final JmsResource resourceId, AsyncResult request); @Override void send(final JmsOutboundMessageDispatch envelope, AsyncResult request); @Override void acknowledge(final JmsSessionId sessionId, final ACK_TYPE ackType, AsyncResult request); @Override void acknowledge(final JmsInboundMessageDispatch envelope, final ACK_TYPE ackType, AsyncResult request); @Override void commit(final JmsTransactionInfo transactionInfo, JmsTransactionInfo nextTransactionInfo, AsyncResult request); @Override void rollback(final JmsTransactionInfo transactionInfo, JmsTransactionInfo nextTransactionInfo, AsyncResult request); @Override void recover(final JmsSessionId sessionId, final AsyncResult request); @Override void unsubscribe(final String subscription, AsyncResult request); @Override void pull(final JmsConsumerId consumerId, final long timeout, final AsyncResult request); @Override JmsMessageFactory getMessageFactory(); @Override void onInboundMessage(final JmsInboundMessageDispatch envelope); @Override void onCompletedMessageSend(final JmsOutboundMessageDispatch envelope); @Override void onFailedMessageSend(final JmsOutboundMessageDispatch envelope, ProviderException cause); @Override void onConnectionFailure(final ProviderException ex); @Override void onResourceClosed(JmsResource resource, ProviderException cause); @Override void onProviderException(final ProviderException ex); void add(final URI uri); void remove(final URI uri); @Override URI getRemoteURI(); @Override List<URI> getAlternateURIs(); @Override void setProviderListener(ProviderListener listener); @Override ProviderListener getProviderListener(); boolean isRandomize(); void setRandomize(boolean value); long getInitialReconnectDelay(); void setInitialReconnectDelay(long initialReconnectDelay); long getReconnectDelay(); void setReconnectDelay(long reconnectDealy); long getMaxReconnectDelay(); void setMaxReconnectDelay(long maxReconnectDelay); int getMaxReconnectAttempts(); void setMaxReconnectAttempts(int maxReconnectAttempts); int getStartupMaxReconnectAttempts(); void setStartupMaxReconnectAttempts(int startupMaxReconnectAttempts); int getWarnAfterReconnectAttempts(); void setWarnAfterReconnectAttempts(int warnAfterReconnectAttempts); double getReconnectBackOffMultiplier(); void setReconnectBackOffMultiplier(double reconnectBackOffMultiplier); boolean isUseReconnectBackOff(); void setUseReconnectBackOff(boolean useReconnectBackOff); long getCloseTimeout(); long getSendTimeout(); long getRequestTimeout(); String getAmqpOpenServerListAction(); void setAmqpOpenServerListAction(String amqpOpenServerListAction); Map<String, String> getNestedOptions(); @Override ProviderFuture newProviderFuture(); @Override ProviderFuture newProviderFuture(ProviderSynchronization synchronization); @Override String toString(); static final int UNLIMITED; static final int DEFAULT_MAX_RECONNECT_ATTEMPTS; static final int DEFAULT_STARTUP_MAX_RECONNECT_ATTEMPTS; static final long DEFAULT_INITIAL_RECONNECT_DELAY; static final long DEFAULT_RECONNECT_DELAY; static final long DEFAULT_MAX_RECONNECT_DELAY; static final boolean DEFAULT_USE_RECONNECT_BACKOFF; static final double DEFAULT_RECONNECT_BACKOFF_MULTIPLIER; static final int DEFAULT_WARN_AFTER_RECONNECT_ATTEMPTS; }### Answer:
@Test(timeout = 30000) public void testSetInvalidAmqpOpenServerListActionThrowsIAE() { provider = new FailoverProvider(uris, Collections.emptyMap(), futuresFactory); try { provider.setAmqpOpenServerListAction("invalid"); fail("no exception was thrown"); } catch (IllegalArgumentException iae) { } }