From bfffd64b65d41ecdc0a20dae622a137e79e586a7 Mon Sep 17 00:00:00 2001 From: cpfeiffer Date: Sat, 10 Sep 2016 11:22:26 +0200 Subject: [PATCH] Even more service testcase cleanup --- .../service/AbstractServiceTestCase.java | 47 ------------------- .../DeviceCommunicationServiceTestCase.java | 5 +- .../service/TestDeviceService.java | 7 ++- .../gadgetbridge/test/MockHelper.java | 42 ----------------- .../gadgetbridge/test/TestBase.java | 5 ++ 5 files changed, 11 insertions(+), 95 deletions(-) delete mode 100644 app/src/test/java/nodomain/freeyourgadget/gadgetbridge/service/AbstractServiceTestCase.java delete mode 100644 app/src/test/java/nodomain/freeyourgadget/gadgetbridge/test/MockHelper.java diff --git a/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/service/AbstractServiceTestCase.java b/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/service/AbstractServiceTestCase.java deleted file mode 100644 index 8176d735..00000000 --- a/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/service/AbstractServiceTestCase.java +++ /dev/null @@ -1,47 +0,0 @@ -package nodomain.freeyourgadget.gadgetbridge.service; - -import android.app.Application; -import android.app.NotificationManager; -import android.app.Service; -import android.content.Context; - -import org.robolectric.RuntimeEnvironment; - -import nodomain.freeyourgadget.gadgetbridge.GBApplication; -import nodomain.freeyourgadget.gadgetbridge.test.MockHelper; -import nodomain.freeyourgadget.gadgetbridge.test.TestBase; - -public abstract class AbstractServiceTestCase extends TestBase { - private Context mContext; - private GBApplication mApplication; - private NotificationManager mNotificationManager; - private MockHelper mMockHelper; - - protected AbstractServiceTestCase() { - } - - public Context getContext() { - return mContext; - } - - protected MockHelper getmMockHelper() { - return mMockHelper; - } - - @Override - public void setUp() throws Exception { - super.setUp(); - mMockHelper = new MockHelper(); - mApplication = (GBApplication) RuntimeEnvironment.application; - mContext = mApplication; - mNotificationManager = mMockHelper.createNotificationManager(mContext); - } - - protected Application getApplication() { - return mApplication; - } - - private NotificationManager getNotificationService() { - return mNotificationManager; - } -} diff --git a/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/service/DeviceCommunicationServiceTestCase.java b/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/service/DeviceCommunicationServiceTestCase.java index d85e6de4..68af48ad 100644 --- a/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/service/DeviceCommunicationServiceTestCase.java +++ b/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/service/DeviceCommunicationServiceTestCase.java @@ -10,11 +10,12 @@ import org.mockito.Mockito; import nodomain.freeyourgadget.gadgetbridge.GBException; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; +import nodomain.freeyourgadget.gadgetbridge.test.TestBase; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; -public class DeviceCommunicationServiceTestCase extends AbstractServiceTestCase { +public class DeviceCommunicationServiceTestCase extends TestBase { private static final java.lang.String TEST_DEVICE_ADDRESS = TestDeviceSupport.class.getName(); /** @@ -49,7 +50,7 @@ public class DeviceCommunicationServiceTestCase extends AbstractServiceTestCase< mockSupport = Mockito.spy(realSupport); DeviceCommunicationService.setDeviceSupportFactory(new TestDeviceSupportFactory(getContext())); - mDeviceService = new TestDeviceService(this); + mDeviceService = new TestDeviceService(getContext()); } protected GBDevice getDevice() { diff --git a/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/service/TestDeviceService.java b/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/service/TestDeviceService.java index 9db2157a..ba798a58 100644 --- a/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/service/TestDeviceService.java +++ b/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/service/TestDeviceService.java @@ -1,6 +1,7 @@ package nodomain.freeyourgadget.gadgetbridge.service; import android.app.Service; +import android.content.Context; import android.content.Intent; import org.robolectric.Robolectric; @@ -13,13 +14,11 @@ import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceService; * with Robolectric. */ public class TestDeviceService extends GBDeviceService { - private final AbstractServiceTestCase mTestCase; private final ServiceController serviceController; private final DeviceCommunicationService service; - public TestDeviceService(AbstractServiceTestCase testCase) throws Exception { - super(testCase.getContext()); - mTestCase = testCase; + public TestDeviceService(Context context) throws Exception { + super(context); serviceController = Robolectric.buildService(DeviceCommunicationService.class, createIntent()); service = serviceController.create().get(); diff --git a/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/test/MockHelper.java b/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/test/MockHelper.java deleted file mode 100644 index a6d24d17..00000000 --- a/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/test/MockHelper.java +++ /dev/null @@ -1,42 +0,0 @@ -package nodomain.freeyourgadget.gadgetbridge.test; - -import android.app.Application; -import android.app.NotificationManager; -import android.app.Service; -import android.content.Context; - -import junit.framework.Assert; - -import org.mockito.Mockito; - -import java.lang.reflect.Constructor; - -import nodomain.freeyourgadget.gadgetbridge.GBApplication; -import nodomain.freeyourgadget.gadgetbridge.service.DeviceCommunicationService; - -public class MockHelper { - public NotificationManager createNotificationManager(Context mContext) throws Exception { - return (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE); - } - - public T createService(Class serviceClass, Application application) throws Exception { - Constructor constructor = serviceClass.getConstructor(); - Assert.assertNotNull(constructor); - T realService = constructor.newInstance(); - T mockedService = Mockito.spy(realService); - Mockito.when(mockedService.getApplicationContext()).thenReturn(application); - Mockito.when(mockedService.getPackageManager()).thenReturn(application.getPackageManager()); - return mockedService; - } - - public T createDeviceCommunicationService(Class serviceClass, GBApplication application) throws Exception { - T mockedService = createService(serviceClass, application); - Mockito.when(mockedService.getPrefs()).thenReturn(GBApplication.getPrefs()); - Mockito.when(mockedService.getGBPrefs()).thenReturn(GBApplication.getGBPrefs()); - return mockedService; - } - - public void addSystemServiceTo(Context context, String serviceName, Object service) { - Mockito.when(context.getSystemService(serviceName)).thenReturn(service); - } -} diff --git a/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/test/TestBase.java b/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/test/TestBase.java index 79875f54..6972b4a1 100644 --- a/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/test/TestBase.java +++ b/app/src/test/java/nodomain/freeyourgadget/gadgetbridge/test/TestBase.java @@ -1,5 +1,6 @@ package nodomain.freeyourgadget.gadgetbridge.test; +import android.content.Context; import android.database.sqlite.SQLiteDatabase; import org.junit.After; @@ -63,6 +64,7 @@ public abstract class TestBase { @Before public void setUp() throws Exception { assertNotNull(app); + assertNotNull(getContext()); // doesn't work with Robolectric yet // dbHandler = GBApplication.acquireDB(); // daoSession = dbHandler.getDaoSession(); @@ -84,4 +86,7 @@ public abstract class TestBase { return dummyGBDevice; } + protected Context getContext() { + return app; + } }