VersionManagerFacade implements VersionManager { @Override public void checkout(String absPath) throws RepositoryException { throw new ListenerReadOnlyException(); } VersionManagerFacade(final @NotNull VersionManager delegate, final @NotNull SessionFacade<S> session); @Override boolean isCheckedOut(String absPath); @Override VersionHistory getVersionHistory(String absPath); @Override Version getBaseVersion(String absPath); @Override Node getActivity(); @Override Version checkin(String absPath); @Override void checkout(String absPath); @Override Version checkpoint(String absPath); @Override void restore(Version[] versions, boolean removeExisting); @Override void restore(String absPath, String versionName, boolean removeExisting); @Override void restore(Version version, boolean removeExisting); @Override void restore(String absPath, Version version, boolean removeExisting); @Override void restoreByLabel(String absPath, String versionLabel, boolean removeExisting); @Override NodeIterator merge(String absPath, String srcWorkspace, boolean bestEffort); @Override NodeIterator merge(String absPath, String srcWorkspace, boolean bestEffort, boolean isShallow); @Override NodeIterator merge(Node activityNode); @Override void doneMerge(String absPath, Version version); @Override void cancelMerge(String absPath, Version version); @Override Node createConfiguration(String absPath); @Override Node setActivity(Node activity); @Override Node createActivity(String title); @Override void removeActivity(Node activityNode);  }
@Test(expected = ListenerReadOnlyException.class) public void testROCheckout() throws Exception { VersionManagerFacade<Session> facade = getFacade(mock(VersionManager.class)); facade.checkout(""); }