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
via kihwal)
HADOOP-9352. Expose UGI.setLoginUser for tests (daryn)
OPTIMIZATIONS
BUG FIXES

View File

@ -67,6 +67,8 @@
import org.apache.hadoop.util.Shell;
import org.apache.hadoop.util.Time;
import com.google.common.annotations.VisibleForTesting;
/**
* User and group information for Hadoop.
* This class wraps around a JAAS Subject and provides methods to determine the
@ -713,7 +715,8 @@ static UserGroupInformation getLoginUser() throws IOException {
@InterfaceAudience.Private
@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
// logged in ugi if it's different
loginUser = ugi;

View File

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