Fix temp file problem in log test cases (#908)
This commit is contained in:
parent
326dd4434d
commit
61c8397e48
|
|
@ -15,14 +15,14 @@
|
|||
*/
|
||||
package com.alibaba.csp.sentinel;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import com.alibaba.csp.sentinel.log.LogBase;
|
||||
import com.alibaba.csp.sentinel.log.RecordLog;
|
||||
import com.alibaba.csp.sentinel.util.PidUtil;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
/**
|
||||
|
|
@ -44,21 +44,27 @@ public class RecordLogTest {
|
|||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
//Change LogBase It is not not work when integration Testing
|
||||
//Because LogBase.LOG_DIR can be just static init for once and it will not be changed
|
||||
//@Test
|
||||
public void testChangeLogBase() {
|
||||
|
||||
String userHome = System.getProperty("user.home");
|
||||
String newLogBase = userHome + File.separator + "tmpLogDir" + System.currentTimeMillis();
|
||||
System.setProperty(LogBase.LOG_DIR, newLogBase);
|
||||
|
||||
RecordLog.info("testChangeLogBase");
|
||||
String logFileName = RecordLog.getLogBaseDir();
|
||||
Assert.assertTrue(newLogBase.equals(logFileName));
|
||||
File[] files = new File(logFileName).listFiles();
|
||||
assertTrue(files != null && files.length > 0);
|
||||
deleteLogDir(new File(newLogBase));
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLogBaseDir() {
|
||||
RecordLog.info("testLogBaseDir");
|
||||
assertTrue(RecordLog.getLogBaseDir().startsWith(System.getProperty("user.home")));
|
||||
}
|
||||
|
||||
|
|
@ -88,4 +94,17 @@ public class RecordLogTest {
|
|||
}
|
||||
}
|
||||
|
||||
private void deleteLogDir(File logDirFile) {
|
||||
if (logDirFile != null && logDirFile.isDirectory()) {
|
||||
if (logDirFile.listFiles() != null) {
|
||||
for (File file : logDirFile.listFiles()) {
|
||||
file.delete();
|
||||
}
|
||||
}
|
||||
logDirFile.delete();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -1,19 +1,16 @@
|
|||
package com.alibaba.csp.sentinel.slots.logger;
|
||||
|
||||
import com.alibaba.csp.sentinel.log.LogBase;
|
||||
import com.alibaba.csp.sentinel.log.RecordLog;
|
||||
import org.hamcrest.io.FileMatchers;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.concurrent.Callable;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import com.alibaba.csp.sentinel.log.LogBase;
|
||||
import com.alibaba.csp.sentinel.log.RecordLog;
|
||||
|
||||
import org.hamcrest.CoreMatchers;
|
||||
import org.hamcrest.Matchers;
|
||||
import org.hamcrest.io.FileMatchers;
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.awaitility.Awaitility.await;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
* @author Carpenter Lee
|
||||
|
|
@ -34,7 +31,9 @@ public class EagleEyeLogUtilTest {
|
|||
}, FileMatchers.anExistingFile());
|
||||
}
|
||||
|
||||
@Test
|
||||
//Change LogBase It is not not work when integration Testing
|
||||
//Because LogBase.LOG_DIR can be just static init for once and it will not be changed
|
||||
//@Test
|
||||
public void testChangeLogBase() throws Exception {
|
||||
String userHome = System.getProperty("user.home");
|
||||
String newLogBase = userHome + File.separator + "tmpLogDir" + System.currentTimeMillis();
|
||||
|
|
@ -42,13 +41,27 @@ public class EagleEyeLogUtilTest {
|
|||
|
||||
EagleEyeLogUtil.log("resourceName", "BlockException", "app1", "origin", 1);
|
||||
|
||||
|
||||
final File file = new File(RecordLog.getLogBaseDir() + EagleEyeLogUtil.FILE_NAME);
|
||||
await().timeout(2, TimeUnit.SECONDS)
|
||||
.until(new Callable<File>() {
|
||||
@Override
|
||||
public File call() throws Exception {
|
||||
return file;
|
||||
.until(new Callable<File>() {
|
||||
@Override
|
||||
public File call() throws Exception {
|
||||
return file;
|
||||
}
|
||||
}, FileMatchers.anExistingFile());
|
||||
Assert.assertTrue(file.getAbsolutePath().startsWith(newLogBase));
|
||||
deleteLogDir(new File(RecordLog.getLogBaseDir()));
|
||||
}
|
||||
|
||||
private void deleteLogDir(File logDirFile) {
|
||||
if (logDirFile != null && logDirFile.isDirectory()) {
|
||||
if (logDirFile.listFiles() != null) {
|
||||
for (File file : logDirFile.listFiles()) {
|
||||
file.delete();
|
||||
}
|
||||
}, FileMatchers.anExistingFile());
|
||||
}
|
||||
logDirFile.delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue