use of org.openecard.gui.android.GuiIfaceReceiver in project open-ecard by ecsec.
the class EacGuiImplTest method testPinOkFirstTime.
@Test
public void testPinOkFirstTime() throws InterruptedException {
new Expectations() {
{
eacData.passwordType = "PIN";
paceMarker.getMinLength();
result = 6;
paceMarker.getMaxLength();
result = 6;
}
};
final GuiIfaceReceiver<EacGuiImpl> guiRec = new GuiIfaceReceiver<>();
final EacGuiImpl anyGuiImpl = new EacGuiImpl();
guiRec.setUiInterface(anyGuiImpl);
Thread t = new Thread(new Runnable() {
@Override
public void run() {
UserConsentDescription uc = new UserConsentDescription("Test");
uc.getSteps().addAll(createInitialSteps());
EacNavigator nav = new EacNavigator(uc, guiRec);
ExecutionEngine exe = new ExecutionEngine(nav);
exe.process();
}
}, "GUI-Executor");
t.start();
// use the Binders API to access the values
ServerData sd = anyGuiImpl.getServerData();
assertEquals(sd.getSubject(), "Test Subject");
anyGuiImpl.selectAttributes(sd.getReadAccessAttributes(), sd.getWriteAccessAttributes());
assertEquals(anyGuiImpl.getPinStatus(), PinStatus.RC3);
assertTrue(anyGuiImpl.enterPin(null, "123456"));
// wait for executor to finish
t.join();
}
Aggregations