use of org.forgerock.oauth2.core.OAuth2Request in project OpenAM by OpenRock.
the class AccessTokenProtectionFilterTest method testBeforeHandleWithNoBearerToken.
@Test
public void testBeforeHandleWithNoBearerToken() throws Exception {
//Given
Request req = mock(Request.class);
Response resp = mock(Response.class);
OAuth2Request oAuth2Request = mock(OAuth2Request.class);
when(requestFactory.create(req)).thenReturn(oAuth2Request);
when(req.getChallengeResponse()).thenReturn(null);
//When
int result = filter.beforeHandle(req, resp);
//Then
assertThat(result).isEqualTo(Filter.STOP);
ArgumentCaptor<Status> statusCaptor = ArgumentCaptor.forClass(Status.class);
verify(resp).setStatus(statusCaptor.capture());
Status status = statusCaptor.getValue();
assertThat(status.getThrowable()).isInstanceOf(InvalidTokenException.class);
}
use of org.forgerock.oauth2.core.OAuth2Request in project OpenAM by OpenRock.
the class AccessTokenProtectionFilterTest method testBeforeHandleWithServerException.
@Test
public void testBeforeHandleWithServerException() throws Exception {
//Given
Request req = mock(Request.class);
Response resp = mock(Response.class);
OAuth2Request oAuth2Request = mock(OAuth2Request.class);
when(requestFactory.create(req)).thenReturn(oAuth2Request);
ChallengeResponse challengeResponse = new ChallengeResponse(ChallengeScheme.HTTP_BASIC);
challengeResponse.setRawValue("tokenId");
when(req.getChallengeResponse()).thenReturn(challengeResponse);
when(tokenStore.readAccessToken(oAuth2Request, "tokenId")).thenThrow(ServerException.class);
//When
int result = filter.beforeHandle(req, resp);
//Then
assertThat(result).isEqualTo(Filter.STOP);
ArgumentCaptor<Status> statusCaptor = ArgumentCaptor.forClass(Status.class);
verify(resp).setStatus(statusCaptor.capture());
Status status = statusCaptor.getValue();
assertThat(status.getThrowable()).isInstanceOf(ServerException.class);
}
use of org.forgerock.oauth2.core.OAuth2Request in project OpenAM by OpenRock.
the class AccessTokenProtectionFilterTest method testBeforeHandle.
@Test
public void testBeforeHandle() throws Exception {
//Given
Request req = mock(Request.class);
OAuth2Request oAuth2Request = mock(OAuth2Request.class);
when(requestFactory.create(req)).thenReturn(oAuth2Request);
ChallengeResponse challengeResponse = new ChallengeResponse(ChallengeScheme.HTTP_BASIC);
challengeResponse.setRawValue("tokenId");
when(req.getChallengeResponse()).thenReturn(challengeResponse);
AccessToken accessToken = new AccessToken(json(object(field("id", "tokenId"), field("tokenName", "access_token"), field("scope", asSet("a", REQUIRED_SCOPE)), field("expireTime", System.currentTimeMillis() + 5000))));
when(tokenStore.readAccessToken(oAuth2Request, "tokenId")).thenReturn(accessToken);
//When
int result = filter.beforeHandle(req, null);
//Then
assertThat(result).isEqualTo(Filter.CONTINUE);
}
use of org.forgerock.oauth2.core.OAuth2Request in project OpenAM by OpenRock.
the class AccessTokenProtectionFilterTest method testBeforeHandleWithoutScope.
@Test
public void testBeforeHandleWithoutScope() throws Exception {
//Given
Request req = mock(Request.class);
Response resp = mock(Response.class);
OAuth2Request oAuth2Request = mock(OAuth2Request.class);
when(requestFactory.create(req)).thenReturn(oAuth2Request);
ChallengeResponse challengeResponse = new ChallengeResponse(ChallengeScheme.HTTP_BASIC);
challengeResponse.setRawValue("tokenId");
when(req.getChallengeResponse()).thenReturn(challengeResponse);
AccessToken accessToken = new AccessToken(json(object(field("id", "tokenId"), field("tokenName", "access_token"), field("scope", asSet("a")), field("expireTime", System.currentTimeMillis() + 5000))));
when(tokenStore.readAccessToken(oAuth2Request, "tokenId")).thenReturn(accessToken);
//When
int result = filter.beforeHandle(req, resp);
//Then
assertThat(result).isEqualTo(Filter.STOP);
ArgumentCaptor<Status> statusCaptor = ArgumentCaptor.forClass(Status.class);
verify(resp).setStatus(statusCaptor.capture());
Status status = statusCaptor.getValue();
assertThat(status.getThrowable()).isInstanceOf(InsufficientScopeException.class);
}
use of org.forgerock.oauth2.core.OAuth2Request in project OpenAM by OpenRock.
the class AccessTokenProtectionFilterTest method testBeforeHandleWithoutToken.
@Test
public void testBeforeHandleWithoutToken() throws Exception {
//Given
Request req = mock(Request.class);
Response resp = mock(Response.class);
OAuth2Request oAuth2Request = mock(OAuth2Request.class);
when(requestFactory.create(req)).thenReturn(oAuth2Request);
ChallengeResponse challengeResponse = new ChallengeResponse(ChallengeScheme.HTTP_BASIC);
challengeResponse.setRawValue("tokenId");
when(req.getChallengeResponse()).thenReturn(challengeResponse);
when(tokenStore.readAccessToken(oAuth2Request, "tokenId")).thenReturn(null);
//When
int result = filter.beforeHandle(req, resp);
//Then
assertThat(result).isEqualTo(Filter.STOP);
ArgumentCaptor<Status> statusCaptor = ArgumentCaptor.forClass(Status.class);
verify(resp).setStatus(statusCaptor.capture());
Status status = statusCaptor.getValue();
assertThat(status.getThrowable()).isInstanceOf(InvalidTokenException.class);
}
Aggregations