/** * Copyright 2014 Comcast Cable Communications Management, LLC * * This file is part of CATS. * * CATS is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * CATS is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with CATS. If not, see <http://www.gnu.org/licenses/>. */ package com.comcast.cats; import junit.framework.Assert; import org.apache.log4j.Logger; import org.junit.Test; import com.comcast.cats.domain.SettopDesc; import com.comcast.cats.service.SettopToken; import com.comcast.cats.service.WebServiceReturnEnum; /** * SettopService integration test for Power service. All tests will be disabled * in CI. Enable in local development environment. * * @author subinsugunan * */ public class SettopServicePowerIT extends SettopServiceBaseIT { private static Logger logger = Logger.getLogger( SettopServicePowerIT.class ); private static final String POWER_STATE_ON = "ON"; private static final String POWER_STATE_OFF = "OFF"; private static final long KEYPRESS_INTERVAL = 45000; @Test public void testPower() throws Exception { logger.info( ">> GET SETTOP" ); logger.info( "Mac address [" + macId + "] Auth Token [" + authToken + "]" ); SettopToken settopToken = settopService.getSettop( macId, authToken ); logger.info( "SettopToken received" ); logger.info( "Allocation id [" + settopToken.getAllocationId() + "]" ); logger.info( "AuthToken [" + settopToken.getAuthToken() + "]" ); logger.info( "Settop id [" + settopToken.getSettopId() + "]" ); logger.info( "----------------------------------------------------------------" ); logger.info( ">> GET SETTOP INFO" ); SettopDesc settopDesc = settopService.getSettopInfo( settopToken ); logger.info( "SettopDesc received" ); logger.info( "SettopDesc [" + settopDesc.toString() + "]" ); logger.info( "----------------------------------------------------------------" ); String status = settopService.getPowerState( settopToken ).getStatus(); logger.info( "Settop is in [" + status + "] state" ); if ( POWER_STATE_OFF.equalsIgnoreCase( status ) ) { logger.info( ">> POWER ON" ); settopServiceReturnMessage = settopService.hardPowerOn( settopToken ); logger.info( settopServiceReturnMessage.getResult() ); Assert.assertEquals( WebServiceReturnEnum.SUCCESS, settopServiceReturnMessage.getResult() ); Thread.sleep( KEYPRESS_INTERVAL ); } Assert.assertEquals( POWER_STATE_ON, settopService.getPowerState( settopToken ).getStatus() ); logger.info( ">> POWER OFF" ); settopServiceReturnMessage = settopService.hardPowerOff( settopToken ); logger.info( settopServiceReturnMessage.getResult() ); Assert.assertEquals( WebServiceReturnEnum.SUCCESS, settopServiceReturnMessage.getResult() ); Assert.assertEquals( POWER_STATE_OFF, settopService.getPowerState( settopToken ).getStatus() ); Thread.sleep( KEYPRESS_INTERVAL ); logger.info( ">> POWER ON" ); settopServiceReturnMessage = settopService.hardPowerOn( settopToken ); logger.info( settopServiceReturnMessage.getResult() ); Assert.assertEquals( WebServiceReturnEnum.SUCCESS, settopServiceReturnMessage.getResult() ); Assert.assertEquals( POWER_STATE_ON, settopService.getPowerState( settopToken ).getStatus() ); Thread.sleep( KEYPRESS_INTERVAL ); logger.info( ">> POWER TOGGLE" ); settopServiceReturnMessage = settopService.hardPowerToggle( settopToken ); logger.info( settopServiceReturnMessage.getResult() ); Assert.assertEquals( WebServiceReturnEnum.SUCCESS, settopServiceReturnMessage.getResult() ); Thread.sleep( KEYPRESS_INTERVAL ); Assert.assertEquals( POWER_STATE_ON, settopService.getPowerState( settopToken ).getStatus() ); logger.info( "----------------------------------------------------------------" ); logger.info( ">> RELEASE SETTOP" ); settopServiceReturnMessage = settopService.releaseSettop( settopToken ); logger.info( settopServiceReturnMessage.getResult() ); Assert.assertEquals( WebServiceReturnEnum.SUCCESS, settopServiceReturnMessage.getResult() ); } }