package org.openstack.atlas.api.mgmt.mapper.dozer; import org.openstack.atlas.docs.loadbalancers.api.management.v1.BlacklistItem; import org.openstack.atlas.service.domain.entities.BlacklistType; import org.openstack.atlas.service.domain.entities.IpVersion; 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 BlacklistItemTest { private static final String managementDozerConfigFile = "loadbalancing-dozer-management-mapping.xml"; public static class WhenMappingABlacklistItemFromDomainToDataModel { private DozerBeanMapper mapper; private BlacklistItem dataModelBlacklistItem; private org.openstack.atlas.service.domain.entities.BlacklistItem domainBlacklistItem; @Before public void setUp() { mapper = MapperBuilder.getConfiguredMapper(managementDozerConfigFile); domainBlacklistItem = new org.openstack.atlas.service.domain.entities.BlacklistItem(); domainBlacklistItem.setId(1); domainBlacklistItem.setCidrBlock("10.1.1.1/24"); domainBlacklistItem.setIpVersion(IpVersion.IPV4); domainBlacklistItem.setBlacklistType(BlacklistType.NODE); } @Test public void shouldNotFailWhenDomainBlackListIsEmpty() { domainBlacklistItem = new org.openstack.atlas.service.domain.entities.BlacklistItem(); try { dataModelBlacklistItem = mapper.map(domainBlacklistItem, BlacklistItem.class); } catch (Exception e) { Assert.fail("Empty domain black list item caused this exception"); } } @Test public void shouldMapNullFieldsWhenBlackListIsEmpty() { domainBlacklistItem = new org.openstack.atlas.service.domain.entities.BlacklistItem(); dataModelBlacklistItem = mapper.map(domainBlacklistItem, BlacklistItem.class); Assert.assertNull(dataModelBlacklistItem.getId()); Assert.assertNull(dataModelBlacklistItem.getCidrBlock()); Assert.assertNull(dataModelBlacklistItem.getIpVersion()); Assert.assertNull(dataModelBlacklistItem.getType()); } @Test public void shouldMapAllFields() { dataModelBlacklistItem = mapper.map(domainBlacklistItem, BlacklistItem.class); Assert.assertEquals(new Integer(1), dataModelBlacklistItem.getId()); Assert.assertEquals("10.1.1.1/24", dataModelBlacklistItem.getCidrBlock()); Assert.assertEquals(org.openstack.atlas.docs.loadbalancers.api.management.v1.IpVersion.IPV4, dataModelBlacklistItem.getIpVersion()); Assert.assertEquals(org.openstack.atlas.docs.loadbalancers.api.management.v1.BlacklistType.NODE, dataModelBlacklistItem.getType()); } } public static class WhenMappingABlacklistItemFromDataModelToDomain { private DozerBeanMapper mapper; private BlacklistItem dataModelBlacklistItem; private org.openstack.atlas.service.domain.entities.BlacklistItem domainBlacklistItem; @Before public void setUp() { mapper = MapperBuilder.getConfiguredMapper(managementDozerConfigFile); dataModelBlacklistItem = new BlacklistItem(); dataModelBlacklistItem.setId(1); dataModelBlacklistItem.setCidrBlock("10.1.1.1/24"); dataModelBlacklistItem.setIpVersion(org.openstack.atlas.docs.loadbalancers.api.management.v1.IpVersion.IPV4); dataModelBlacklistItem.setType(org.openstack.atlas.docs.loadbalancers.api.management.v1.BlacklistType.NODE); } @Test public void shouldNotFailWhenDomainBlackListIsEmpty() { dataModelBlacklistItem = new BlacklistItem(); try { domainBlacklistItem = mapper.map(dataModelBlacklistItem, org.openstack.atlas.service.domain.entities.BlacklistItem.class); } catch (Exception e) { Assert.fail("Empty domain black list item caused this exception"); } } @Test public void shouldMapNullFieldsWhenBlackListIsEmpty() { dataModelBlacklistItem = new BlacklistItem(); domainBlacklistItem = mapper.map(dataModelBlacklistItem, org.openstack.atlas.service.domain.entities.BlacklistItem.class); Assert.assertNull(domainBlacklistItem.getId()); Assert.assertNull(domainBlacklistItem.getCidrBlock()); Assert.assertNull(domainBlacklistItem.getIpVersion()); Assert.assertNull(domainBlacklistItem.getBlacklistType()); } @Test public void shouldMapAllFields() { domainBlacklistItem = mapper.map(dataModelBlacklistItem, org.openstack.atlas.service.domain.entities.BlacklistItem.class); Assert.assertEquals(new Integer(1), domainBlacklistItem.getId()); Assert.assertEquals("10.1.1.1/24", domainBlacklistItem.getCidrBlock()); Assert.assertEquals(IpVersion.IPV4, domainBlacklistItem.getIpVersion()); Assert.assertEquals(BlacklistType.NODE, domainBlacklistItem.getBlacklistType()); } } }