use of org.apereo.cas.mock.MockTicketGrantingTicket in project cas by apereo.
the class RegisteredServiceAuthenticationPolicySingleSignOnParticipationStrategyTests method verifySsoWithMismatchedHandlers.
@Test
public void verifySsoWithMismatchedHandlers() throws Exception {
val appCtx = new StaticApplicationContext();
appCtx.refresh();
val context = new MockRequestContext();
val request = new MockHttpServletRequest();
val response = new MockHttpServletResponse();
context.setExternalContext(new ServletExternalContext(new MockServletContext(), request, response));
val svc = RegisteredServiceTestUtils.getRegisteredService("serviceid1", Map.of());
val policy = new DefaultRegisteredServiceAuthenticationPolicy();
policy.setRequiredAuthenticationHandlers(Set.of("SomeOtherHandler"));
policy.setCriteria(new AllowedAuthenticationHandlersRegisteredServiceAuthenticationPolicyCriteria());
svc.setAuthenticationPolicy(policy);
val ticketRegistry = new DefaultTicketRegistry();
val strategy = getSingleSignOnStrategy(svc, ticketRegistry);
WebUtils.putServiceIntoFlowScope(context, CoreAuthenticationTestUtils.getWebApplicationService("serviceid1"));
val tgt = new MockTicketGrantingTicket("casuser");
ticketRegistry.addTicket(tgt);
WebUtils.putTicketGrantingTicketInScopes(context, tgt);
val ssoRequest = SingleSignOnParticipationRequest.builder().httpServletRequest(request).requestContext(context).build();
assertTrue(strategy.supports(ssoRequest));
assertFalse(strategy.isParticipating(ssoRequest));
}
use of org.apereo.cas.mock.MockTicketGrantingTicket in project cas by apereo.
the class ServiceTicketRequestWebflowEventResolverTests method verifyAttemptWithoutCredential.
@Test
public void verifyAttemptWithoutCredential() throws Exception {
val context = new MockRequestContext();
val request = new MockHttpServletRequest();
val response = new MockHttpServletResponse();
context.setExternalContext(new ServletExternalContext(new MockServletContext(), request, response));
RequestContextHolder.setRequestContext(context);
ExternalContextHolder.setExternalContext(context.getExternalContext());
val tgt = new MockTicketGrantingTicket("casuser");
ticketRegistry.addTicket(tgt);
val service = RegisteredServiceTestUtils.getService("service-ticket-request");
val registeredService = RegisteredServiceTestUtils.getRegisteredService(service.getId(), Map.of());
servicesManager.save(registeredService);
WebUtils.putTicketGrantingTicketInScopes(context, tgt);
WebUtils.putServiceIntoFlowScope(context, service);
val event = serviceTicketRequestWebflowEventResolver.resolveSingle(context);
assertEquals(CasWebflowConstants.TRANSITION_ID_GENERATE_SERVICE_TICKET, event.getId());
}
use of org.apereo.cas.mock.MockTicketGrantingTicket in project cas by apereo.
the class ServiceTicketRequestWebflowEventResolverTests method verifyServiceTicketRequestFailsAuthN.
@Test
public void verifyServiceTicketRequestFailsAuthN() throws Exception {
val context = new MockRequestContext();
val request = new MockHttpServletRequest();
val response = new MockHttpServletResponse();
context.setExternalContext(new ServletExternalContext(new MockServletContext(), request, response));
RequestContextHolder.setRequestContext(context);
ExternalContextHolder.setExternalContext(context.getExternalContext());
val tgt = new MockTicketGrantingTicket("casuser");
ticketRegistry.addTicket(tgt);
val service = RegisteredServiceTestUtils.getService("service-ticket-request");
val registeredService = RegisteredServiceTestUtils.getRegisteredService(service.getId());
registeredService.setAccessStrategy(new DefaultRegisteredServiceAccessStrategy(true, true));
servicesManager.save(registeredService);
WebUtils.putTicketGrantingTicketInScopes(context, tgt);
WebUtils.putServiceIntoFlowScope(context, service);
WebUtils.putCredential(context, RegisteredServiceTestUtils.getCredentialsWithDifferentUsernameAndPassword("casuser", "badP@ass"));
val event = serviceTicketRequestWebflowEventResolver.resolveSingle(context);
assertEquals(CasWebflowConstants.TRANSITION_ID_AUTHENTICATION_FAILURE, event.getId());
}
use of org.apereo.cas.mock.MockTicketGrantingTicket in project cas by apereo.
the class ServiceTicketRequestWebflowEventResolverTests method verifyServiceTicketRequestCreated.
@Test
public void verifyServiceTicketRequestCreated() throws Exception {
val context = new MockRequestContext();
val request = new MockHttpServletRequest();
val response = new MockHttpServletResponse();
context.setExternalContext(new ServletExternalContext(new MockServletContext(), request, response));
RequestContextHolder.setRequestContext(context);
ExternalContextHolder.setExternalContext(context.getExternalContext());
val tgt = new MockTicketGrantingTicket("casuser");
ticketRegistry.addTicket(tgt);
val service = RegisteredServiceTestUtils.getService("service-ticket-request");
val registeredService = RegisteredServiceTestUtils.getRegisteredService(service.getId());
registeredService.setAccessStrategy(new DefaultRegisteredServiceAccessStrategy(true, true));
servicesManager.save(registeredService);
WebUtils.putTicketGrantingTicketInScopes(context, tgt);
WebUtils.putServiceIntoFlowScope(context, service);
WebUtils.putCredential(context, RegisteredServiceTestUtils.getCredentialsWithDifferentUsernameAndPassword("casuser", "Mellon"));
val event = serviceTicketRequestWebflowEventResolver.resolveSingle(context);
assertEquals(CasWebflowConstants.TRANSITION_ID_GENERATE_SERVICE_TICKET, event.getId());
}
use of org.apereo.cas.mock.MockTicketGrantingTicket in project cas by apereo.
the class ServiceTicketRequestWebflowEventResolverTests method verifyServiceTicketRequestPrincipalMismatch.
@Test
public void verifyServiceTicketRequestPrincipalMismatch() throws Exception {
val context = new MockRequestContext();
val request = new MockHttpServletRequest();
val response = new MockHttpServletResponse();
context.setExternalContext(new ServletExternalContext(new MockServletContext(), request, response));
RequestContextHolder.setRequestContext(context);
ExternalContextHolder.setExternalContext(context.getExternalContext());
val tgt = new MockTicketGrantingTicket("randomuser");
ticketRegistry.addTicket(tgt);
val service = RegisteredServiceTestUtils.getService("service-ticket-request");
val registeredService = RegisteredServiceTestUtils.getRegisteredService(service.getId());
registeredService.setAccessStrategy(new DefaultRegisteredServiceAccessStrategy(true, true));
servicesManager.save(registeredService);
WebUtils.putTicketGrantingTicketInScopes(context, tgt);
WebUtils.putServiceIntoFlowScope(context, service);
WebUtils.putCredential(context, RegisteredServiceTestUtils.getCredentialsWithDifferentUsernameAndPassword("casuser", "Mellon"));
assertNull(serviceTicketRequestWebflowEventResolver.resolveSingle(context));
}
Aggregations