mirror of
https://github.com/KDE/kdeconnect-android
synced 2025-08-23 02:17:20 +00:00
Capture PairingHandlerCallback and call its pairingDone method instead of calling Device.pairingDone using reflection
This commit is contained in:
parent
bc2836f45f
commit
085fb1025b
@ -35,6 +35,7 @@ import org.kde.kdeconnect.Backends.LanBackend.LanLink;
|
|||||||
import org.kde.kdeconnect.Backends.LanBackend.LanLinkProvider;
|
import org.kde.kdeconnect.Backends.LanBackend.LanLinkProvider;
|
||||||
import org.kde.kdeconnect.Backends.LanBackend.LanPairingHandler;
|
import org.kde.kdeconnect.Backends.LanBackend.LanPairingHandler;
|
||||||
import org.kde.kdeconnect.Helpers.SecurityHelpers.RsaHelper;
|
import org.kde.kdeconnect.Helpers.SecurityHelpers.RsaHelper;
|
||||||
|
import org.mockito.ArgumentCaptor;
|
||||||
import org.mockito.Mockito;
|
import org.mockito.Mockito;
|
||||||
import org.powermock.api.mockito.PowerMockito;
|
import org.powermock.api.mockito.PowerMockito;
|
||||||
import org.powermock.core.classloader.annotations.PrepareForTest;
|
import org.powermock.core.classloader.annotations.PrepareForTest;
|
||||||
@ -135,7 +136,7 @@ public class DeviceTest {
|
|||||||
assertTrue(device.isPaired());
|
assertTrue(device.isPaired());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Testing pairing done using reflection since it is private
|
// Testing pairing done
|
||||||
// Created an unpaired device inside this test
|
// Created an unpaired device inside this test
|
||||||
@Test
|
@Test
|
||||||
public void testPairingDone() {
|
public void testPairingDone() {
|
||||||
@ -167,6 +168,9 @@ public class DeviceTest {
|
|||||||
}
|
}
|
||||||
device.publicKey = keyPair.getPublic();
|
device.publicKey = keyPair.getPublic();
|
||||||
|
|
||||||
|
ArgumentCaptor<BasePairingHandler.PairingHandlerCallback> pairingHandlerCallback = ArgumentCaptor.forClass(BasePairingHandler.PairingHandlerCallback.class);
|
||||||
|
Mockito.verify(link, Mockito.times(1)).getPairingHandler(eq(device), pairingHandlerCallback.capture());
|
||||||
|
|
||||||
assertNotNull(device);
|
assertNotNull(device);
|
||||||
assertEquals(device.getDeviceId(), "unpairedTestDevice");
|
assertEquals(device.getDeviceId(), "unpairedTestDevice");
|
||||||
assertEquals(device.getName(), "Unpaired Test Device");
|
assertEquals(device.getName(), "Unpaired Test Device");
|
||||||
@ -174,14 +178,7 @@ public class DeviceTest {
|
|||||||
assertNotNull(device.publicKey);
|
assertNotNull(device.publicKey);
|
||||||
assertNull(device.certificate);
|
assertNull(device.certificate);
|
||||||
|
|
||||||
Method method;
|
pairingHandlerCallback.getValue().pairingDone();
|
||||||
try {
|
|
||||||
method = Device.class.getDeclaredMethod("pairingDone");
|
|
||||||
method.setAccessible(true);
|
|
||||||
method.invoke(device);
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
assertTrue(device.isPaired());
|
assertTrue(device.isPaired());
|
||||||
Mockito.verify(pairingCallback, Mockito.times(1)).pairingSuccessful();
|
Mockito.verify(pairingCallback, Mockito.times(1)).pairingSuccessful();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user