Use SystemReader in JSchConfigSessionFactoryTest

This isolates the test from the concrete system it's running on.
SshSessionFactory reads the user also through SystemReader.

Change-Id: I1c796aa1c498fe3967456d8589e6be0a82ab8f44
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
This commit is contained in:
Matthias Sohn 2019-03-09 01:21:40 +01:00
parent 391c7a25fa
commit d44225d85c
1 changed files with 11 additions and 1 deletions

View File

@ -49,8 +49,11 @@
import java.util.Arrays;
import java.util.concurrent.TimeUnit;
import org.eclipse.jgit.junit.MockSystemReader;
import org.eclipse.jgit.util.FS;
import org.eclipse.jgit.util.SystemReader;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.jcraft.jsch.Session;
@ -67,8 +70,14 @@ public class JschConfigSessionFactoryTest {
DefaultSshSessionFactory factory = new DefaultSshSessionFactory();
@Before
public void setup() {
SystemReader.setInstance(new MockSystemReader());
}
@After
public void removeTmpConfig() {
SystemReader.setInstance(null);
if (tmpConfigFile == null) {
return;
}
@ -87,7 +96,8 @@ public void testNoConfigEntry() throws Exception {
Session session = createSession("ssh://egit/egit/egit");
assertEquals("egit", session.getHost());
// No user in URI, none in ssh config: default is OS user name
assertEquals(System.getProperty("user.name"), session.getUserName());
assertEquals(SystemReader.getInstance().getProperty("user.name"),
session.getUserName());
assertEquals(22, session.getPort());
}