Java 类org.apache.http.auth.BasicUserPrincipal 实例源码
项目:glassfish-jdbc-realm-salted
文件:JDBCLoginModuleTest.java
@Test
public void testLoginWrongRealmForLoginModule() throws Exception {
Principal principal = new BasicUserPrincipal("foo");
PasswordCredential cred = new PasswordCredential("foo",
"bar".toCharArray(), "dummyJdbcRealm");
Subject subject = new Subject(true, new HashSet<>(
Arrays.asList(principal)), new HashSet<>(), new HashSet<>(
Arrays.asList(cred)));
JDBCLoginModule module = new JDBCLoginModule();
module.initialize(subject, callbackHandler, new HashMap<>(),
new HashMap<>());
expectedException.expect(LoginException.class);
expectedException.expectMessage("JDBCLoginModule requires JDBCRealm");
module.login();
}
项目:fcrepo4
文件:FedoraSessionImplIT.java
@Test
public void testGetIdWithUserIdURI() throws RepositoryException {
// test with an absolute user uri
final String userUri = TEST_USER_AGENT_BASE_URI + FEDORA_USER;
when(request.getRemoteUser()).thenReturn(userUri);
when(request.getUserPrincipal()).thenReturn(new BasicUserPrincipal(userUri));
when(request.isUserInRole(eq("admin"))).thenReturn(true);
ServletCredentials credentials = new ServletCredentials(request);
FedoraSession session = repo.login(credentials);
assertEquals("User agent URI invalid.", URI.create(userUri), session.getUserURI());
// test with an Opaque user uri
final String opaqueUserUri = "user:info:" + FEDORA_USER;
when(request.getRemoteUser()).thenReturn(opaqueUserUri);
when(request.getUserPrincipal()).thenReturn(new BasicUserPrincipal(opaqueUserUri));
when(request.isUserInRole(eq("admin"))).thenReturn(true);
credentials = new ServletCredentials(request);
session = repo.login(credentials);
assertEquals("User agent URI invalid.", URI.create(opaqueUserUri), session.getUserURI());
}
项目:fcrepo4
文件:ModeShapeHonorsFADResponseIT.java
@Test
public void testPermissiveFAD() throws RepositoryException {
when(request.getRemoteUser()).thenReturn("fred");
when(request.getUserPrincipal()).thenReturn(
new BasicUserPrincipal("fred"));
when(
request.isUserInRole(Mockito
.eq(ServletContainerAuthenticationProvider.FEDORA_USER_ROLE)))
.thenReturn(true);
Mockito.reset(fad);
when(fad.hasPermission(any(Session.class), any(Path.class), any(String[].class))).thenReturn(true);
final ServletCredentials credentials =
new ServletCredentials(request);
final FedoraSession session = repo.login(credentials);
final Session jcrSession = getJcrSession(session);
final Privilege[] rootPrivs = jcrSession.getAccessControlManager().getPrivileges("/");
for (final Privilege p : rootPrivs) {
logger.debug("got priv: " + p.getName());
}
final ContainerService os = new ContainerServiceImpl();
os.findOrCreate(session, "/myobject");
verify(fad, atLeastOnce()).hasPermission(any(Session.class), any(Path.class), any(String[].class));
}
项目:fcrepo4
文件:ModeShapeHonorsFADResponseIT.java
@Test(expected = AccessDeniedException.class)
public void testRestrictiveFAD() throws Throwable {
when(request.getRemoteUser()).thenReturn("fred");
when(request.getUserPrincipal()).thenReturn(
new BasicUserPrincipal("fred"));
when(
request.isUserInRole(Mockito
.eq(ServletContainerAuthenticationProvider.FEDORA_USER_ROLE)))
.thenReturn(true);
// first permission check is for login
Mockito.reset(fad);
when(fad.hasPermission(any(Session.class), any(Path.class), any(String[].class))).thenReturn(true, false);
final ServletCredentials credentials = new ServletCredentials(request);
final FedoraSession session = repo.login(credentials);
final ContainerService os = new ContainerServiceImpl();
try {
os.findOrCreate(session, "/myobject");
} catch (final RepositoryRuntimeException e) {
throw e.getCause();
}
verify(fad, times(5)).hasPermission(any(Session.class), any(Path.class), any(String[].class));
}
项目:fcrepo4
文件:HttpHeaderPrincipalProviderIT.java
@Test
public void testEmptyPrincipalProvider() throws RepositoryException {
when(request.getRemoteUser()).thenReturn("fred");
when(request.getUserPrincipal()).thenReturn(
new BasicUserPrincipal("fred"));
when(
request.isUserInRole(Mockito
.eq(ServletContainerAuthenticationProvider.FEDORA_USER_ROLE)))
.thenReturn(true);
Mockito.reset(fad);
when(fad.hasPermission(any(Session.class), any(Path.class), any(String[].class))).thenReturn(true);
final ServletCredentials credentials =
new ServletCredentials(request);
final FedoraSession session = repo.login(credentials);
final Session jcrSession = getJcrSession(session);
final Privilege[] rootPrivs = jcrSession.getAccessControlManager().getPrivileges("/");
for (final Privilege p : rootPrivs) {
logger.debug("got priv: " + p.getName());
}
final ContainerService os = new ContainerServiceImpl();
os.findOrCreate(session, "/myobject");
verify(fad, atLeastOnce()).hasPermission(any(Session.class), any(Path.class), any(String[].class));
}
项目:fcrepo4
文件:ContainerRolesPrincipalProviderIT.java
@Test
public void testEmptyPrincipalProvider() throws RepositoryException {
when(request.getRemoteUser()).thenReturn("fred");
when(request.getUserPrincipal()).thenReturn(
new BasicUserPrincipal("fred"));
when(
request.isUserInRole(Mockito
.eq(ServletContainerAuthenticationProvider.FEDORA_USER_ROLE)))
.thenReturn(true);
Mockito.reset(fad);
when(fad.hasPermission(any(Session.class), any(Path.class), any(String[].class))).thenReturn(true);
final ServletCredentials credentials =
new ServletCredentials(request);
final FedoraSession session = repo.login(credentials);
final Session jcrSession = getJcrSession(session);
final Privilege[] rootPrivs =
jcrSession.getAccessControlManager().getPrivileges("/");
for (final Privilege p : rootPrivs) {
logger.debug("got priv: " + p.getName());
}
final ContainerService os = new ContainerServiceImpl();
os.findOrCreate(session, "/myobject");
verify(fad, atLeastOnce()).hasPermission(any(Session.class), any(Path.class), any(String[].class));
}
项目:diadocsdk-java
文件:DiadocCredentials.java
/**
* The constructor with the Diadoc API client ID and auth token arguments.
*
* @param apiClientId the Diadoc API client ID
* @param authToken the Diadoc authorization token
*/
public DiadocCredentials(String apiClientId, String authToken) {
super();
if (apiClientId == null) {
throw new IllegalArgumentException("ApiClientId may not be null");
}
this.principal = new BasicUserPrincipal(apiClientId);
this.authToken = authToken;
}
项目:vics
文件:SessionServiceTest.java
@Test
public void returnsFailureIfCannotFindUser() throws Exception {
User amy = user().withFirstName("Amy").build();
given(userRepository.findOne(amy.getId())).willReturn(amy);
Principal p = new BasicUserPrincipal("name");
Try<User> userTry = underTest.extractUserFromPrincipal(p);
assertThat(userTry, isFailure(instanceOf(UserSessionFailure.class)));
}
项目:enmasse
文件:AddressApiHelperTest.java
@Before
public void setup() {
AddressSpace addressSpace = mock(AddressSpace.class);
AddressSpaceApi addressSpaceApi = mock(AddressSpaceApi.class);
addressApi = mock(AddressApi.class);
securityContext = mock(SecurityContext.class);
when(securityContext.getUserPrincipal()).thenReturn(new BasicUserPrincipal("me"));
when(securityContext.isUserInRole(any())).thenReturn(true);
when(addressSpaceApi.getAddressSpaceWithName(eq("test"))).thenReturn(Optional.of(addressSpace));
when(addressSpaceApi.withAddressSpace(eq(addressSpace))).thenReturn(addressApi);
helper = new AddressApiHelper(addressSpaceApi);
}
项目:enmasse
文件:HttpAddressSpaceServiceTest.java
@Before
public void setup() {
addressSpaceApi = new TestAddressSpaceApi();
addressSpaceService = new HttpAddressSpaceService(addressSpaceApi, "controller");
securityContext = mock(SecurityContext.class);
when(securityContext.getUserPrincipal()).thenReturn(new BasicUserPrincipal("me"));
when(securityContext.isUserInRole(any())).thenReturn(true);
when(securityContext.getAuthenticationScheme()).thenReturn("unknown");
a1 = new AddressSpace.Builder()
.setName("a1")
.setNamespace("myspace")
.setType(new StandardAddressSpaceType())
.setEndpointList(Arrays.asList(
new Endpoint.Builder()
.setName("messaging")
.setService("messaging")
.setHost("messaging.example.com")
.build(),
new Endpoint.Builder()
.setName("mqtt")
.setService("mqtt")
.setHost("mqtt.example.com")
.build()))
.build();
a2 = new AddressSpace.Builder()
.setName("a2")
.setType(new StandardAddressSpaceType())
.setNamespace("othernamespace")
.build();
}
项目:enmasse
文件:HttpAddressServiceTest.java
@Before
public void setup() {
addressSpaceApi = new TestAddressSpaceApi();
this.addressService = new HttpAddressService(addressSpaceApi);
AddressSpace addressSpace = new AddressSpace.Builder()
.setName("myspace")
.setType(new StandardAddressSpaceType())
.build();
securityContext = mock(SecurityContext.class);
when(securityContext.getUserPrincipal()).thenReturn(new BasicUserPrincipal("me"));
when(securityContext.isUserInRole(any())).thenReturn(true);
addressSpaceApi.createAddressSpace(addressSpace);
addressApi = (TestAddressApi) addressSpaceApi.withAddressSpace(addressSpace);
q1 = new Address.Builder()
.setName("q1")
.setType(StandardType.QUEUE)
.build();
a1 = new Address.Builder()
.setName("a1")
.setType(StandardType.ANYCAST)
.build();
addressApi.createAddress(q1);
addressApi.createAddress(a1);
}
项目:enmasse
文件:OSBTestBase.java
protected SecurityContext getSecurityContext() {
SecurityContext securityContext = mock(SecurityContext.class);
when(securityContext.isUserInRole(any())).thenReturn(true);
when(securityContext.isSecure()).thenReturn(true);
when(securityContext.getUserPrincipal()).thenReturn(new BasicUserPrincipal("myuser"));
return securityContext;
}
项目:mondo-integration
文件:LazyCredentials.java
@Override
public Principal getUserPrincipal() {
if (principal == null) {
getCredentials();
if (principal == null) {
return new BasicUserPrincipal("");
}
}
return principal;
}
项目:mondo-integration
文件:LazyCredentials.java
protected void getCredentials() {
try {
// Search within the registered servers by prefix
final List<Server> servers = Activator.getDefault().getServerStore().readAllServers();
String storeKey = url;
for (Server server : servers) {
if (url.startsWith(server.getBaseURL())) {
storeKey = server.getBaseURL();
break;
}
}
CredentialsStore.Credentials creds = Activator.getDefault().getCredentialsStore().get(storeKey);
if (creds == null && PlatformUI.isWorkbenchRunning()) {
final Display display = PlatformUI.getWorkbench().getDisplay();
final CredentialsPrompter prompter = new CredentialsPrompter(display);
display.syncExec(prompter);
creds = prompter.getCredentials();
}
if (creds != null) {
principal = new BasicUserPrincipal(creds.getUsername());
password = creds.getPassword();
}
} catch (Exception e) {
Activator.getDefault().logError(e);
}
}
项目:FeedExpander
文件:HtUserAuthenticator.java
@Override
public Optional<BasicUserPrincipal> authenticate(BasicCredentials credentials) throws AuthenticationException {
String loginUserName = credentials.getUsername();
String loginPassword = credentials.getPassword();
String htUsersPass = readHtUsers().getPassword(loginUserName);
if(negate(comparePasswords(loginPassword, htUsersPass))) {
logger.info("Failed to login " + loginUserName);
return Optional.empty();
}
return Optional.of(new BasicUserPrincipal(loginUserName));
}
项目:FeedExpander
文件:ExpanderApplication.java
private void registerBasicAuth(Environment environment, String htusers) {
if(isNotBlank(htusers)) {
environment.jersey().register(new AuthDynamicFeature(
new BasicCredentialAuthFilter.Builder<BasicUserPrincipal>()
.setAuthenticator(new HtUserAuthenticator(htusers))
.setRealm("All")
.buildAuthFilter()));
}
}
项目:mondo-hawk
文件:LazyCredentials.java
@Override
public Principal getUserPrincipal() {
if (principal == null) {
getCredentials();
if (principal == null) {
return new BasicUserPrincipal("");
}
}
return principal;
}
项目:mondo-hawk
文件:LazyCredentials.java
protected void getCredentials() {
try {
// Search within the registered servers by prefix
final List<Server> servers = Activator.getDefault().getServerStore().readAllServers();
String storeKey = url;
for (Server server : servers) {
if (url.startsWith(server.getBaseURL())) {
storeKey = server.getBaseURL();
break;
}
}
CredentialsStore.Credentials creds = Activator.getDefault().getCredentialsStore().get(storeKey);
if (creds == null && PlatformUI.isWorkbenchRunning()) {
final Display display = PlatformUI.getWorkbench().getDisplay();
final CredentialsPrompter prompter = new CredentialsPrompter(display);
display.syncExec(prompter);
creds = prompter.getCredentials();
}
if (creds != null) {
principal = new BasicUserPrincipal(creds.getUsername());
password = creds.getPassword();
}
} catch (Exception e) {
Activator.getDefault().logError(e);
}
}
项目:mondo-collab-framework
文件:LazyCredentials.java
@Override
public Principal getUserPrincipal() {
if (principal == null) {
getCredentials();
if (principal == null) {
return new BasicUserPrincipal("");
}
}
return principal;
}
项目:mondo-collab-framework
文件:LazyCredentials.java
protected void getCredentials() {
try {
// Search within the registered servers by prefix
final List<Server> servers = Activator.getDefault().getServerStore().readAllServers();
String storeKey = url;
for (Server server : servers) {
if (url.startsWith(server.getBaseURL())) {
storeKey = server.getBaseURL();
break;
}
}
CredentialsStore.Credentials creds = Activator.getDefault().getCredentialsStore().get(storeKey);
if (creds == null && PlatformUI.isWorkbenchRunning()) {
final Display display = PlatformUI.getWorkbench().getDisplay();
final CredentialsPrompter prompter = new CredentialsPrompter(display);
display.syncExec(prompter);
creds = prompter.getCredentials();
}
if (creds != null) {
principal = new BasicUserPrincipal(creds.getUsername());
password = creds.getPassword();
}
} catch (Exception e) {
Activator.getDefault().logError(e);
}
}
项目:glassfish-jdbc-realm-salted
文件:JDBCLoginModuleTest.java
public boolean doLogin(String principalName, String userName,
String password) throws Exception {
Principal principal = new BasicUserPrincipal(principalName);
PasswordCredential cred = new PasswordCredential(userName,
password.toCharArray(), "jdbcRealm");
Subject subject = new Subject(true, new HashSet<>(
Arrays.asList(principal)), new HashSet<>(), new HashSet<>(
Arrays.asList(cred)));
JDBCLoginModule module = new JDBCLoginModule();
module.initialize(subject, callbackHandler, new HashMap<>(),
new HashMap<>());
return module.login();
}
项目:fcrepo4
文件:FedoraSessionImplIT.java
@Test
public void testGetIdExceptionWithUserIdNonURI() throws RepositoryException {
when(request.getRemoteUser()).thenReturn(FEDORA_USER);
when(request.getUserPrincipal()).thenReturn(new BasicUserPrincipal(FEDORA_USER));
when(request.isUserInRole(eq("admin"))).thenReturn(true);
final ServletCredentials credentials = new ServletCredentials(request);
final FedoraSession session = repo.login(credentials);
// should be the default local user agent URI
assertEquals("User agent URI invalid.",
URI.create(FedoraSessionUserUtil.DEFAULT_USER_AGENT_BASE_URI + FEDORA_USER), session.getUserURI());
}
项目:fcrepo4
文件:FedoraSessionImplIT.java
@Test
public void testGetIdWithUserIdNonURI() throws RepositoryException {
// Set basic URI for user agent with environment variable: fcrepo.auth.webac.userAgent.baseUri
System.setProperty(FedoraSessionUserUtil.USER_AGENT_BASE_URI_PROPERTY, TEST_USER_AGENT_BASE_URI);
when(request.getRemoteUser()).thenReturn(FEDORA_USER);
when(request.getUserPrincipal()).thenReturn(new BasicUserPrincipal(FEDORA_USER));
when(request.isUserInRole(eq("admin"))).thenReturn(true);
final ServletCredentials credentials = new ServletCredentials(request);
final FedoraSession session = repo.login(credentials);
assertEquals("User agent URI invalid.",
URI.create(TEST_USER_AGENT_BASE_URI + FEDORA_USER), session.getUserURI());
}
项目:fcrepo4
文件:DelegatedUserIT.java
@Test
public void testDelegatedUserAccess() throws RepositoryException {
// mock request by an admin user, on behalf of a regular user
when(request.getRemoteUser()).thenReturn("admin1");
when(request.getUserPrincipal()).thenReturn(new BasicUserPrincipal("admin1"));
when(request.isUserInRole(eq(ServletContainerAuthenticationProvider.FEDORA_ADMIN_ROLE))).thenReturn(true);
when(request.getHeader("On-Behalf-Of")).thenReturn("user1");
Mockito.reset(fad);
// set up a restrictive mock FAD, which should deny non-admin users
when(fad.hasPermission(any(Session.class), any(Path.class), any(String[].class))).thenReturn(false);
final ServletCredentials credentials = new ServletCredentials(request);
final FedoraSession session = repo.login(credentials);
final Session jcrSession = getJcrSession(session);
assertEquals("Session user principal is user1",
"user1",
((Principal) jcrSession.getAttribute(FedoraAuthorizationDelegate.FEDORA_USER_PRINCIPAL)).getName());
// try to create an object, this should fail because it is being executed as a non-admin user
final ContainerService os = new ContainerServiceImpl();
try {
os.findOrCreate(session, "/myobject");
} catch (final RepositoryRuntimeException e) {
final Throwable cause = e.getCause();
if (cause != null && cause instanceof AccessDeniedException) {
logger.debug("caught expected access denied exception");
} else {
throw e;
}
}
verify(fad, atLeastOnce()).hasPermission(any(Session.class), any(Path.class), any(String[].class));
}
项目:oscm
文件:LoginHandler.java
protected void addPrincipal(SOAPMessageContext context, String userKey) {
Subject sub = (Subject) context.get("javax.security.auth.Subject");
sub.getPrincipals().add(new BasicUserPrincipal(userKey));
}
项目:cyberduck
文件:CertificateStoreX509KeyManagerTest.java
@Test
public void testChooseClientAliasNotfound() throws Exception {
final X509KeyManager m = new CertificateStoreX509KeyManager(new DisabledCertificateStore(), new Host(new TestProtocol())).init();
assertNull(m.chooseClientAlias(new String[]{"RSA", "DSA"},
new Principal[]{new BasicUserPrincipal("user")}, new Socket("test.cyberduck.ch", 443)));
}
项目:restheart
文件:SecurityAuthTokenIT.java
@Test
public void testAuthToken() throws Exception {
Response resp = adminExecutor.execute(Request.Get(rootUri));
HttpResponse httpResp = resp.returnResponse();
assertNotNull(httpResp);
StatusLine statusLine = httpResp.getStatusLine();
assertNotNull(statusLine);
assertEquals("check authorized", HttpStatus.SC_OK, statusLine.getStatusCode());
Header[] _authToken = httpResp.getHeaders(AUTH_TOKEN_HEADER.toString());
Header[] _authTokenValid = httpResp.getHeaders(AUTH_TOKEN_VALID_HEADER.toString());
Header[] _authTokenLocation = httpResp.getHeaders(AUTH_TOKEN_LOCATION_HEADER.toString());
assertNotNull("check not null auth token header", _authToken);
assertNotNull("check not null auth token valid header", _authTokenValid);
assertNotNull("check not null auth token location header", _authTokenLocation);
assertTrue("check not empty array auth token header array ", _authToken.length == 1);
assertTrue("check not empty array auth token valid header array", _authTokenValid.length == 1);
assertTrue("check not empty array auth token location header array", _authTokenLocation.length == 1);
assertTrue("check not empty array auth token header value not null or empty", _authToken[0] != null && _authToken[0].getValue() != null && !_authToken[0].getValue().isEmpty());
assertTrue("check not empty array auth token valid value not null or empty", _authTokenValid[0] != null && _authTokenValid[0].getValue() != null && !_authTokenValid[0].getValue().isEmpty());
assertTrue("check not empty array auth token location not null or empty", _authTokenLocation[0] != null && _authTokenLocation[0].getValue() != null && !_authTokenLocation[0].getValue().isEmpty());
Response resp2 = unauthExecutor.auth(new Credentials() {
@Override
public Principal getUserPrincipal() {
return new BasicUserPrincipal("admin");
}
@Override
public String getPassword() {
return _authToken[0].getValue();
}
}).execute(Request.Get(rootUri));
HttpResponse httpResp2 = resp2.returnResponse();
assertNotNull(httpResp2);
StatusLine statusLine2 = httpResp2.getStatusLine();
assertNotNull(statusLine2);
assertEquals("check authorized via auth token", HttpStatus.SC_OK, statusLine2.getStatusCode());
}
项目:restheart
文件:SecurityAuthTokenIT.java
@Test
public void testAuthTokenResourceLocation() throws Exception {
Response resp = adminExecutor.execute(Request.Get(rootUri));
HttpResponse httpResp = resp.returnResponse();
assertNotNull(httpResp);
StatusLine statusLine = httpResp.getStatusLine();
assertNotNull(statusLine);
assertEquals("check authorized", HttpStatus.SC_OK, statusLine.getStatusCode());
Header[] _authToken = httpResp.getHeaders(AUTH_TOKEN_HEADER.toString());
Header[] _authTokenValid = httpResp.getHeaders(AUTH_TOKEN_VALID_HEADER.toString());
Header[] _authTokenLocation = httpResp.getHeaders(AUTH_TOKEN_LOCATION_HEADER.toString());
assertNotNull("check not null auth token header", _authToken);
assertNotNull("check not null auth token valid header", _authTokenValid);
assertNotNull("check not null auth token location header", _authTokenLocation);
assertTrue("check not empty array auth token header array ", _authToken.length == 1);
assertTrue("check not empty array auth token valid header", _authTokenValid.length == 1);
assertTrue("check not empty array auth token location header", _authTokenLocation.length == 1);
String locationURI = _authTokenLocation[0].getValue();
URI authTokenResourceUri = rootUri.resolve(locationURI);
final String host = MONGO_HOST;
final int port = conf.getHttpPort();
Response resp2 = unauthExecutor.authPreemptive(new HttpHost(host, port, HTTP)).auth(new Credentials() {
@Override
public Principal getUserPrincipal() {
return new BasicUserPrincipal("admin");
}
@Override
public String getPassword() {
return _authToken[0].getValue();
}
}).execute(Request.Get(authTokenResourceUri));
HttpResponse httpResp2 = resp2.returnResponse();
assertNotNull(httpResp2);
StatusLine statusLine2 = httpResp2.getStatusLine();
assertNotNull(statusLine2);
HttpEntity entity = httpResp2.getEntity();
assertNotNull(entity);
Header[] _authTokenValid2 = httpResp2.getHeaders(AUTH_TOKEN_VALID_HEADER.toString());
assertEquals("check auth token resource URI", HttpStatus.SC_OK, statusLine2.getStatusCode());
assertNotNull("content type not null", entity.getContentType());
assertEquals("check content type", Representation.HAL_JSON_MEDIA_TYPE, entity.getContentType().getValue());
String content = EntityUtils.toString(entity);
assertNotNull("check content of auth token resource", content);
JsonObject json = null;
try {
json = JsonObject.readFrom(content);
} catch (Throwable t) {
fail("parsing received json");
}
assertNotNull("check content - auth_token not null", json.get("auth_token"));
assertNotNull("check content - auth_token_valid_until not null", json.get("auth_token_valid_until"));
assertTrue("check content - auth_token not empty", !json.get("auth_token").asString().isEmpty());
assertTrue("check content - auth_token_valid_until not empty", !json.get("auth_token_valid_until").asString().isEmpty());
assertEquals(json.get("auth_token").asString(), _authToken[0].getValue());
assertEquals(json.get("auth_token_valid_until").asString(), _authTokenValid2[0].getValue());
}
项目:restheart
文件:SecurityAuthTokenIT.java
@Test
public void testAuthTokenInvalidation() throws Exception {
Response resp = adminExecutor.execute(Request.Get(rootUri));
HttpResponse httpResp = resp.returnResponse();
assertNotNull(httpResp);
StatusLine statusLine = httpResp.getStatusLine();
assertNotNull(statusLine);
assertEquals("check authorized", HttpStatus.SC_OK, statusLine.getStatusCode());
Header[] _authToken = httpResp.getHeaders(AUTH_TOKEN_HEADER.toString());
Header[] _authTokenValid = httpResp.getHeaders(AUTH_TOKEN_VALID_HEADER.toString());
Header[] _authTokenLocation = httpResp.getHeaders(AUTH_TOKEN_LOCATION_HEADER.toString());
assertNotNull("check not null auth token header", _authToken);
assertNotNull("check not null auth token valid header", _authTokenValid);
assertNotNull("check not null auth token location header", _authTokenLocation);
assertTrue("check not empty array auth token header array ", _authToken.length == 1);
assertTrue("check not empty array auth token valid header", _authTokenValid.length == 1);
assertTrue("check not empty array auth token location header", _authTokenLocation.length == 1);
String locationURI = _authTokenLocation[0].getValue();
URI authTokenResourceUri = rootUri.resolve(locationURI);
Response resp2 = unauthExecutor.auth(new Credentials() {
@Override
public Principal getUserPrincipal() {
return new BasicUserPrincipal("admin");
}
@Override
public String getPassword() {
return _authToken[0].getValue();
}
}).execute(Request.Delete(authTokenResourceUri));
HttpResponse httpResp2 = resp2.returnResponse();
assertNotNull(httpResp2);
StatusLine statusLine2 = httpResp2.getStatusLine();
assertNotNull(statusLine2);
assertEquals("check auth token resource URI", HttpStatus.SC_NO_CONTENT, statusLine2.getStatusCode());
Response resp3 = unauthExecutor.auth(new Credentials() {
@Override
public Principal getUserPrincipal() {
return new BasicUserPrincipal("admin");
}
@Override
public String getPassword() {
return _authToken[0].getValue();
}
}).execute(Request.Get(rootUri));
HttpResponse httpResp3 = resp3.returnResponse();
assertNotNull(httpResp3);
StatusLine statusLine3 = httpResp3.getStatusLine();
assertNotNull(statusLine3);
assertEquals("check auth token resource URI", HttpStatus.SC_UNAUTHORIZED, statusLine3.getStatusCode());
}