/****************************************************************************
* Copyright (C) 2012 HS Coburg.
* All rights reserved.
* Contact: ecsec GmbH (info@ecsec.de)
*
* This file is part of the Open eCard App.
*
* GNU General Public License Usage
* This file may be used under the terms of the GNU General Public
* License version 3.0 as published by the Free Software Foundation
* and appearing in the file LICENSE.GPL included in the packaging of
* this file. Please review the following information to ensure the
* GNU General Public License version 3.0 requirements will be met:
* http://www.gnu.org/copyleft/gpl.html.
*
* Other Usage
* Alternatively, this file may be used in accordance with the terms
* and conditions contained in a signed written agreement between
* you and ecsec GmbH.
*
***************************************************************************/
package org.openecard.sal;
import iso.std.iso_iec._24727.tech.schema.ACLList;
import iso.std.iso_iec._24727.tech.schema.ACLListResponse;
import iso.std.iso_iec._24727.tech.schema.ACLModify;
import iso.std.iso_iec._24727.tech.schema.ACLModifyResponse;
import iso.std.iso_iec._24727.tech.schema.CardApplicationConnect;
import iso.std.iso_iec._24727.tech.schema.CardApplicationConnectResponse;
import iso.std.iso_iec._24727.tech.schema.CardApplicationCreate;
import iso.std.iso_iec._24727.tech.schema.CardApplicationCreateResponse;
import iso.std.iso_iec._24727.tech.schema.CardApplicationDelete;
import iso.std.iso_iec._24727.tech.schema.CardApplicationDeleteResponse;
import iso.std.iso_iec._24727.tech.schema.CardApplicationDisconnect;
import iso.std.iso_iec._24727.tech.schema.CardApplicationDisconnectResponse;
import iso.std.iso_iec._24727.tech.schema.CardApplicationEndSession;
import iso.std.iso_iec._24727.tech.schema.CardApplicationEndSessionResponse;
import iso.std.iso_iec._24727.tech.schema.CardApplicationList;
import iso.std.iso_iec._24727.tech.schema.CardApplicationListResponse;
import iso.std.iso_iec._24727.tech.schema.CardApplicationPath;
import iso.std.iso_iec._24727.tech.schema.CardApplicationPathResponse;
import iso.std.iso_iec._24727.tech.schema.CardApplicationPathType;
import iso.std.iso_iec._24727.tech.schema.CardApplicationServiceCreate;
import iso.std.iso_iec._24727.tech.schema.CardApplicationServiceCreateResponse;
import iso.std.iso_iec._24727.tech.schema.CardApplicationServiceDelete;
import iso.std.iso_iec._24727.tech.schema.CardApplicationServiceDeleteResponse;
import iso.std.iso_iec._24727.tech.schema.CardApplicationServiceDescribe;
import iso.std.iso_iec._24727.tech.schema.CardApplicationServiceDescribeResponse;
import iso.std.iso_iec._24727.tech.schema.CardApplicationServiceList;
import iso.std.iso_iec._24727.tech.schema.CardApplicationServiceListResponse;
import iso.std.iso_iec._24727.tech.schema.CardApplicationServiceLoad;
import iso.std.iso_iec._24727.tech.schema.CardApplicationServiceLoadResponse;
import iso.std.iso_iec._24727.tech.schema.CardApplicationStartSession;
import iso.std.iso_iec._24727.tech.schema.CardApplicationStartSessionResponse;
import iso.std.iso_iec._24727.tech.schema.ConnectionHandleType;
import iso.std.iso_iec._24727.tech.schema.ConnectionHandleType.RecognitionInfo;
import iso.std.iso_iec._24727.tech.schema.DIDAuthenticate;
import iso.std.iso_iec._24727.tech.schema.DIDAuthenticateResponse;
import iso.std.iso_iec._24727.tech.schema.DIDCreate;
import iso.std.iso_iec._24727.tech.schema.DIDCreateResponse;
import iso.std.iso_iec._24727.tech.schema.DIDDelete;
import iso.std.iso_iec._24727.tech.schema.DIDDeleteResponse;
import iso.std.iso_iec._24727.tech.schema.DIDGet;
import iso.std.iso_iec._24727.tech.schema.DIDGetResponse;
import iso.std.iso_iec._24727.tech.schema.DIDList;
import iso.std.iso_iec._24727.tech.schema.DIDListResponse;
import iso.std.iso_iec._24727.tech.schema.DIDQualifierType;
import iso.std.iso_iec._24727.tech.schema.DIDUpdate;
import iso.std.iso_iec._24727.tech.schema.DIDUpdateResponse;
import iso.std.iso_iec._24727.tech.schema.DSICreate;
import iso.std.iso_iec._24727.tech.schema.DSICreateResponse;
import iso.std.iso_iec._24727.tech.schema.DSIDelete;
import iso.std.iso_iec._24727.tech.schema.DSIDeleteResponse;
import iso.std.iso_iec._24727.tech.schema.DSIList;
import iso.std.iso_iec._24727.tech.schema.DSIListResponse;
import iso.std.iso_iec._24727.tech.schema.DSIRead;
import iso.std.iso_iec._24727.tech.schema.DSIReadResponse;
import iso.std.iso_iec._24727.tech.schema.DSIWrite;
import iso.std.iso_iec._24727.tech.schema.DSIWriteResponse;
import iso.std.iso_iec._24727.tech.schema.DataSetCreate;
import iso.std.iso_iec._24727.tech.schema.DataSetCreateResponse;
import iso.std.iso_iec._24727.tech.schema.DataSetDelete;
import iso.std.iso_iec._24727.tech.schema.DataSetDeleteResponse;
import iso.std.iso_iec._24727.tech.schema.DataSetList;
import iso.std.iso_iec._24727.tech.schema.DataSetListResponse;
import iso.std.iso_iec._24727.tech.schema.DataSetSelect;
import iso.std.iso_iec._24727.tech.schema.DataSetSelectResponse;
import iso.std.iso_iec._24727.tech.schema.Decipher;
import iso.std.iso_iec._24727.tech.schema.DecipherResponse;
import iso.std.iso_iec._24727.tech.schema.Encipher;
import iso.std.iso_iec._24727.tech.schema.EncipherResponse;
import iso.std.iso_iec._24727.tech.schema.EstablishContext;
import iso.std.iso_iec._24727.tech.schema.EstablishContextResponse;
import iso.std.iso_iec._24727.tech.schema.ExecuteAction;
import iso.std.iso_iec._24727.tech.schema.ExecuteActionResponse;
import iso.std.iso_iec._24727.tech.schema.GetRandom;
import iso.std.iso_iec._24727.tech.schema.GetRandomResponse;
import iso.std.iso_iec._24727.tech.schema.Hash;
import iso.std.iso_iec._24727.tech.schema.HashResponse;
import iso.std.iso_iec._24727.tech.schema.Initialize;
import iso.std.iso_iec._24727.tech.schema.InitializeResponse;
import iso.std.iso_iec._24727.tech.schema.ListIFDs;
import iso.std.iso_iec._24727.tech.schema.ListIFDsResponse;
import iso.std.iso_iec._24727.tech.schema.Sign;
import iso.std.iso_iec._24727.tech.schema.SignResponse;
import iso.std.iso_iec._24727.tech.schema.TargetNameType;
import iso.std.iso_iec._24727.tech.schema.Terminate;
import iso.std.iso_iec._24727.tech.schema.TerminateResponse;
import iso.std.iso_iec._24727.tech.schema.VerifyCertificate;
import iso.std.iso_iec._24727.tech.schema.VerifyCertificateResponse;
import iso.std.iso_iec._24727.tech.schema.VerifySignature;
import iso.std.iso_iec._24727.tech.schema.VerifySignatureResponse;
import java.math.BigInteger;
import java.util.List;
import javax.xml.parsers.ParserConfigurationException;
import org.openecard.bouncycastle.util.encoders.Hex;
import org.openecard.common.ClientEnv;
import org.openecard.common.ECardConstants;
import org.openecard.common.enums.EventType;
import org.openecard.common.interfaces.Dispatcher;
import org.openecard.common.sal.state.CardStateEntry;
import org.openecard.common.sal.state.CardStateMap;
import org.openecard.common.sal.state.SALStateCallback;
import org.openecard.common.util.ByteUtils;
import org.openecard.ifd.scio.IFD;
import org.openecard.recognition.CardRecognition;
import org.openecard.transport.dispatcher.MessageDispatcher;
import org.testng.Assert;
import org.testng.SkipException;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import static org.testng.Assert.*;
/**
*
* @author Johannes Schmölz <johannes.schmoelz@ecsec.de>
* @author Dirk Petrautzki <petrautzki@hs-coburg.de>
*/
public class TinySALTest {
@BeforeClass
public static void disable() {
throw new SkipException("Test completely disabled.");
}
private static ClientEnv env;
private static TinySAL instance;
private static CardStateMap states;
private static byte[] contextHandle = null;
byte[] appIdentifier_ESIGN = Hex.decode("A000000167455349474E");
byte[] appIdentifier_ROOT = Hex.decode("D2760001448000");
@BeforeClass
public static void setUp() throws Exception {
env = new ClientEnv();
Dispatcher dispatcher = new MessageDispatcher(env);
env.setDispatcher(dispatcher);
IFD ifd = new IFD();
env.setIFD(ifd);
states = new CardStateMap();
EstablishContextResponse ecr = env.getIFD().establishContext(new EstablishContext());
CardRecognition cr = new CardRecognition(ifd, ecr.getContextHandle());
ListIFDs listIFDs = new ListIFDs();
contextHandle = ecr.getContextHandle();
listIFDs.setContextHandle(ecr.getContextHandle());
ListIFDsResponse listIFDsResponse = ifd.listIFDs(listIFDs);
RecognitionInfo recognitionInfo = cr.recognizeCard(listIFDsResponse.getIFDName().get(0), new BigInteger("0"));
SALStateCallback salCallback = new SALStateCallback(cr, states);
ConnectionHandleType connectionHandleType = new ConnectionHandleType();
connectionHandleType.setContextHandle(ecr.getContextHandle());
connectionHandleType.setRecognitionInfo(recognitionInfo);
connectionHandleType.setIFDName(listIFDsResponse.getIFDName().get(0));
connectionHandleType.setSlotIndex(new BigInteger("0"));
salCallback.signalEvent(EventType.CARD_RECOGNIZED, connectionHandleType);
instance = new TinySAL(env, states);
env.setSAL(instance);
}
/**
* Test of getConnectionHandles method, of class TinySAL.
*/
@Test(enabled=false)
public void testGetConnectionHandles() {
System.out.println("getConnectionHandles");
List<ConnectionHandleType> cHandles = instance.getConnectionHandles();
assertTrue(cHandles.isEmpty());
String[] readers = { "Reader 1", "Reader 2" };
ConnectionHandleType cHandle1 = new ConnectionHandleType();
cHandle1.setIFDName(readers[0]);
ConnectionHandleType cHandle2 = new ConnectionHandleType();
cHandle2.setIFDName(readers[1]);
// add connection handles to microSAL
CardStateEntry entry1 = new CardStateEntry(cHandle1, null); // TODO: null works as long as
// there is no cif support
states.addEntry(entry1);
CardStateEntry entry2 = new CardStateEntry(cHandle2, null);
states.addEntry(entry2);
cHandles = instance.getConnectionHandles();
assertTrue(cHandles.size() == 2);
for (int i = 0; i < cHandles.size(); i++) {
assertEquals(readers[i], cHandles.get(i).getIFDName());
}
// remove one connection handle from microSAL
states.removeEntry(cHandle1);
cHandles = instance.getConnectionHandles();
assertTrue(cHandles.size() == 1);
assertEquals(cHandles.get(0).getIFDName(), readers[1]);
}
/**
* Test of initialize method, of class TinySAL.
*/
@Test
public void testInitialize() {
System.out.println("initialize");
Initialize parameters = new Initialize();
InitializeResponse result = instance.initialize(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of terminate method, of class TinySAL.
*/
@Test
public void testTerminate() {
System.out.println("terminate");
Terminate parameters = new Terminate();
TerminateResponse result = instance.terminate(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of cardApplicationPath method, of class TinySAL.
*/
@Test
public void testCardApplicationPath() {
System.out.println("cardApplicationPath");
// test normal case
CardApplicationPath cardApplicationPath = new CardApplicationPath();
CardApplicationPathType cardApplicationPathType = new CardApplicationPathType();
cardApplicationPathType.setCardApplication(this.appIdentifier_ESIGN);
cardApplicationPathType.setContextHandle(contextHandle);
cardApplicationPathType.setSlotIndex(new BigInteger("0"));
cardApplicationPath.setCardAppPathRequest(cardApplicationPathType);
CardApplicationPathResponse cardApplicationPathResponse = instance.cardApplicationPath(cardApplicationPath);
assertTrue(cardApplicationPathResponse.getCardAppPathResultSet().getCardApplicationPathResult().size()>0);
assertEquals(cardApplicationPathResponse.getResult().getResultMajor(), ECardConstants.Major.OK);
// test return of alpha card application
cardApplicationPath = new CardApplicationPath();
cardApplicationPathType = new CardApplicationPathType();
cardApplicationPath.setCardAppPathRequest(cardApplicationPathType);
cardApplicationPathResponse = instance.cardApplicationPath(cardApplicationPath);
assertTrue(cardApplicationPathResponse.getCardAppPathResultSet().getCardApplicationPathResult().size()>0);
assertNotNull(cardApplicationPathResponse.getCardAppPathResultSet().getCardApplicationPathResult().get(0).getCardApplication());
assertEquals(cardApplicationPathResponse.getResult().getResultMajor(), ECardConstants.Major.OK);
// test non existent card application identifier
cardApplicationPathType = new CardApplicationPathType();
cardApplicationPathType.setCardApplication(Hex.decode("C0CA"));
cardApplicationPathType.setContextHandle(contextHandle);
cardApplicationPathType.setSlotIndex(new BigInteger("0"));
cardApplicationPath.setCardAppPathRequest(cardApplicationPathType);
cardApplicationPathResponse = instance.cardApplicationPath(cardApplicationPath);
assertEquals(cardApplicationPathResponse.getCardAppPathResultSet().getCardApplicationPathResult().size(), 0);
assertEquals(cardApplicationPathResponse.getResult().getResultMajor(), ECardConstants.Major.OK);
// test nullpointer
cardApplicationPathType = new CardApplicationPathType();
cardApplicationPath.setCardAppPathRequest(null);
cardApplicationPathResponse = instance.cardApplicationPath(cardApplicationPath);
assertEquals(cardApplicationPathResponse.getResult().getResultMajor(), ECardConstants.Major.ERROR);
assertEquals(cardApplicationPathResponse.getResult().getResultMinor(), ECardConstants.Minor.App.INCORRECT_PARM);
}
/**
* Test of cardApplicationConnect method, of class TinySAL.
*/
@Test
public void testCardApplicationConnect() {
System.out.println("cardApplicationConnect");
// test normal case
// get esign path
CardApplicationPath cardApplicationPath = new CardApplicationPath();
CardApplicationPathType cardApplicationPathType = new CardApplicationPathType();
cardApplicationPathType.setCardApplication(appIdentifier_ESIGN);
cardApplicationPath.setCardAppPathRequest(cardApplicationPathType);
CardApplicationPathResponse cardApplicationPathResponse = instance.cardApplicationPath(cardApplicationPath);
// connect to esign
CardApplicationConnect cardApplicationConnect = new CardApplicationConnect();
cardApplicationConnect.setCardApplicationPath(cardApplicationPathResponse.getCardAppPathResultSet().getCardApplicationPathResult().get(0));
CardApplicationConnectResponse result = instance.cardApplicationConnect(cardApplicationConnect);
assertEquals(ECardConstants.Major.OK, result.getResult().getResultMajor());
assertEquals(appIdentifier_ESIGN, result.getConnectionHandle().getCardApplication());
// test non existent card application path
cardApplicationConnect = new CardApplicationConnect();
CardApplicationPathType wrongCardApplicationPath = cardApplicationPathResponse.getCardAppPathResultSet().getCardApplicationPathResult().get(0);
wrongCardApplicationPath.setCardApplication(new byte[] { 0x12, 0x23, 0x34 });
cardApplicationConnect.setCardApplicationPath(wrongCardApplicationPath);
result = instance.cardApplicationConnect(cardApplicationConnect);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
assertEquals(ECardConstants.Minor.App.INCORRECT_PARM, result.getResult().getResultMinor());
// test nullpointer
cardApplicationConnect = new CardApplicationConnect();
cardApplicationConnect.setCardApplicationPath(null);
result = instance.cardApplicationConnect(cardApplicationConnect);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
assertEquals(ECardConstants.Minor.App.INCORRECT_PARM, result.getResult().getResultMinor());
}
/**
* Test of cardApplicationDisconnect method, of class TinySAL.
*/
@Test
public void testCardApplicationDisconnect() {
System.out.println("cardApplicationDisconnect");
// test normal case
// get esign path
CardApplicationPath cardApplicationPath = new CardApplicationPath();
CardApplicationPathType cardApplicationPathType = new CardApplicationPathType();
cardApplicationPathType.setCardApplication(appIdentifier_ESIGN);
cardApplicationPath.setCardAppPathRequest(cardApplicationPathType);
CardApplicationPathResponse cardApplicationPathResponse = instance.cardApplicationPath(cardApplicationPath);
// connect to esign
CardApplicationConnect cardApplicationConnect = new CardApplicationConnect();
cardApplicationConnect.setCardApplicationPath(cardApplicationPathResponse.getCardAppPathResultSet().getCardApplicationPathResult().get(0));
CardApplicationConnectResponse result = instance.cardApplicationConnect(cardApplicationConnect);
assertEquals(appIdentifier_ESIGN, result.getConnectionHandle().getCardApplication());
assertEquals(ECardConstants.Major.OK, result.getResult().getResultMajor());
// disconnect
CardApplicationDisconnect cardApplicationDisconnect = new CardApplicationDisconnect();
cardApplicationDisconnect.setConnectionHandle(result.getConnectionHandle());
CardApplicationDisconnectResponse cardApplicationDisconnectResponse = instance.cardApplicationDisconnect(cardApplicationDisconnect);
assertEquals(ECardConstants.Major.OK, result.getResult().getResultMajor());
// test invalid connectionhandle
// connect to esign
cardApplicationConnect = new CardApplicationConnect();
cardApplicationConnect.setCardApplicationPath(cardApplicationPathResponse.getCardAppPathResultSet().getCardApplicationPathResult().get(0));
result = instance.cardApplicationConnect(cardApplicationConnect);
assertEquals(appIdentifier_ESIGN, result.getConnectionHandle().getCardApplication());
assertEquals(ECardConstants.Major.OK, result.getResult().getResultMajor());
// disconnect
cardApplicationDisconnect = new CardApplicationDisconnect();
cardApplicationDisconnect.setConnectionHandle(result.getConnectionHandle());
cardApplicationDisconnect.getConnectionHandle().setSlotHandle(new byte[]{0x0, 0x0, 0x0});
cardApplicationDisconnectResponse = instance.cardApplicationDisconnect(cardApplicationDisconnect);
assertEquals(ECardConstants.Major.ERROR, cardApplicationDisconnectResponse.getResult().getResultMajor());
assertEquals(ECardConstants.Minor.SAL.UNKNOWN_HANDLE, cardApplicationDisconnectResponse.getResult().getResultMinor());
// test nullpointer
// connect to esign
cardApplicationConnect = new CardApplicationConnect();
cardApplicationConnect.setCardApplicationPath(cardApplicationPathResponse.getCardAppPathResultSet().getCardApplicationPathResult().get(0));
result = instance.cardApplicationConnect(cardApplicationConnect);
assertEquals(appIdentifier_ESIGN, result.getConnectionHandle().getCardApplication());
assertEquals(ECardConstants.Major.OK, result.getResult().getResultMajor());
// disconnect
cardApplicationDisconnect = new CardApplicationDisconnect();
cardApplicationDisconnect.setConnectionHandle(null);
cardApplicationDisconnectResponse = instance.cardApplicationDisconnect(cardApplicationDisconnect);
assertEquals(ECardConstants.Major.ERROR, cardApplicationDisconnectResponse.getResult().getResultMajor());
assertEquals(ECardConstants.Minor.App.INCORRECT_PARM, cardApplicationDisconnectResponse.getResult().getResultMinor());
}
/**
* Test of cardApplicationStartSession method, of class TinySAL.
*/
@Test
public void testCardApplicationStartSession() {
System.out.println("cardApplicationStartSession");
CardApplicationStartSession parameters = new CardApplicationStartSession();
CardApplicationStartSessionResponse result = instance.cardApplicationStartSession(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of cardApplicationEndSession method, of class TinySAL.
*/
@Test
public void testCardApplicationEndSession() {
System.out.println("cardApplicationEndSession");
CardApplicationEndSession parameters = new CardApplicationEndSession();
CardApplicationEndSessionResponse result = instance.cardApplicationEndSession(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of cardApplicationList method, of class TinySAL.
*/
@Test
public void testCardApplicationList() {
System.out.println("cardApplicationList");
// get path to root
CardApplicationPath cardApplicationPath = new CardApplicationPath();
CardApplicationPathType cardApplicationPathType = new CardApplicationPathType();
cardApplicationPathType.setCardApplication(appIdentifier_ROOT);
cardApplicationPath.setCardAppPathRequest(cardApplicationPathType);
CardApplicationPathResponse cardApplicationPathResponse = instance.cardApplicationPath(cardApplicationPath);
// connect to root
CardApplicationConnect cardApplicationConnect = new CardApplicationConnect();
cardApplicationConnect.setCardApplicationPath(cardApplicationPathResponse.getCardAppPathResultSet().getCardApplicationPathResult()
.get(0));
CardApplicationConnectResponse result = instance.cardApplicationConnect(cardApplicationConnect);
assertEquals(ECardConstants.Major.OK, result.getResult().getResultMajor());
CardApplicationList cardApplicationList = new CardApplicationList();
cardApplicationList.setConnectionHandle(result.getConnectionHandle());
CardApplicationListResponse cardApplicationListResponse = instance.cardApplicationList(cardApplicationList);
System.out.println(cardApplicationListResponse.getResult().getResultMinor());
assertEquals(ECardConstants.Major.OK, cardApplicationListResponse.getResult().getResultMajor());
assertTrue(cardApplicationListResponse.getCardApplicationNameList().getCardApplicationName().size() > 0);
// test non existent connectionhandle
cardApplicationList = new CardApplicationList();
cardApplicationList.setConnectionHandle(result.getConnectionHandle());
cardApplicationList.getConnectionHandle().setIFDName("invalid");
cardApplicationListResponse = instance.cardApplicationList(cardApplicationList);
assertEquals(ECardConstants.Major.ERROR, cardApplicationListResponse.getResult().getResultMajor());
assertEquals(ECardConstants.Minor.SAL.UNKNOWN_HANDLE, cardApplicationListResponse.getResult().getResultMinor());
// test nullpointer
cardApplicationList = new CardApplicationList();
cardApplicationList.setConnectionHandle(null);
cardApplicationListResponse = instance.cardApplicationList(cardApplicationList);
assertEquals(ECardConstants.Major.ERROR, cardApplicationListResponse.getResult().getResultMajor());
assertEquals(ECardConstants.Minor.App.INCORRECT_PARM, cardApplicationListResponse.getResult().getResultMinor());
}
/**
* Test of cardApplicationCreate method, of class TinySAL.
*/
@Test
public void testCardApplicationCreate() {
System.out.println("cardApplicationCreate");
CardApplicationCreate parameters = new CardApplicationCreate();
CardApplicationCreateResponse result = instance.cardApplicationCreate(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of cardApplicationDelete method, of class TinySAL.
*/
@Test
public void testCardApplicationDelete() {
System.out.println("cardApplicationDelete");
CardApplicationDelete parameters = new CardApplicationDelete();
CardApplicationDeleteResponse result = instance.cardApplicationDelete(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of cardApplicationServiceList method, of class TinySAL.
*/
@Test
public void testCardApplicationServiceList() {
System.out.println("cardApplicationServiceList");
CardApplicationServiceList parameters = new CardApplicationServiceList();
CardApplicationServiceListResponse result = instance.cardApplicationServiceList(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of cardApplicationServiceCreate method, of class TinySAL.
*/
@Test
public void testCardApplicationServiceCreate() {
System.out.println("cardApplicationServiceCreate");
CardApplicationServiceCreate parameters = new CardApplicationServiceCreate();
CardApplicationServiceCreateResponse result = instance.cardApplicationServiceCreate(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of cardApplicationServiceLoad method, of class TinySAL.
*/
@Test
public void testCardApplicationServiceLoad() {
System.out.println("cardApplicationServiceLoad");
CardApplicationServiceLoad parameters = new CardApplicationServiceLoad();
CardApplicationServiceLoadResponse result = instance.cardApplicationServiceLoad(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of cardApplicationServiceDelete method, of class TinySAL.
*/
@Test
public void testCardApplicationServiceDelete() {
System.out.println("cardApplicationServiceDelete");
CardApplicationServiceDelete parameters = new CardApplicationServiceDelete();
CardApplicationServiceDeleteResponse result = instance.cardApplicationServiceDelete(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of cardApplicationServiceDescribe method, of class TinySAL.
*/
@Test
public void testCardApplicationServiceDescribe() {
System.out.println("cardApplicationServiceDescribe");
CardApplicationServiceDescribe parameters = new CardApplicationServiceDescribe();
CardApplicationServiceDescribeResponse result = instance.cardApplicationServiceDescribe(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of executeAction method, of class TinySAL.
*/
@Test
public void testExecuteAction() {
System.out.println("executeAction");
ExecuteAction parameters = new ExecuteAction();
ExecuteActionResponse result = instance.executeAction(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of dataSetList method, of class TinySAL.
*/
@Test
public void testDataSetList() {
System.out.println("dataSetList");
// get path to esign
CardApplicationPath cardApplicationPath = new CardApplicationPath();
CardApplicationPathType cardApplicationPathType = new CardApplicationPathType();
cardApplicationPathType.setCardApplication(appIdentifier_ESIGN);
cardApplicationPath.setCardAppPathRequest(cardApplicationPathType);
CardApplicationPathResponse cardApplicationPathResponse = instance.cardApplicationPath(cardApplicationPath);
// connect to esign
CardApplicationConnect cardApplicationConnect = new CardApplicationConnect();
cardApplicationConnect.setCardApplicationPath(cardApplicationPathResponse.getCardAppPathResultSet().getCardApplicationPathResult()
.get(0));
CardApplicationConnectResponse result = instance.cardApplicationConnect(cardApplicationConnect);
assertEquals(ECardConstants.Major.OK, result.getResult().getResultMajor());
// list datasets of esign
DataSetList dataSetList = new DataSetList();
dataSetList.setConnectionHandle(result.getConnectionHandle());
DataSetListResponse dataSetListResponse = instance.dataSetList(dataSetList);
System.out.println(ByteUtils.toHexString(result.getConnectionHandle().getSlotHandle()));
Assert.assertTrue(dataSetListResponse.getDataSetNameList().getDataSetName().size() > 0);
assertEquals(ECardConstants.Major.OK, dataSetListResponse.getResult().getResultMajor());
// test invalid connectionhandle
dataSetList = new DataSetList();
ConnectionHandleType wrongConnectionHandle = result.getConnectionHandle();
wrongConnectionHandle.setCardApplication(new byte[] { 0x0, 0x0, 0x0 });
dataSetList.setConnectionHandle(wrongConnectionHandle);
dataSetListResponse = instance.dataSetList(dataSetList);
assertEquals(ECardConstants.Major.ERROR, dataSetListResponse.getResult().getResultMajor());
assertEquals(ECardConstants.Minor.SAL.UNKNOWN_HANDLE, dataSetListResponse.getResult().getResultMinor());
// test null connectionhandle
dataSetList = new DataSetList();
dataSetList.setConnectionHandle(null);
dataSetListResponse = instance.dataSetList(dataSetList);
assertEquals(ECardConstants.Major.ERROR, dataSetListResponse.getResult().getResultMajor());
assertEquals(ECardConstants.Minor.App.INCORRECT_PARM, dataSetListResponse.getResult().getResultMinor());
// TODO test for unsatisfied security condition
}
/**
* Test of dataSetCreate method, of class TinySAL.
*/
@Test
public void testDataSetCreate() {
System.out.println("dataSetCreate");
DataSetCreate parameters = new DataSetCreate();
DataSetCreateResponse result = instance.dataSetCreate(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of dataSetSelect method, of class TinySAL.
*/
@Test
public void testDataSetSelect() {
System.out.println("dataSetSelect");
CardApplicationPath cardApplicationPath = new CardApplicationPath();
CardApplicationPathType cardApplicationPathType = new CardApplicationPathType();
cardApplicationPathType.setCardApplication(appIdentifier_ESIGN);
cardApplicationPath.setCardAppPathRequest(cardApplicationPathType);
CardApplicationPathResponse cardApplicationPathResponse = instance.cardApplicationPath(cardApplicationPath);
CardApplicationConnect parameters = new CardApplicationConnect();
parameters.setCardApplicationPath(cardApplicationPathResponse.getCardAppPathResultSet().getCardApplicationPathResult().get(0));
CardApplicationConnectResponse result = instance.cardApplicationConnect(parameters);
assertEquals(ECardConstants.Major.OK, result.getResult().getResultMajor());
// test good case
DataSetSelect dataSetSelect = new DataSetSelect();
dataSetSelect.setConnectionHandle(result.getConnectionHandle());
dataSetSelect.setDataSetName("EF.C.CH.AUT");
DataSetSelectResponse dataSetSelectResponse = instance.dataSetSelect(dataSetSelect);
assertEquals(ECardConstants.Major.OK, dataSetSelectResponse.getResult().getResultMajor());
// test connectionhanle == null
dataSetSelect = new DataSetSelect();
dataSetSelect.setConnectionHandle(null);
dataSetSelect.setDataSetName("EF.C.CH.AUT");
dataSetSelectResponse = instance.dataSetSelect(dataSetSelect);
assertEquals(ECardConstants.Major.ERROR, dataSetSelectResponse.getResult().getResultMajor());
assertEquals(ECardConstants.Minor.App.INCORRECT_PARM, dataSetSelectResponse.getResult().getResultMinor());
// test datasetname == null
dataSetSelect = new DataSetSelect();
dataSetSelect.setConnectionHandle(result.getConnectionHandle());
dataSetSelect.setDataSetName(null);
dataSetSelectResponse = instance.dataSetSelect(dataSetSelect);
assertEquals(ECardConstants.Major.ERROR, dataSetSelectResponse.getResult().getResultMajor());
assertEquals(ECardConstants.Minor.App.INCORRECT_PARM, dataSetSelectResponse.getResult().getResultMinor());
// test datasetname not found
dataSetSelect = new DataSetSelect();
dataSetSelect.setConnectionHandle(result.getConnectionHandle());
dataSetSelect.setDataSetName("INVALID");
dataSetSelectResponse = instance.dataSetSelect(dataSetSelect);
assertEquals(ECardConstants.Major.ERROR, dataSetSelectResponse.getResult().getResultMajor());
assertEquals(ECardConstants.Minor.SAL.NAMED_ENTITY_NOT_FOUND, dataSetSelectResponse.getResult().getResultMinor());
// test invalid connectionhandle
dataSetSelect = new DataSetSelect();
ConnectionHandleType invalidConnectionHandle = result.getConnectionHandle();
invalidConnectionHandle.setIFDName(("invalid"));
dataSetSelect.setConnectionHandle(invalidConnectionHandle);
dataSetSelect.setDataSetName("EF.C.CH.AUT");
dataSetSelectResponse = instance.dataSetSelect(dataSetSelect);
assertEquals(ECardConstants.Major.ERROR, dataSetSelectResponse.getResult().getResultMajor());
assertEquals(ECardConstants.Minor.SAL.UNKNOWN_HANDLE, dataSetSelectResponse.getResult().getResultMinor());
}
/**
* Test of dataSetDelete method, of class TinySAL.
*/
@Test
public void testDataSetDelete() {
System.out.println("dataSetDelete");
DataSetDelete parameters = new DataSetDelete();
DataSetDeleteResponse result = instance.dataSetDelete(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of dsiList method, of class TinySAL.
*/
@Test
public void testDsiList() {
System.out.println("dsiList");
DSIList parameters = new DSIList();
DSIListResponse result = instance.dsiList(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of dsiCreate method, of class TinySAL.
*/
@Test
public void testDsiCreate() {
System.out.println("dsiCreate");
DSICreate parameters = new DSICreate();
DSICreateResponse result = instance.dsiCreate(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of dsiDelete method, of class TinySAL.
*/
@Test
public void testDsiDelete() {
System.out.println("dsiDelete");
DSIDelete parameters = new DSIDelete();
DSIDeleteResponse result = instance.dsiDelete(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of dsiWrite method, of class TinySAL.
*/
@Test
public void testDsiWrite() {
System.out.println("dsiWrite");
DSIWrite parameters = new DSIWrite();
DSIWriteResponse result = instance.dsiWrite(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of dsiRead method, of class TinySAL.
*/
@Test
public void testDsiRead() {
System.out.println("dsiRead");
// test normal case
// get esign path
CardApplicationPath cardApplicationPath = new CardApplicationPath();
CardApplicationPathType cardApplicationPathType = new CardApplicationPathType();
cardApplicationPathType.setCardApplication(appIdentifier_ESIGN);
cardApplicationPath.setCardAppPathRequest(cardApplicationPathType);
CardApplicationPathResponse cardApplicationPathResponse = instance.cardApplicationPath(cardApplicationPath);
// connect to esign
CardApplicationConnect cardApplicationConnect = new CardApplicationConnect();
cardApplicationConnect.setCardApplicationPath(cardApplicationPathResponse.getCardAppPathResultSet().getCardApplicationPathResult().get(0));
CardApplicationConnectResponse result = instance.cardApplicationConnect(cardApplicationConnect);
assertEquals(ECardConstants.Major.OK, result.getResult().getResultMajor());
assertEquals(appIdentifier_ESIGN, result.getConnectionHandle().getCardApplication());
// read EF.C.CH.AUT
DSIRead dsiRead = new DSIRead();
dsiRead.setConnectionHandle(result.getConnectionHandle());
dsiRead.setDSIName("EF.C.CH.AUT");
DSIReadResponse dsiReadResponse = instance.dsiRead(dsiRead);
System.out.println(dsiReadResponse.getResult().getResultMinor());
assertEquals(ECardConstants.Major.OK, dsiReadResponse.getResult().getResultMajor());
System.out.println(dsiReadResponse.getResult().getResultMinor());
assertTrue(dsiReadResponse.getDSIContent().length>0);
// test connectionhandle == null
dsiRead = new DSIRead();
dsiRead.setConnectionHandle(null);
dsiRead.setDSIName("EF.C.CH.AUT");
dsiReadResponse = instance.dsiRead(dsiRead);
assertEquals(ECardConstants.Major.ERROR, dsiReadResponse.getResult().getResultMajor());
assertEquals(ECardConstants.Minor.App.INCORRECT_PARM, dsiReadResponse.getResult().getResultMinor());
// test dsiName == null
dsiRead = new DSIRead();
dsiRead.setConnectionHandle(result.getConnectionHandle());
dsiRead.setDSIName(null);
dsiReadResponse = instance.dsiRead(dsiRead);
assertEquals(ECardConstants.Major.ERROR, dsiReadResponse.getResult().getResultMajor());
assertEquals(ECardConstants.Minor.App.INCORRECT_PARM, dsiReadResponse.getResult().getResultMinor());
// test dsiName invalid
dsiRead = new DSIRead();
dsiRead.setConnectionHandle(result.getConnectionHandle());
dsiRead.setDSIName("INVALID");
dsiReadResponse = instance.dsiRead(dsiRead);
assertEquals(ECardConstants.Major.ERROR, dsiReadResponse.getResult().getResultMajor());
assertEquals(ECardConstants.Minor.SAL.NAMED_ENTITY_NOT_FOUND, dsiReadResponse.getResult().getResultMinor());
// test security condition not satisfied
dsiRead = new DSIRead();
dsiRead.setConnectionHandle(result.getConnectionHandle());
dsiRead.setDSIName("EF.C.CH.AUTN");
dsiReadResponse = instance.dsiRead(dsiRead);
assertEquals(ECardConstants.Major.ERROR, dsiReadResponse.getResult().getResultMajor());
assertEquals(ECardConstants.Minor.SAL.SECURITY_CONDITINON_NOT_SATISFIED, dsiReadResponse.getResult().getResultMinor());
// test invalid connectionhandle
dsiRead = new DSIRead();
dsiRead.setConnectionHandle(result.getConnectionHandle());
dsiRead.getConnectionHandle().setIFDName("invalid");
dsiRead.setDSIName(null);
dsiReadResponse = instance.dsiRead(dsiRead);
assertEquals(ECardConstants.Major.ERROR, dsiReadResponse.getResult().getResultMajor());
assertEquals(ECardConstants.Minor.SAL.UNKNOWN_HANDLE, dsiReadResponse.getResult().getResultMinor());
}
/**
* Test of encipher method, of class TinySAL.
*/
@Test
public void testEncipher() {
System.out.println("encipher");
Encipher parameters = new Encipher();
EncipherResponse result = instance.encipher(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of decipher method, of class TinySAL.
*/
@Test
public void testDecipher() {
System.out.println("decipher");
Decipher parameters = new Decipher();
DecipherResponse result = instance.decipher(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of getRandom method, of class TinySAL.
*/
@Test
public void testGetRandom() {
System.out.println("getRandom");
GetRandom parameters = new GetRandom();
GetRandomResponse result = instance.getRandom(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of hash method, of class TinySAL.
*/
@Test
public void testHash() {
System.out.println("hash");
Hash parameters = new Hash();
HashResponse result = instance.hash(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of sign method, of class TinySAL.
*/
@Test
public void testSign() {
System.out.println("sign");
Sign parameters = new Sign();
SignResponse result = instance.sign(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of verifySignature method, of class TinySAL.
*/
@Test
public void testVerifySignature() {
System.out.println("verifySignature");
VerifySignature parameters = new VerifySignature();
VerifySignatureResponse result = instance.verifySignature(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of verifyCertificate method, of class TinySAL.
*/
@Test
public void testVerifyCertificate() {
System.out.println("verifyCertificate");
VerifyCertificate parameters = new VerifyCertificate();
VerifyCertificateResponse result = instance.verifyCertificate(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of didList method, of class TinySAL.
*/
@Test
public void testDidList() {
System.out.println("didList");
// get path to esign
CardApplicationPath cardApplicationPath = new CardApplicationPath();
CardApplicationPathType cardApplicationPathType = new CardApplicationPathType();
cardApplicationPathType.setCardApplication(appIdentifier_ESIGN);
cardApplicationPath.setCardAppPathRequest(cardApplicationPathType);
CardApplicationPathResponse cardApplicationPathResponse = instance.cardApplicationPath(cardApplicationPath);
// connect to esign
CardApplicationConnect cardApplicationConnect = new CardApplicationConnect();
cardApplicationConnect.setCardApplicationPath(cardApplicationPathResponse.getCardAppPathResultSet().getCardApplicationPathResult()
.get(0));
CardApplicationConnectResponse result = instance.cardApplicationConnect(cardApplicationConnect);
assertEquals(ECardConstants.Major.OK, result.getResult().getResultMajor());
DIDList didList = new DIDList();
didList.setConnectionHandle(result.getConnectionHandle());
DIDQualifierType didQualifier = new DIDQualifierType();
didQualifier.setApplicationIdentifier(appIdentifier_ESIGN);
didQualifier.setObjectIdentifier("urn:oid:1.3.162.15480.3.0.25");
didQualifier.setApplicationFunction("Compute-signature");
didList.setFilter(didQualifier);
DIDListResponse didListResponse = instance.didList(didList);
Assert.assertTrue(didListResponse.getDIDNameList().getDIDName().size() > 0);
assertEquals(ECardConstants.Major.OK, result.getResult().getResultMajor());
// get path to root
cardApplicationPath = new CardApplicationPath();
cardApplicationPathType = new CardApplicationPathType();
cardApplicationPathType.setCardApplication(appIdentifier_ROOT);
cardApplicationPath.setCardAppPathRequest(cardApplicationPathType);
cardApplicationPathResponse = instance.cardApplicationPath(cardApplicationPath);
// connect to root
cardApplicationConnect = new CardApplicationConnect();
cardApplicationConnect.setCardApplicationPath(cardApplicationPathResponse.getCardAppPathResultSet().getCardApplicationPathResult()
.get(0));
cardApplicationConnect.getCardApplicationPath().setCardApplication(appIdentifier_ROOT);
result = instance.cardApplicationConnect(cardApplicationConnect);
assertEquals(ECardConstants.Major.OK, result.getResult().getResultMajor());
didList = new DIDList();
didList.setConnectionHandle(result.getConnectionHandle());
didQualifier = new DIDQualifierType();
didQualifier.setApplicationIdentifier(appIdentifier_ROOT);
didQualifier.setObjectIdentifier("urn:oid:1.3.162.15480.3.0.25");
didQualifier.setApplicationFunction("Compute-signature");
didList.setFilter(didQualifier);
didListResponse = instance.didList(didList);
// we expect 0 because of the filter
Assert.assertEquals(didListResponse.getDIDNameList().getDIDName().size(), 0);
assertEquals(ECardConstants.Major.OK, didListResponse.getResult().getResultMajor());
// test null connectionhandle
didList = new DIDList();
didList.setConnectionHandle(null);
didListResponse = instance.didList(didList);
assertEquals(ECardConstants.Major.ERROR, didListResponse.getResult().getResultMajor());
assertEquals(ECardConstants.Minor.App.INCORRECT_PARM, didListResponse.getResult().getResultMinor());
//test invalid connectionhandle
didList = new DIDList();
didList.setConnectionHandle(result.getConnectionHandle());
didList.getConnectionHandle().setIFDName("invalid");
didListResponse = instance.didList(didList);
assertEquals(ECardConstants.Major.ERROR, didListResponse.getResult().getResultMajor());
assertEquals(ECardConstants.Minor.SAL.UNKNOWN_HANDLE, didListResponse.getResult().getResultMinor());
}
/**
* Test of didCreate method, of class TinySAL.
*/
@Test
public void testDidCreate() {
System.out.println("didCreate");
DIDCreate parameters = new DIDCreate();
DIDCreateResponse result = instance.didCreate(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of didGet method, of class TinySAL.
*/
@Test
public void testDidGet() {
System.out.println("didGet");
DIDGet parameters = new DIDGet();
DIDGetResponse result = instance.didGet(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of didUpdate method, of class TinySAL.
*/
@Test
public void testDidUpdate() {
System.out.println("didUpdate");
DIDUpdate parameters = new DIDUpdate();
DIDUpdateResponse result = instance.didUpdate(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of didDelete method, of class TinySAL.
*/
@Test
public void testDidDelete() {
System.out.println("didDelete");
DIDDelete parameters = new DIDDelete();
DIDDeleteResponse result = instance.didDelete(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of didAuthenticate method, of class TinySAL.
*
* @throws ParserConfigurationException
*/
@Test
public void testDidAuthenticate() throws ParserConfigurationException {
System.out.println("didAuthenticate");
DIDAuthenticate parameters = new DIDAuthenticate();
DIDAuthenticateResponse result = instance.didAuthenticate(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of aclList method, of class TinySAL.
*/
@Test
public void testAclList() {
System.out.println("aclList");
// get path to esign
CardApplicationPath cardApplicationPath = new CardApplicationPath();
CardApplicationPathType cardApplicationPathType = new CardApplicationPathType();
cardApplicationPathType.setCardApplication(appIdentifier_ESIGN);
cardApplicationPath.setCardAppPathRequest(cardApplicationPathType);
CardApplicationPathResponse cardApplicationPathResponse = instance.cardApplicationPath(cardApplicationPath);
// connect to esign
CardApplicationConnect cardApplicationConnect = new CardApplicationConnect();
cardApplicationConnect.setCardApplicationPath(cardApplicationPathResponse.getCardAppPathResultSet().getCardApplicationPathResult()
.get(0));
CardApplicationConnectResponse result = instance.cardApplicationConnect(cardApplicationConnect);
assertEquals(ECardConstants.Major.OK, result.getResult().getResultMajor());
ACLList aclList = new ACLList();
aclList.setConnectionHandle(result.getConnectionHandle());
TargetNameType targetName = new TargetNameType();
targetName.setCardApplicationName(appIdentifier_ESIGN);
aclList.setTargetName(targetName);
ACLListResponse aclListResponse = instance.aclList(aclList);
assertEquals(aclListResponse.getResult().getResultMajor(), ECardConstants.Major.OK);
assertTrue(aclListResponse.getTargetACL().getAccessRule().size()>0);
// test null connectionhandle
aclList = new ACLList();
aclList.setConnectionHandle(null);
targetName = new TargetNameType();
targetName.setCardApplicationName(appIdentifier_ESIGN);
aclList.setTargetName(targetName);
aclListResponse = instance.aclList(aclList);
assertEquals(ECardConstants.Major.ERROR, aclListResponse.getResult().getResultMajor());
assertEquals(ECardConstants.Minor.App.INCORRECT_PARM, aclListResponse.getResult().getResultMinor());
// test missing targetname
aclList = new ACLList();
aclList.setConnectionHandle(null);
targetName = new TargetNameType();
aclList.setTargetName(targetName);
aclListResponse = instance.aclList(aclList);
assertEquals(ECardConstants.Major.ERROR, aclListResponse.getResult().getResultMajor());
assertEquals(ECardConstants.Minor.App.INCORRECT_PARM, aclListResponse.getResult().getResultMinor());
//test invalid applicationIdentifier
aclList = new ACLList();
aclList.setConnectionHandle(result.getConnectionHandle());
targetName = new TargetNameType();
targetName.setCardApplicationName(new byte[]{0x0, 0x0, 0x0});
aclList.setTargetName(targetName);
aclListResponse = instance.aclList(aclList);
assertEquals(ECardConstants.Major.ERROR, aclListResponse.getResult().getResultMajor());
assertEquals(ECardConstants.Minor.SAL.NAMED_ENTITY_NOT_FOUND, aclListResponse.getResult().getResultMinor());
//test invalid connectionhandle
aclList = new ACLList();
aclList.setConnectionHandle(result.getConnectionHandle());
aclList.getConnectionHandle().setIFDName("invalid");
targetName = new TargetNameType();
targetName.setCardApplicationName(appIdentifier_ESIGN);
aclList.setTargetName(targetName);
aclListResponse = instance.aclList(aclList);
assertEquals(ECardConstants.Major.ERROR, aclListResponse.getResult().getResultMajor());
assertEquals(ECardConstants.Minor.SAL.UNKNOWN_HANDLE, aclListResponse.getResult().getResultMinor());
}
/**
* Test of aclModify method, of class TinySAL.
*/
@Test
public void testAclModify() {
System.out.println("aclModify");
ACLModify parameters = new ACLModify();
ACLModifyResponse result = instance.aclModify(parameters);
assertEquals(ECardConstants.Major.ERROR, result.getResult().getResultMajor());
}
/**
* Test of singalEvent method, of class TinySAL.
*/
@Test(enabled=false)
public void testSingalEvent() {
System.out.println("singalEvent");
// same as getconnectionhandles, so call this one instead
testGetConnectionHandles();
}
}