change: 调整jline检测逻辑, 移除ip-provider相关单元测试.

This commit is contained in:
2025-01-15 15:50:26 +08:00
parent 79216c27bb
commit b3c79f49a0
2 changed files with 30 additions and 51 deletions

View File

@@ -14,6 +14,8 @@ import org.jline.reader.impl.history.DefaultHistory;
import org.jline.terminal.Terminal;
import org.jline.terminal.TerminalBuilder;
import java.io.IOException;
/**
* 启动类
*
@@ -36,7 +38,7 @@ public final class ManagerLite {
*/
private static SystemInitializer systemInitializer;
public static void main(String[] args) throws Exception {
public static void main(String[] args) {
// 配置初始化
initConfiguration(args);
@@ -47,7 +49,16 @@ public final class ManagerLite {
// 系统初始化
initSystem();
Terminal terminal = TerminalBuilder.builder().system(true).build();
Terminal terminal;
try {
terminal = TerminalBuilder.builder()
.system(true)
.build();
} catch (IOException e) {
// 不应该发生
System.exit(0);
throw new RuntimeException(e);
}
LineReader lineReader = LineReaderBuilder.builder()
.terminal(terminal)
// 如果想记录历史命令,可以配置一个 History
@@ -60,19 +71,26 @@ public final class ManagerLite {
while (true) {
// 该方法会阻塞,直到用户敲回车
String line = lineReader.readLine(prompt);
try {
String cmd = lineReader.readLine(prompt);
// 当用户输入 exit 或 quit就退出循环
if ("exit".equalsIgnoreCase(line)
|| "quit".equalsIgnoreCase(line)) {
break;
// 当用户输入 exit 或 quit就退出循环
if ("exit".equalsIgnoreCase(cmd)) {
break;
}
// 在这里可以对用户输入做进一步处理
terminal.flush();
} catch (Exception e) {
System.exit(0);
}
// 在这里可以对用户输入做进一步处理
terminal.writer().println("You entered: " + line);
terminal.flush();
}
terminal.close();
try {
System.exit(0);
terminal.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
/**

View File

@@ -1,17 +1,8 @@
package com.serliunx.ddns.test.support;
import com.serliunx.ddns.support.ipprovider.IcanhazipProvider;
import com.serliunx.ddns.support.ipprovider.IpApiProvider;
import com.serliunx.ddns.support.ipprovider.Provider;
import com.serliunx.ddns.support.ipprovider.ScheduledProvider;
import org.junit.Test;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
/**
* 供应器测试
* //TODO 暂时移除,待重写单元测试
*
* @author <a href="mailto:serliunx@yeah.net">SerLiunx</a>
* @version 1.0.3
@@ -19,34 +10,4 @@ import java.util.concurrent.TimeUnit;
*/
public class ProviderTest {
@Test
public void testIpApiProvider() {
Provider provider = new IpApiProvider();
System.out.println(provider.get());
}
@Test
public void testScheduledProvider() throws Exception {
ScheduledProvider provider = new ScheduledProvider(new IpApiProvider(), 3);
String ip = provider.get();
System.out.println(ip);
}
@Test
public void testIcanhazipProvider() {
Provider provider = new IcanhazipProvider();
System.out.println(provider.get());
}
@Test
public void testScheduledProviderForRunnable() throws InterruptedException {
ScheduledExecutorService ses = Executors.newScheduledThreadPool(1);
ScheduledProvider provider = new ScheduledProvider(new IpApiProvider(), 3);
provider.close();
ses.scheduleAtFixedRate(provider, 0, 1000, TimeUnit.MILLISECONDS);
provider.whenUpdate(ip -> System.out.println("ip update: " + ip));
TimeUnit.SECONDS.sleep(120);
}
}