mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-07-22 14:52:25 +02:00
Fix tests after DeviceService changes
This commit is contained in:
parent
65e054a747
commit
7892b8be6a
|
@ -84,6 +84,10 @@ public class GBDeviceService implements DeviceService {
|
||||||
return new GBDeviceService(mContext, device);
|
return new GBDeviceService(mContext, device);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public GBDevice getDevice() {
|
||||||
|
return mDevice;
|
||||||
|
}
|
||||||
|
|
||||||
protected Intent createIntent() {
|
protected Intent createIntent() {
|
||||||
return new Intent(mContext, mServiceClass);
|
return new Intent(mContext, mServiceClass);
|
||||||
}
|
}
|
||||||
|
|
|
@ -86,7 +86,7 @@ public class DeviceCommunicationServiceTestCase extends TestBase {
|
||||||
public void ensureConnected() {
|
public void ensureConnected() {
|
||||||
mDeviceService.start();
|
mDeviceService.start();
|
||||||
// connection goes synchronously here
|
// connection goes synchronously here
|
||||||
mDeviceService.connect(getDevice());
|
mDeviceService.forDevice(getDevice()).connect();
|
||||||
Mockito.verify(mockSupport, Mockito.times(1)).connect();
|
Mockito.verify(mockSupport, Mockito.times(1)).connect();
|
||||||
assertTrue(getDevice().isInitialized());
|
assertTrue(getDevice().isInitialized());
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,9 @@ import android.content.Intent;
|
||||||
import org.robolectric.Robolectric;
|
import org.robolectric.Robolectric;
|
||||||
import org.robolectric.android.controller.ServiceController;
|
import org.robolectric.android.controller.ServiceController;
|
||||||
|
|
||||||
|
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceService;
|
import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceService;
|
||||||
|
import nodomain.freeyourgadget.gadgetbridge.model.DeviceService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Extends GBDeviceServer so that communication with the service works
|
* Extends GBDeviceServer so that communication with the service works
|
||||||
|
@ -17,15 +19,28 @@ class TestDeviceService extends GBDeviceService {
|
||||||
private final ServiceController<DeviceCommunicationService> serviceController;
|
private final ServiceController<DeviceCommunicationService> serviceController;
|
||||||
private final DeviceCommunicationService service;
|
private final DeviceCommunicationService service;
|
||||||
|
|
||||||
TestDeviceService(Context context) throws Exception {
|
TestDeviceService(Context context) {
|
||||||
super(context);
|
this(context, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
TestDeviceService(final Context context, final GBDevice device) {
|
||||||
|
super(context, device);
|
||||||
|
|
||||||
serviceController = Robolectric.buildService(DeviceCommunicationService.class, createIntent());
|
serviceController = Robolectric.buildService(DeviceCommunicationService.class, createIntent());
|
||||||
service = serviceController.create().get();
|
service = serviceController.create().get();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DeviceService forDevice(final GBDevice device) {
|
||||||
|
return new TestDeviceService(mContext, device);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void invokeService(Intent intent) {
|
protected void invokeService(Intent intent) {
|
||||||
|
if (getDevice() != null) {
|
||||||
|
intent.putExtra(GBDevice.EXTRA_DEVICE, getDevice());
|
||||||
|
}
|
||||||
|
|
||||||
// calling though to the service natively does not work with robolectric,
|
// calling though to the service natively does not work with robolectric,
|
||||||
// we have to use the ServiceController to do that
|
// we have to use the ServiceController to do that
|
||||||
service.onStartCommand(intent, Service.START_FLAG_REDELIVERY, (int) (Math.random() * 10000));
|
service.onStartCommand(intent, Service.START_FLAG_REDELIVERY, (int) (Math.random() * 10000));
|
||||||
|
|
Loading…
Reference in New Issue
Block a user