diff options
author | Adnan Begovic <adnan@cyngn.com> | 2016-01-05 15:47:15 -0800 |
---|---|---|
committer | Adnan Begovic <adnan@cyngn.com> | 2016-01-05 17:37:14 -0800 |
commit | 33e300e32db2b94274d94295435e1ad4c9a8347e (patch) | |
tree | 55214da81498c659fd0e574b4e277b5af7f47cb0 /tests | |
parent | bbab82e97b59418b2bf089be61727581ace0ed02 (diff) | |
download | vendor_cmsdk-33e300e32db2b94274d94295435e1ad4c9a8347e.zip vendor_cmsdk-33e300e32db2b94274d94295435e1ad4c9a8347e.tar.gz vendor_cmsdk-33e300e32db2b94274d94295435e1ad4c9a8347e.tar.bz2 |
cmsdk: Add example service test.
Change-Id: I52972bc4d32505ba7fd2f7278efdb9441c39b82a
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Android.mk | 2 | ||||
-rw-r--r-- | tests/src/org/cyanogenmod/platform/internal/CMStatusBarManagerServiceTest.java | 146 |
2 files changed, 147 insertions, 1 deletions
diff --git a/tests/Android.mk b/tests/Android.mk index e8a7383..3df66a3 100644 --- a/tests/Android.mk +++ b/tests/Android.mk @@ -19,7 +19,7 @@ include $(CLEAR_VARS) LOCAL_MODULE_TAGS := tests LOCAL_STATIC_JAVA_LIBRARIES := \ - org.cyanogenmod.platform.sdk + org.cyanogenmod.platform LOCAL_SRC_FILES := $(call all-subdir-java-files, src/) diff --git a/tests/src/org/cyanogenmod/platform/internal/CMStatusBarManagerServiceTest.java b/tests/src/org/cyanogenmod/platform/internal/CMStatusBarManagerServiceTest.java new file mode 100644 index 0000000..825b9b8 --- /dev/null +++ b/tests/src/org/cyanogenmod/platform/internal/CMStatusBarManagerServiceTest.java @@ -0,0 +1,146 @@ +/* + * Copyright (c) 2016 The CyanogenMod 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 org.cyanogenmod.platform.internal; + +import android.os.RemoteException; +import android.os.UserHandle; +import android.test.AndroidTestCase; + +import android.test.suitebuilder.annotation.SmallTest; +import cyanogenmod.app.CMStatusBarManager; +import cyanogenmod.app.CustomTile; +import cyanogenmod.app.ICMStatusBarManager; + +/** + * Created by adnan on 1/5/16. + */ +public class CMStatusBarManagerServiceTest extends AndroidTestCase { + private ICMStatusBarManager mInternalServiceInterface; + + @Override + protected void setUp() throws Exception { + super.setUp(); + mInternalServiceInterface = CMStatusBarManager.getInstance(mContext).getService(); + } + + @SmallTest + public void testAddTileById() { + //Create placeholder tile + int resourceInt = org.cyanogenmod.tests.R.drawable.ic_launcher; + CustomTile customTile = new CustomTile.Builder(mContext) + .setIcon(resourceInt) + .build(); + + int[] idOut = new int[1]; + // Test adding a tile directly from the service interface. + try { + mInternalServiceInterface + .createCustomTileWithTag(mContext.getPackageName(), mContext.getPackageName(), + null, 1337, customTile, idOut, UserHandle.myUserId()); + } catch (RemoteException e) { + fail("Remote exception when adding a tile by id"); + } + } + + @SmallTest + public void testAddAndRemoveTileById() { + //Create placeholder tile + int resourceInt = org.cyanogenmod.tests.R.drawable.ic_launcher; + CustomTile customTile = new CustomTile.Builder(mContext) + .setIcon(resourceInt) + .build(); + + int[] idOut = new int[1]; + try { + // Test adding a tile directly from the service interface. + mInternalServiceInterface + .createCustomTileWithTag(mContext.getPackageName(), mContext.getPackageName(), + null, 1337, customTile, idOut, UserHandle.myUserId()); + } catch (RemoteException e) { + fail("Remote exception when adding a tile by id"); + } + + try { + mInternalServiceInterface + .removeCustomTileWithTag(mContext.getPackageName(), null, + 1337, UserHandle.myUserId()); + } catch (RemoteException e) { + fail("Remote exception when removing a tile by id"); + } + } + + @SmallTest + public void testAddTileByTag() { + //Create placeholder tile + int resourceInt = org.cyanogenmod.tests.R.drawable.ic_launcher; + CustomTile customTile = new CustomTile.Builder(mContext) + .setIcon(resourceInt) + .build(); + + int[] idOut = new int[1]; + try { + // Test adding a tile directly from the service interface. + mInternalServiceInterface + .createCustomTileWithTag(mContext.getPackageName(), mContext.getPackageName() + , "fake-tag", 0, customTile, idOut, UserHandle.myUserId()); + } catch (RemoteException e) { + fail("Remote exception when adding a tile by tag"); + } + } + + @SmallTest + public void testAddAndRemoveTileByTag() { + //Create placeholder tile + int resourceInt = org.cyanogenmod.tests.R.drawable.ic_launcher; + CustomTile customTile = new CustomTile.Builder(mContext) + .setIcon(resourceInt) + .build(); + + int[] idOut = new int[1]; + try { + // Test adding a tile directly from the service interface. + mInternalServiceInterface + .createCustomTileWithTag(mContext.getPackageName(), mContext.getPackageName(), + "fake-tag", 0, customTile, idOut, UserHandle.myUserId()); + } catch (RemoteException e) { + fail("Remote exception when adding a tile by tag"); + } + + try { + // Test removing tile directly from the service interface + mInternalServiceInterface + .removeCustomTileWithTag(mContext.getPackageName(), mContext.getPackageName(), + 0, UserHandle.myUserId()); + } catch (RemoteException e) { + fail("Remote exception when removing a tile by tag"); + } + } + + @SmallTest + public void testFakePackageThrowsSecurityExceptionOnRemove() { + try { + mInternalServiceInterface + .removeCustomTileWithTag("fack-package-throw", "fake-package-throw", + 0, UserHandle.myUserId()); + fail("Security Exception not thrown on fake package removing a tile"); + } catch (RemoteException e) { + fail("Remote exception when removing a tile by tag"); + } catch (SecurityException e) { + //Expected + } + } +} |