HADOOP-9352. Expose UGI.setLoginUser for tests (daryn)

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1452338 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Daryn Sharp 2013-03-04 14:59:41 +00:00
parent 38c4e17ec1
commit 84567faa92
3 changed files with 13 additions and 1 deletions

View File

@ -1383,6 +1383,8 @@ Release 0.23.7 - UNRELEASED
HADOOP-9336. Allow UGI of current connection to be queried. (Daryn Sharp HADOOP-9336. Allow UGI of current connection to be queried. (Daryn Sharp
via kihwal) via kihwal)
HADOOP-9352. Expose UGI.setLoginUser for tests (daryn)
OPTIMIZATIONS OPTIMIZATIONS
BUG FIXES BUG FIXES

View File

@ -67,6 +67,8 @@
import org.apache.hadoop.util.Shell; import org.apache.hadoop.util.Shell;
import org.apache.hadoop.util.Time; import org.apache.hadoop.util.Time;
import com.google.common.annotations.VisibleForTesting;
/** /**
* User and group information for Hadoop. * User and group information for Hadoop.
* This class wraps around a JAAS Subject and provides methods to determine the * This class wraps around a JAAS Subject and provides methods to determine the
@ -713,7 +715,8 @@ static UserGroupInformation getLoginUser() throws IOException {
@InterfaceAudience.Private @InterfaceAudience.Private
@InterfaceStability.Unstable @InterfaceStability.Unstable
synchronized static void setLoginUser(UserGroupInformation ugi) { @VisibleForTesting
public synchronized static void setLoginUser(UserGroupInformation ugi) {
// if this is to become stable, should probably logout the currently // if this is to become stable, should probably logout the currently
// logged in ugi if it's different // logged in ugi if it's different
loginUser = ugi; loginUser = ugi;

View File

@ -644,4 +644,11 @@ public void testHasSufficientTimeElapsed() throws Exception {
// Restore hasSufficientTimElapsed back to private // Restore hasSufficientTimElapsed back to private
method.setAccessible(false); method.setAccessible(false);
} }
@Test(timeout=1000)
public void testSetLoginUser() throws IOException {
UserGroupInformation ugi = UserGroupInformation.createRemoteUser("test-user");
UserGroupInformation.setLoginUser(ugi);
assertEquals(ugi, UserGroupInformation.getLoginUser());
}
} }