use of org.wildfly.clustering.ee.BatchContext in project wildfly by wildfly.
the class DistributableSingleSignOn method iterator.
@Override
public Iterator<Session> iterator() {
try (BatchContext context = this.batcher.resumeBatch(this.batch)) {
Sessions<String, String> sessions = this.sso.getSessions();
Set<String> deployments = sessions.getDeployments();
List<Session> result = new ArrayList<>(deployments.size());
for (String deployment : sessions.getDeployments()) {
String sessionId = sessions.getSession(deployment);
if (sessionId != null) {
SessionManager manager = this.registry.getSessionManager(deployment);
if (manager != null) {
result.add(new InvalidatableSession(manager, sessionId));
}
}
}
return result.iterator();
}
}
use of org.wildfly.clustering.ee.BatchContext in project wildfly by wildfly.
the class DistributableSingleSignOnTestCase method getSession.
@Test
public void getSession() {
String deployment = "deployment";
String sessionId = "session";
BatchContext context = mock(BatchContext.class);
SessionManager manager = mock(SessionManager.class);
Sessions<String, String> sessions = mock(Sessions.class);
when(this.batcher.resumeBatch(this.batch)).thenReturn(context);
when(manager.getDeploymentName()).thenReturn(deployment);
when(this.sso.getSessions()).thenReturn(sessions);
when(sessions.getSession(deployment)).thenReturn(sessionId);
Session result = this.subject.getSession(manager);
assertSame(sessionId, result.getId());
assertSame(manager, result.getSessionManager());
verifyZeroInteractions(this.batch);
verify(context).close();
}
use of org.wildfly.clustering.ee.BatchContext in project wildfly by wildfly.
the class DistributableSingleSignOnTestCase method contains.
@Test
public void contains() {
String deployment = "deployment";
BatchContext context = mock(BatchContext.class);
Session session = mock(Session.class);
SessionManager manager = mock(SessionManager.class);
Sessions<String, String> sessions = mock(Sessions.class);
when(this.batcher.resumeBatch(this.batch)).thenReturn(context);
when(session.getSessionManager()).thenReturn(manager);
when(manager.getDeploymentName()).thenReturn(deployment);
when(this.sso.getSessions()).thenReturn(sessions);
when(sessions.getDeployments()).thenReturn(Collections.<String>emptySet());
boolean result = this.subject.contains(session);
assertFalse(result);
verifyZeroInteractions(this.batch);
verify(context).close();
reset(context);
when(sessions.getDeployments()).thenReturn(Collections.singleton(deployment));
result = this.subject.contains(session);
assertTrue(result);
verifyZeroInteractions(this.batch);
verify(context).close();
}
use of org.wildfly.clustering.ee.BatchContext in project wildfly by wildfly.
the class DistributableSingleSignOnTestCase method getAccount.
@Test
public void getAccount() {
BatchContext context = mock(BatchContext.class);
Account account = mock(Account.class);
String mechanism = HttpServletRequest.BASIC_AUTH;
AuthenticatedSession authentication = new AuthenticatedSession(account, mechanism);
when(this.batcher.resumeBatch(this.batch)).thenReturn(context);
when(this.sso.getAuthentication()).thenReturn(authentication);
Account result = this.subject.getAccount();
assertSame(account, result);
verifyZeroInteractions(this.batch);
verify(context).close();
}
use of org.wildfly.clustering.ee.BatchContext in project wildfly by wildfly.
the class DistributableSingleSignOnTestCase method close.
@Test
public void close() {
BatchContext context = mock(BatchContext.class);
when(this.batcher.resumeBatch(this.batch)).thenReturn(context);
this.subject.close();
verify(this.batch).close();
verify(context).close();
reset(this.batch);
this.subject.close();
verify(this.batch, never()).close();
}
Aggregations