use of org.apache.tapestry5.services.ApplicationStateCreator in project tapestry-5 by apache.
the class ApplicationStateManagerImplTest method get_from_configured_aso.
@SuppressWarnings("unchecked")
@Test
public void get_from_configured_aso() {
String strategyName = "ethereal";
ApplicationStatePersistenceStrategy strategy = mockApplicationStatePersistenceStrategy();
ApplicationStatePersistenceStrategySource source = mockApplicationStatePersistenceStrategySource();
Class asoClass = ReadOnlyBean.class;
ApplicationStateCreator<ReadOnlyBean> creator = mockApplicationStateCreator();
ReadOnlyBean aso = new ReadOnlyBean();
Map<Class, ApplicationStateContribution> configuration = Collections.singletonMap(asoClass, new ApplicationStateContribution(strategyName, creator));
train_get(source, strategyName, strategy);
train_get(strategy, asoClass, creator, aso);
replay();
ApplicationStateManager manager = new ApplicationStateManagerImpl(configuration, source, null);
assertSame(manager.get(asoClass), aso);
verify();
}
use of org.apache.tapestry5.services.ApplicationStateCreator in project tapestry-5 by apache.
the class ApplicationStateManagerImplTest method get_if_exists_and_it_doesnt.
@Test
public void get_if_exists_and_it_doesnt() {
String strategyName = "ethereal";
ApplicationStatePersistenceStrategy strategy = mockApplicationStatePersistenceStrategy();
ApplicationStatePersistenceStrategySource source = mockApplicationStatePersistenceStrategySource();
Class asoClass = ReadOnlyBean.class;
ApplicationStateCreator<ReadOnlyBean> creator = mockApplicationStateCreator();
Map<Class, ApplicationStateContribution> configuration = Collections.singletonMap(asoClass, new ApplicationStateContribution(strategyName, creator));
train_get(source, strategyName, strategy);
train_getIfExists(strategy, asoClass, null);
replay();
ApplicationStateManager manager = new ApplicationStateManagerImpl(configuration, source, null);
assertNull(manager.getIfExists(asoClass));
verify();
}
use of org.apache.tapestry5.services.ApplicationStateCreator in project tapestry-5 by apache.
the class ApplicationStateManagerImplTest method get_if_exists_when_it_does_exist.
@Test
public void get_if_exists_when_it_does_exist() {
String strategyName = "ethereal";
ApplicationStatePersistenceStrategy strategy = mockApplicationStatePersistenceStrategy();
ApplicationStatePersistenceStrategySource source = mockApplicationStatePersistenceStrategySource();
Class asoClass = ReadOnlyBean.class;
ApplicationStateCreator<ReadOnlyBean> creator = mockApplicationStateCreator();
ReadOnlyBean aso = new ReadOnlyBean();
Map<Class, ApplicationStateContribution> configuration = Collections.singletonMap(asoClass, new ApplicationStateContribution(strategyName, creator));
train_get(source, strategyName, strategy);
train_getIfExists(strategy, asoClass, aso);
replay();
ApplicationStateManager manager = new ApplicationStateManagerImpl(configuration, source, null);
assertSame(manager.getIfExists(asoClass), aso);
verify();
}
use of org.apache.tapestry5.services.ApplicationStateCreator in project tapestry-5 by apache.
the class SessionApplicationStatePersistenceStrategyTest method get_aso_already_exists.
@SuppressWarnings("unchecked")
@Test
public void get_aso_already_exists() {
Request request = mockRequest();
Session session = mockSession();
Class asoClass = ReadOnlyBean.class;
Object aso = new ReadOnlyBean();
String key = "sso:" + asoClass.getName();
ApplicationStateCreator creator = mockApplicationStateCreator();
train_getSession(request, true, session);
train_getAttribute(session, key, aso);
replay();
ApplicationStatePersistenceStrategy strategy = new SessionApplicationStatePersistenceStrategy(request);
assertSame(strategy.get(asoClass, creator), aso);
verify();
}
use of org.apache.tapestry5.services.ApplicationStateCreator in project tapestry-5 by apache.
the class SessionApplicationStatePersistenceStrategyTest method get_aso_needs_to_be_created.
@SuppressWarnings("unchecked")
@Test
public void get_aso_needs_to_be_created() {
Request request = mockRequest();
Session session = mockSession();
Class asoClass = ReadOnlyBean.class;
Object aso = new ReadOnlyBean();
String key = "sso:" + asoClass.getName();
ApplicationStateCreator creator = mockApplicationStateCreator();
// First for exists()
train_getSession(request, false, session);
train_isInvalidated(session, false);
train_getAttribute(session, key, null);
// Second for get()
train_getSession(request, true, session);
// Not in map
train_getAttribute(session, key, null);
train_create(creator, aso);
train_getSession(request, true, session);
session.setAttribute(key, aso);
// Then for exists() after
train_getSession(request, false, session);
train_isInvalidated(session, false);
train_getAttribute(session, key, aso);
replay();
ApplicationStatePersistenceStrategy strategy = new SessionApplicationStatePersistenceStrategy(request);
assertFalse(strategy.exists(asoClass));
assertSame(strategy.get(asoClass, creator), aso);
assertTrue(strategy.exists(asoClass));
verify();
}
Aggregations