/* * Copyright (c) 2015 Dell Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.tsdr.datapurge.test; /** * * * @author <a href="mailto:yuling_c@dell.com">YuLing Chen</a> * * Created: January 1, 2016 */ import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; import org.opendaylight.tsdr.datapurge.PurgingScheduler; import org.opendaylight.tsdr.datapurge.TSDRDataPurgeConfig; public class PurgeSchedulerTest { private RpcProviderRegistry rpcRegistry = mock(RpcProviderRegistry.class); PurgingScheduler purgingScheduler = PurgingScheduler.getInstance(); /** * Test the reSchedule() method. */ @Test public void testSchedule(){ purgingScheduler.setEnabled(true); purgingScheduler.setPurgingInterval(24 * 60); purgingScheduler.setPurgingTime("23:59:59"); purgingScheduler.setRetentionTime(7 * 24); purgingScheduler.schedule(); assertTrue(purgingScheduler.isRunning()); } /** * Test the schedulePurgingTask() method. */ @Test public void testSchedulePurgingTask(){ purgingScheduler.setEnabled(true); purgingScheduler.setPurgingInterval(24 * 60); purgingScheduler.setPurgingTime("23:59:59"); purgingScheduler.setRetentionTime(7 * 24); purgingScheduler.schedulePurgingTask(); assertTrue(purgingScheduler.isRunning()); } /** * Test the cancelScheduledTask() method. */ @Test public void testCancelScheduledTask(){ purgingScheduler.setEnabled(true); purgingScheduler.setPurgingInterval(24 * 60); purgingScheduler.setPurgingTime("23:59:59"); purgingScheduler.setRetentionTime(7 * 24); purgingScheduler.schedulePurgingTask(); purgingScheduler.cancelScheduledTask(); assertTrue(!purgingScheduler.isRunning()); } /** * Test the isEnabled() method. */ @Test public void testGetIsEnabled(){ purgingScheduler.setEnabled(false); assertTrue(purgingScheduler.isEnabled()==false); purgingScheduler.setEnabled(true); assertTrue(purgingScheduler.isEnabled()==true); } /** * Test the getRetentionTime() method. */ @Test public void testGetRetentionTime(){ purgingScheduler.setRetentionTime(24);; assertTrue(purgingScheduler.getRetentionTime()==24); } /** * Test the getPurgingTime() method. */ @Test public void testGetPurgingTime(){ purgingScheduler.setPurgingTime("23:59:59");;; assertTrue(purgingScheduler.getPurgingTime().equals("23:59:59")); purgingScheduler.setPurgingTime("12:00:00");;; assertTrue(purgingScheduler.getPurgingTime().equals("12:00:00")); } /** * Test the getPurgingInterval() method. */ @Test public void testGetPurgingInterval(){ purgingScheduler.setPurgingInterval(1440); assertTrue(purgingScheduler.getPurgingInterval() == 1440); purgingScheduler.setPurgingInterval(60); assertTrue(purgingScheduler.getPurgingInterval() == 60); } /** * Test the isRunning() method. */ @Test public void testIsRunning(){ purgingScheduler.setEnabled(true); purgingScheduler.setPurgingInterval(24 * 60); purgingScheduler.setPurgingTime("23:59:59"); purgingScheduler.setRetentionTime(7 * 24); purgingScheduler.schedule(); assertTrue(purgingScheduler.isRunning()); } @After public void teardown() { rpcRegistry = null; //make sure no scheduled purging task kicked off by this UT. purgingScheduler.cancelScheduledTask(); } }