52 lines
1.7 KiB
Java
52 lines
1.7 KiB
Java
package com.sshmanager.service;
|
|
|
|
import com.sshmanager.entity.Connection;
|
|
import org.junit.jupiter.api.BeforeEach;
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
import java.util.concurrent.ExecutorService;
|
|
import java.util.concurrent.Executors;
|
|
|
|
import static org.junit.jupiter.api.Assertions.*;
|
|
|
|
class SftpServiceTest {
|
|
|
|
private SftpService sftpService;
|
|
private ExecutorService executorService;
|
|
|
|
@BeforeEach
|
|
void setUp() {
|
|
executorService = Executors.newFixedThreadPool(2);
|
|
sftpService = new SftpService();
|
|
sftpService.setExecutorService(executorService);
|
|
}
|
|
|
|
@Test
|
|
void testPasswordAuthenticationRequiredWithValidConnection() {
|
|
Exception exception = assertThrows(Exception.class, () -> {
|
|
Connection conn = new Connection();
|
|
conn.setHost("127.0.0.1");
|
|
conn.setPort(22);
|
|
conn.setUsername("test");
|
|
conn.setAuthType(Connection.AuthType.PASSWORD);
|
|
sftpService.connect(conn, "", null, null);
|
|
});
|
|
assertTrue(exception.getMessage().contains("Password is required") ||
|
|
exception instanceof IllegalArgumentException);
|
|
}
|
|
|
|
@Test
|
|
void testPasswordAuthenticationRequiredWithNullConn() {
|
|
Exception exception = assertThrows(Exception.class, () -> {
|
|
sftpService.connect(null, "", null, null);
|
|
});
|
|
assertTrue(exception instanceof NullPointerException || exception instanceof IllegalArgumentException);
|
|
}
|
|
|
|
@Test
|
|
void testExecutorServiceShutdown() throws Exception {
|
|
executorService.shutdown();
|
|
assertTrue(executorService.isTerminated() || executorService.isShutdown());
|
|
}
|
|
}
|