package de.juwimm.cms.remote.test; import junit.framework.TestCase; import org.easymock.EasyMock; import org.junit.Assert; import de.juwimm.cms.model.HostHbm; import de.juwimm.cms.model.HostHbmDao; import de.juwimm.cms.model.HostHbmImpl; import de.juwimm.cms.model.SiteHbm; import de.juwimm.cms.model.SiteHbmDao; import de.juwimm.cms.model.SiteHbmImpl; import de.juwimm.cms.model.UnitHbm; import de.juwimm.cms.model.UnitHbmDao; import de.juwimm.cms.model.UnitHbmImpl; import de.juwimm.cms.remote.AdministrationServiceSpringImpl; import de.juwimm.cms.vo.HostValue; public class AdministrationServiceTest extends TestCase { AdministrationServiceSpringImpl administrationService; SiteHbmDao siteDaoMock; HostHbmDao hostDaoMock; UnitHbmDao unitDaoMock; @Override protected void setUp() throws Exception { administrationService = new AdministrationServiceSpringImpl(); siteDaoMock = EasyMock.createMock(SiteHbmDao.class); administrationService.setSiteHbmDao(siteDaoMock); hostDaoMock = EasyMock.createMock(HostHbmDao.class); administrationService.setHostHbmDao(hostDaoMock); unitDaoMock = EasyMock.createMock(UnitHbmDao.class); administrationService.setUnitHbmDao(unitDaoMock); } /** * Test getHostsForSite * expect: for a given site with 2 hosts to return a collection containing them */ public void testGetHostsForSite() { SiteHbm site = new SiteHbmImpl(); site.setSiteId(1); site.setName("testSite"); SiteHbm siteSecond = new SiteHbmImpl(); siteSecond.setSiteId(2); siteSecond.setName("testSiteSecond"); UnitHbm unit = new UnitHbmImpl(); unit.setUnitId(1); unit.setName("testUnit"); unit.setSite(site); HostHbm hostHbmFirst = new HostHbmImpl(); hostHbmFirst.setLiveserver(true); hostHbmFirst.setRedirectUrl("redirectUrlFirst"); hostHbmFirst.setUnit(unit); hostHbmFirst.setSite(site); HostHbm hostHbmSecond = new HostHbmImpl(); hostHbmSecond.setLiveserver(true); hostHbmSecond.setRedirectUrl("redirectUrlSecond"); hostHbmSecond.setUnit(unit); hostHbmSecond.setSite(site); HostHbm hostHbmThird = new HostHbmImpl(); hostHbmThird.setLiveserver(true); hostHbmThird.setRedirectUrl("redirectUrlThird"); hostHbmThird.setUnit(unit); hostHbmThird.setSite(siteSecond); site.getHost().add(hostHbmFirst); site.getHost().add(hostHbmSecond); siteSecond.getHost().add(hostHbmThird); try { EasyMock.expect(siteDaoMock.load(EasyMock.eq(1))).andReturn(site); } catch (Exception e) { Assert.assertTrue(false); } EasyMock.replay(siteDaoMock); try { HostValue[] hosts = administrationService.getHostsForSite(site.getSiteId()); Assert.assertNotNull(hosts); } catch (Exception e) { Assert.assertTrue(false); } } /** * Test UpdateHost * expect: new values for the properties are set right */ public void testUpdateHost() { SiteHbm site = new SiteHbmImpl(); site.setSiteId(1); site.setName("testSite"); UnitHbm unit = new UnitHbmImpl(); unit.setUnitId(1); unit.setName("testUnit"); unit.setSite(site); HostHbm hostHbm = new HostHbmImpl(); hostHbm.setHostName("testHost"); hostHbm.setLiveserver(true); hostHbm.setRedirectUrl("redirectUrl"); hostHbm.setUnit(unit); hostHbm.setSite(site); HostValue hostValue = new HostValue(); hostValue.setHostName("testHost"); hostValue.setRedirectUrl("updateRedirectUrl"); hostValue.setLiveServer(false); hostValue.setUnitId(unit.getUnitId()); hostValue.setSiteId(site.getSiteId()); try { EasyMock.expect(hostDaoMock.load(EasyMock.eq("testHost"))).andReturn(hostHbm); EasyMock.expect(siteDaoMock.load(EasyMock.eq(1))).andReturn(site); EasyMock.expect(unitDaoMock.load(EasyMock.eq(1))).andReturn(unit); hostDaoMock.update((HostHbm) EasyMock.anyObject()); } catch (Exception e) { Assert.assertTrue(false); } EasyMock.replay(hostDaoMock); EasyMock.replay(siteDaoMock); EasyMock.replay(unitDaoMock); try { administrationService.updateHost(hostValue); } catch (Exception e) { Assert.assertTrue(false); } } }