Java tutorial
package com.smash.revolance.ui.database; /* * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * ui-monitoring-database * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Copyright (C) 2012 - 2014 RevoLance * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program. If not, see * <http://www.gnu.org/licenses/gpl-3.0.html>. * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ import org.apache.commons.io.FileUtils; import org.junit.BeforeClass; import org.junit.Test; import java.io.File; import java.io.IOException; import static org.hamcrest.core.Is.is; import static org.junit.Assert.assertThat; /** * User: wsmash * Date: 14/09/13 * Time: 17:36 */ public class FileSystemStorageTests { private static String dbRoot = "db"; private static IStorage storage; @BeforeClass public static void beforeTests() throws StorageException { storage = new FileSystemStorage(dbRoot); storage.clear(); assertThat(storage.getKeys().isEmpty(), is(true)); } @Test public void storageShouldStoreDataInFileSystem() throws StorageException, IOException { storage.store("key", "data"); String content = FileUtils.readFileToString(new File(dbRoot, "key")); assertThat(content, is("data")); } @Test public void storageShouldHandleFileAddedDirectlyInTheRootFolder() throws IOException, StorageException { File file = new File(dbRoot, "key"); // Create the file since it does not exists yet! FileUtils.writeStringToFile(file, "data"); String content = storage.retrieve("key"); assertThat(content, is("data")); } @Test(expected = StorageException.class) public void storageShouldHandleDeletion() throws IOException, StorageException { storage.store("key", "data"); assertThat(storage.isKeyUsed("key"), is(true)); storage.delete("key"); assertThat(storage.isKeyUsed("key"), is(false)); storage.retrieve("key"); } }