1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
package org.jruby.ext.posix;
import org.jruby.ext.posix.util.Platform;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;
/**
*
*/
public class PasswdTest {
public PasswdTest() {
}
private static POSIX posix;
private static Class passwdClass;
@BeforeClass
public static void setUpClass() throws Exception {
if (Platform.IS_MAC) {
passwdClass = MacOSPasswd.class;
} else if (Platform.IS_LINUX) {
passwdClass = LinuxPasswd.class;
} else if (Platform.IS_FREEBSD) {
passwdClass = FreeBSDPasswd.class;
} else if (Platform.IS_OPENBSD) {
passwdClass = OpenBSDPasswd.class;
} else if (Platform.IS_SOLARIS) {
passwdClass = SolarisPasswd.class;
} else {
throw new IllegalArgumentException("Platform not supported");
}
posix = POSIXFactory.getPOSIX(new DummyPOSIXHandler(), true);
}
@AfterClass
public static void tearDownClass() throws Exception {
}
@Before
public void setUp() {
}
@After
public void tearDown() {
}
@Test public void getpwnam() {
final String LOGIN = "root";
Passwd pwd = posix.getpwnam(LOGIN);
assertNotNull(pwd);
assertEquals("Login name not equal", LOGIN, pwd.getLoginName());
assertTrue(pwd.getClass().equals(passwdClass));
}
@Test public void nonExistantUserReturnsNull() {
final String LOGIN = "dkjhfjkdsfhjksdhfsdjkhfsdkjhfdskj";
assertNull("getpwnam for non-existant user should return null", posix.getpwnam(LOGIN));
}
}
|