package com.dianping.puma.storage.manage;
import com.dianping.puma.core.model.BinlogInfo;
import com.dianping.puma.storage.filesystem.FileSystem;
import junit.framework.Assert;
import org.apache.commons.io.FileUtils;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.io.File;
/**
* Dozer @ 2015-11
* mail@dozer.cc
* http://www.dozer.cc
*/
public class LocalFileInstanceStorageManagerTest {
private static File baseDir = new File(System.getProperty("java.io.tmpdir", "."), "puma");
private LocalFileInstanceStorageManager localFileInstanceStorageManager;
private BinlogInfo binlogInfo = new BinlogInfo()
.setBinlogFile("xxx")
.setBinlogPosition(123)
.setServerId(321)
.setEventIndex(2)
.setTimestamp(1234567890);
@Before
public void setUp() throws Exception {
if (baseDir.exists()) {
baseDir.delete();
}
baseDir.mkdirs();
FileSystem.changeBasePath(baseDir.getAbsolutePath());
localFileInstanceStorageManager = new LocalFileInstanceStorageManager();
localFileInstanceStorageManager.init();
}
@After
public void tearDown() throws Exception {
FileUtils.deleteDirectory(baseDir);
}
@Test
public void testSetAndGet() throws Exception {
localFileInstanceStorageManager.setBinlogInfo("test", binlogInfo);
Assert.assertNull(localFileInstanceStorageManager.getBinlogInfo("not_exist"));
Assert.assertEquals(localFileInstanceStorageManager.getBinlogInfo("test"), binlogInfo);
}
@Test
public void testRemove() throws Exception {
localFileInstanceStorageManager.setBinlogInfo("test1", binlogInfo);
localFileInstanceStorageManager.remove("test1");
Assert.assertNull(localFileInstanceStorageManager.getBinlogInfo("test1"));
}
@Test
public void testRename() throws Exception {
localFileInstanceStorageManager.setBinlogInfo("test1", binlogInfo);
localFileInstanceStorageManager.rename("test1", "test2");
Assert.assertNull(localFileInstanceStorageManager.getBinlogInfo("test1"));
Assert.assertEquals(localFileInstanceStorageManager.getBinlogInfo("test2"), binlogInfo);
}
}