protected InetSocketAddress resolveAuthority() throws ServerException {
    String hostnameKey = getName() + HTTP_HOSTNAME;
    String portKey = getName() + HTTP_PORT;
    String host = System.getProperty(hostnameKey);
    String port = System.getProperty(portKey);
    if (host == null) {
      throw new ServerException(ServerException.ERROR.S13, hostnameKey);
    }
    if (port == null) {
      throw new ServerException(ServerException.ERROR.S13, portKey);
    }
    try {
      InetAddress add = InetAddress.getByName(host);
      int portNum = Integer.parseInt(port);
      return new InetSocketAddress(add, portNum);
    } catch (UnknownHostException ex) {
      throw new ServerException(ServerException.ERROR.S14, ex.toString(), ex);
    }
  }
@Test
  @TestDir
  public void testResolveAuthority() throws Exception {
    String dir = TestDirHelper.getTestDir().getAbsolutePath();
    System.setProperty("TestServerWebApp3.home.dir", dir);
    System.setProperty("TestServerWebApp3.config.dir", dir);
    System.setProperty("TestServerWebApp3.log.dir", dir);
    System.setProperty("TestServerWebApp3.temp.dir", dir);
    System.setProperty("testserverwebapp3.http.hostname", "localhost");
    System.setProperty("testserverwebapp3.http.port", "14000");
    ServerWebApp server = new ServerWebApp("TestServerWebApp3") {
    };

    InetSocketAddress address = server.resolveAuthority();
    Assert.assertEquals("localhost", address.getHostName());
    Assert.assertEquals(14000, address.getPort());
  }