package org.openstack.atlas.api.mapper.dozer; import org.openstack.atlas.docs.loadbalancers.api.v1.PersistenceType; import org.openstack.atlas.service.domain.entities.SessionPersistence; import org.dozer.DozerBeanMapper; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.junit.experimental.runners.Enclosed; import org.junit.runner.RunWith; @RunWith(Enclosed.class) public class DomainToDataModelSessionPersistenceTest { private static final String publicDozerConfigFile = "loadbalancing-dozer-mapping.xml"; public static class When_mapping_session_persistence_from_domain_to_datamodel { private DozerBeanMapper mapper; private SessionPersistence sessionPersistence; private org.openstack.atlas.docs.loadbalancers.api.v1.SessionPersistence dataModelSessionPersistence; @Before public void standUp() { mapper = MapperBuilder.getConfiguredMapper(publicDozerConfigFile); sessionPersistence = SessionPersistence.HTTP_COOKIE; } @Test public void shouldMapToNullWhenSessionPersistenceTypeIsNONE() { sessionPersistence = SessionPersistence.NONE; try { dataModelSessionPersistence = mapper.map(sessionPersistence, org.openstack.atlas.docs.loadbalancers.api.v1.SessionPersistence.class); } catch (Exception e) { Assert.fail("Exception caused by session persistence type being null"); } } @Test public void shouldMapToHttpCookie() { dataModelSessionPersistence = mapper.map(sessionPersistence, org.openstack.atlas.docs.loadbalancers.api.v1.SessionPersistence.class); Assert.assertEquals(PersistenceType.HTTP_COOKIE, dataModelSessionPersistence.getPersistenceType()); } } }