### Question:
ChromeServiceImpl implements ChromeService { @Override public void closeTab(ChromeTab tab) throws ChromeServiceException { request(Void.class, "http: clearChromeDevToolsServiceCache(tab); } ChromeServiceImpl(String host, int port, WebSocketServiceFactory webSocketServiceFactory);  ChromeServiceImpl(String host, int port);  ChromeServiceImpl(int port);  ChromeServiceImpl(int port, WebSocketServiceFactory webSocketServiceFactory); void setWebSocketServiceFactory(WebSocketServiceFactory webSocketServiceFactory); @Override List<ChromeTab> getTabs(); @Override ChromeTab createTab(); @Override ChromeTab createTab(String tab); @Override void activateTab(ChromeTab tab); @Override void closeTab(ChromeTab tab); @Override ChromeVersion getVersion(); @Override synchronized ChromeDevToolsService createDevToolsService(ChromeTab tab); @Override synchronized ChromeDevToolsService createDevToolsService(
      ChromeTab tab, ChromeDevToolsServiceConfiguration chromeDevToolsServiceConfiguration); int getPort(); String getHost(); void clearChromeDevToolsServiceCache(ChromeTab tab); static String inputStreamToString(InputStream inputStream); static final String ABOUT_BLANK_PAGE; }### Answer:
@Test public void testCloseTab() throws IOException, ChromeServiceException, InterruptedException { MockWebServer server = new MockWebServer(); ObjectMapper objectMapper = new ObjectMapper(); ChromeTab tab = objectMapper.readerFor(ChromeTab.class).readValue(getFixture("chrome/tab.json")); server.enqueue(new MockResponse()); server.start(); ChromeServiceImpl service = new ChromeServiceImpl(server.getHostName(), server.getPort()); service.closeTab(tab); RecordedRequest request = server.takeRequest(); assertEquals(1, server.getRequestCount()); assertEquals( "GET /json/close/(2C5C79DD1137419CC8839D61D91CEB2A) HTTP/1.1", request.getRequestLine()); server.shutdown(); }