package proto.bdaccess; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import org.junit.Test; import static org.junit.Assert.*; import static org.mockito.Mockito.*; public class BusinessSLATest { @Test public void computeServiceLevelTestViolation() throws ParseException{ BusinessSLA sla= new BusinessSLA(70, 70, 70, new HoursPeriod(0, 1440), new HoursPeriod(420, 1320), new HoursPeriod(600, 1080), "smarttravel.com", "meteo_service","slaName"); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd_HH:mm"); int responseTime=75; Date timeStamp=format.parse("2012-08-21_10:01"); BusinessServiceLevel level=sla.computeServiceLevel(responseTime, timeStamp); assertEquals(BusinessServiceLevel.VIOLATION, level); } @Test public void computeServiceLevelTestBronze() throws ParseException{ BusinessSLA sla= new BusinessSLA(70, 80, 85, new HoursPeriod(0, 1440), new HoursPeriod(420, 1320), new HoursPeriod(600, 1080), "smarttravel.com", "meteo_service","slaName"); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd_HH:mm"); int responseTime=84; Date timeStamp=format.parse("2012-08-21_12:01"); BusinessServiceLevel level=sla.computeServiceLevel(responseTime, timeStamp); assertEquals(BusinessServiceLevel.BRONZE, level); } @Test public void computeServiceLevelTestSilver() throws ParseException{ BusinessSLA sla= new BusinessSLA(70, 80, 85, new HoursPeriod(0, 1440), new HoursPeriod(420, 1320), new HoursPeriod(600, 1080), "smarttravel.com", "meteo_service","slaName"); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd_HH:mm"); int responseTime=75; Date timeStamp=format.parse("2012-08-21_07:01"); BusinessServiceLevel level=sla.computeServiceLevel(responseTime, timeStamp); assertEquals(BusinessServiceLevel.SILVER, level); } @Test public void computeServiceLevelTestGold() throws ParseException{ BusinessSLA sla= new BusinessSLA(70, 70, 70, new HoursPeriod(0, 1440), new HoursPeriod(420, 1320), new HoursPeriod(600, 1080), "smarttravel.com", "meteo_service","slaName"); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd_HH:mm"); int responseTime=69; Date timeStamp=format.parse("2012-08-21_04:01"); BusinessServiceLevel level=sla.computeServiceLevel(responseTime, timeStamp); assertEquals(BusinessServiceLevel.GOLD, level); } @Test public void getTest() throws ParseException{ BusinessSLA sla= new BusinessSLA(70, 85, 90, new HoursPeriod(0, 1440), new HoursPeriod(420, 1320), new HoursPeriod(600, 1080), "smarttravel.com", "meteo_service","slaName"); assertEquals(sla.getGoldPeriod(),new HoursPeriod(0, 1440)); assertEquals(sla.getSilverPeriod(),new HoursPeriod(420, 1320)); assertEquals(sla.getBronzePeriod(),new HoursPeriod(600, 1080)); assertEquals(sla.getMaxGold(), 70); assertEquals(sla.getMaxSilver(), 85); assertEquals(sla.getMaxBronze(), 90); assertEquals(sla.getProvider(), "smarttravel.com"); assertEquals(sla.getService(), "meteo_service"); } @Test public void setTest() throws ParseException{ BusinessSLA sla= new BusinessSLA(); sla.setGoldPeriod(new HoursPeriod(0, 1440)); sla.setSilverPeriod(new HoursPeriod(420, 1320)); sla.setBronzePeriod(new HoursPeriod(600, 1080)); sla.setMaxGold(70); sla.setMaxSilver(85); sla.setMaxBronze(90); sla.setProvider("smarttravel.com"); sla.setService("meteo_service"); assertEquals(sla.getGoldPeriod(),new HoursPeriod(0, 1440)); assertEquals(sla.getSilverPeriod(),new HoursPeriod(420, 1320)); assertEquals(sla.getBronzePeriod(),new HoursPeriod(600, 1080)); assertEquals(sla.getMaxGold(), 70); assertEquals(sla.getMaxSilver(), 85); assertEquals(sla.getMaxBronze(), 90); assertEquals(sla.getProvider(), "smarttravel.com"); assertEquals(sla.getService(), "meteo_service"); } }