/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.tradefed.targetprep;
import com.android.tradefed.device.DeviceNotAvailableException;
import com.android.tradefed.device.ITestDevice;
import junit.framework.TestCase;
import org.easymock.EasyMock;
/**
* Unit tests for {@link StopServicesSetup}
*/
public class StopServicesSetupTest extends TestCase {
private StopServicesSetup mPreparer = null;
private ITestDevice mMockDevice = null;
/**
* {@inheritDoc}
*/
@Override
protected void setUp() throws Exception {
super.setUp();
mMockDevice = EasyMock.createStrictMock(ITestDevice.class);
mPreparer = new StopServicesSetup();
}
/**
* Test that the framework is stopped in the default case.
*/
public void testNoop() throws DeviceNotAvailableException {
EasyMock.expect(mMockDevice.executeShellCommand("stop")).andReturn(null);
EasyMock.replay(mMockDevice);
mPreparer.setUp(mMockDevice, null);
EasyMock.verify(mMockDevice);
}
/**
* Test that stopping the framework can be overwritten.
*/
public void testNoStopFramework() throws DeviceNotAvailableException {
mPreparer.setStopFramework(false);
EasyMock.replay(mMockDevice);
mPreparer.setUp(mMockDevice, null);
EasyMock.verify(mMockDevice);
}
/**
* Test that additional services are stopped if specified.
*/
public void testStopServices() throws DeviceNotAvailableException {
mPreparer.addService("service1");
mPreparer.addService("service2");
EasyMock.expect(mMockDevice.executeShellCommand("stop")).andReturn(null);
EasyMock.expect(mMockDevice.executeShellCommand("stop service1")).andReturn(null);
EasyMock.expect(mMockDevice.executeShellCommand("stop service2")).andReturn(null);
EasyMock.replay(mMockDevice);
mPreparer.setUp(mMockDevice, null);
EasyMock.verify(mMockDevice);
}
}