### Question:
JsonRestClient implements IRestClient { public Status unpublish( Workspace workspace, String path, File file ) { assert workspace != null; assert path != null; assert file != null; LOGGER.trace("unpublish: workspace={0}, path={1}, file={2}", workspace.getName(), path, file.getAbsolutePath()); HttpClientConnection connection = null; try { FileNode fileNode = new FileNode(workspace, path, file); connection = connect(workspace.getServer(), fileNode.getUrl(), RequestMethod.DELETE); int responseCode = connection.getResponseCode(); LOGGER.trace("responseCode={0}", responseCode); if (responseCode != HttpURLConnection.HTTP_NO_CONTENT) { if (!pathExists(workspace.getServer(), fileNode.getUrl())) { String msg = RestClientI18n.unpublishNeverPublishedMsg.text(file.getAbsolutePath(), workspace.getName(), path); return new Status(Severity.INFO, msg, null); } LOGGER.error(RestClientI18n.connectionErrorMsg, responseCode, "unpublish"); String msg = RestClientI18n.unpublishFailedMsg.text(file.getName(), workspace.getName(), path); throw new RuntimeException(msg); } return Status.OK_STATUS; } catch (Exception e) { String msg = RestClientI18n.unpublishFailedMsg.text(file.getAbsolutePath(), workspace.getName(), path); return new Status(Severity.ERROR, msg, e); } finally { if (connection != null) { LOGGER.trace("unpublish: leaving"); connection.disconnect(); } } }  Collection<Repository> getRepositories( Server server ); @Override Map<String, javax.jcr.nodetype.NodeType> getNodeTypes( Repository repository ); URL getUrl( File file,
                       String path,
                       Workspace workspace ); Collection<Workspace> getWorkspaces( Repository repository ); boolean pathExists( Workspace workspace,
                               String path,
                               File file ); Status publish( Workspace workspace,
                           String path,
                           File file ); Status unpublish( Workspace workspace,
                             String path,
                             File file ); @Override List<QueryRow> query( Workspace workspace,
                                 String language,
                                 String statement ); @Override List<QueryRow> query( Workspace workspace,
                                 String language,
                                 String statement,
                                 int offset,
                                 int limit ); @SuppressWarnings( "unchecked" ) @Override List<QueryRow> query( Workspace workspace,
                                 String language,
                                 String statement,
                                 int offset,
                                 int limit,
                                 Map<String, String> variables ); @SuppressWarnings( "null" ) static void main( String[] args );  }### Answer:
@Test public void shouldNotUnpublishNonexistentFile() throws Exception { File file = new File("bogusfile"); Status status = this.restClient.unpublish(WORKSPACE1, WORKSPACE_PATH, file); if (status.isError()) { System.err.println(status.getMessage()); status.getException().printStackTrace(System.err); } assertThat(status.getMessage(), status.isInfo(), is(true)); }