ZMSFileChangeLogStoreCommon { public synchronized void put(String name, byte[] data) { File file = new File(rootDir, name); if (!file.exists()) { setupDomainFile(file); } try { filesHelper.write(file, data); } catch (IOException ex) { error("unable to save file: " + file.getPath() + " error: " + ex.getMessage()); } } ZMSFileChangeLogStoreCommon(final String rootDirectory); boolean supportsFullRefresh(); SignedDomain getLocalSignedDomain(final String domainName); SignedDomain getServerSignedDomain(ZMSClient zmsClient, final String domainName); void removeLocalDomain(String domainName); void saveLocalDomain(String domainName, SignedDomain signedDomain); synchronized T get(String name, Class<T> classType); synchronized void put(String name, byte[] data); synchronized void delete(String name); List<String> getLocalDomainList(); Set<String> getServerDomainList(ZMSClient zmsClient); SignedDomains getServerDomainModifiedList(ZMSClient zmsClient); String retrieveLastModificationTime(); void setLastModificationTimestamp(String newLastModTime); String retrieveTagHeader(Map<String, List<String>> responseHeaders); SignedDomains getUpdatedSignedDomains(ZMSClient zmsClient, StringBuilder lastModTimeBuffer); public String lastModTime; }
@Test public void testPutException() throws IOException { ZMSFileChangeLogStoreCommon fstore = new ZMSFileChangeLogStoreCommon(FSTORE_PATH); FilesHelper helper = Mockito.mock(FilesHelper.class); Mockito.when(helper.write(Mockito.any(), Mockito.any())) .thenThrow(new IOException("io exception")); fstore.filesHelper = helper; Struct data = new Struct(); data.put("key", "val1"); try { fstore.put("test1", JSON.bytes(data)); fail(); } catch (Exception ex) { assertTrue(true); } }