private void badArgumentsTest() throws Exception {
    // dud properties. server should pick up defaults
    Properties properties = new Properties();
    VerifiableProperties verifiableProperties = new VerifiableProperties(properties);
    ClusterMap clusterMap = new MockClusterMap();
    NotificationSystem notificationSystem = new LoggingNotificationSystem();

    try {
      // no props.
      new RestServer(null, clusterMap, notificationSystem, SSL_FACTORY);
      fail("Properties missing, yet no exception was thrown");
    } catch (IllegalArgumentException e) {
      // nothing to do. expected.
    }

    try {
      // no ClusterMap.
      new RestServer(verifiableProperties, null, notificationSystem, SSL_FACTORY);
      fail("ClusterMap missing, yet no exception was thrown");
    } catch (IllegalArgumentException e) {
      // nothing to do. expected.
    }

    try {
      // no NotificationSystem.
      new RestServer(verifiableProperties, clusterMap, null, SSL_FACTORY);
      fail("NotificationSystem missing, yet no exception was thrown");
    } catch (IllegalArgumentException e) {
      // nothing to do. expected.
    }
  }
Tests {@link RestServer} instantiation attempts with bad input.
@throws Exception
@throws IOException
ambry-rest/src/test/java/com/github/ambry/rest/RestServerTest.java