aboutsummaryrefslogtreecommitdiff
path: root/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/cz/crcs/ectester/reader/output/YAMLTestWriter.java')
-rw-r--r--src/cz/crcs/ectester/reader/output/YAMLTestWriter.java119
1 files changed, 0 insertions, 119 deletions
diff --git a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java
deleted file mode 100644
index 56ecb71..0000000
--- a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package cz.crcs.ectester.reader.output;
-
-import cz.crcs.ectester.common.output.BaseYAMLTestWriter;
-import cz.crcs.ectester.common.test.TestSuite;
-import cz.crcs.ectester.common.test.Testable;
-import cz.crcs.ectester.common.util.ByteUtil;
-import cz.crcs.ectester.reader.CardMngr;
-import cz.crcs.ectester.reader.ECTesterReader;
-import cz.crcs.ectester.reader.command.Command;
-import cz.crcs.ectester.reader.response.Response;
-import cz.crcs.ectester.reader.test.CardTestSuite;
-import cz.crcs.ectester.reader.test.CommandTestable;
-
-import javax.smartcardio.CardException;
-import java.io.PrintStream;
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-/**
- * @author Jan Jancar johny@neuromancer.sk
- */
-public class YAMLTestWriter extends BaseYAMLTestWriter {
- public YAMLTestWriter(PrintStream output) {
- super(output);
- }
-
- private Map<String, Object> commandObject(Command c) {
- Map<String, Object> commandObj = new LinkedHashMap<>();
- if (c == null) {
- return commandObj;
- }
- commandObj.put("apdu", ByteUtil.bytesToHex(c.getAPDU().getBytes()));
- commandObj.put("desc", c.getDescription());
- return commandObj;
- }
-
- private Map<String, Object> responseObject(Response r) {
- Map<String, Object> responseObj = new LinkedHashMap<>();
- if (r == null) {
- return responseObj;
- }
- responseObj.put("successful", r.successful());
- responseObj.put("apdu", ByteUtil.bytesToHex(r.getAPDU().getBytes()));
- responseObj.put("natural_sw", Short.toUnsignedInt(r.getNaturalSW()));
- List<Integer> sws = new LinkedList<>();
- for (int i = 0; i < r.getNumSW(); ++i) {
- sws.add(Short.toUnsignedInt(r.getSW(i)));
- }
- responseObj.put("sws", sws);
- responseObj.put("duration", r.getDuration());
- responseObj.put("desc", r.getDescription());
- return responseObj;
- }
-
- @Override
- protected Map<String, Object> testableObject(Testable t) {
- if (t instanceof CommandTestable) {
- CommandTestable cmd = (CommandTestable) t;
- Map<String, Object> result = new LinkedHashMap<>();
- result.put("type", "command");
- result.put("command", commandObject(cmd.getCommand()));
- result.put("response", responseObject(cmd.getResponse()));
- return result;
- }
- return null;
- }
-
- private Map<String, Object> cplcObject(CardMngr card) {
- Map<String, Object> result = new LinkedHashMap<>();
- try {
- CardMngr.CPLC cplc = card.getCPLC();
- if (!cplc.values().isEmpty()) {
- for (Map.Entry<CardMngr.CPLC.Field, byte[]> entry : cplc.values().entrySet()) {
- CardMngr.CPLC.Field field = entry.getKey();
- byte[] value = entry.getValue();
- result.put(field.name(), ByteUtil.bytesToHex(value, false));
- }
- }
- } catch (CardException ignored) {
- }
- return result;
- }
-
- private Map<String, Object> appletObject(CardMngr card) {
- Map<String, Object> result = new LinkedHashMap<>();
- try {
- Response.GetInfo info = new Command.GetInfo(card).send();
- result.put("version", info.getVersion());
- result.put("javacard", info.getJavaCardVersion());
- result.put("base", info.getBase());
- result.put("cleanup", info.getCleanupSupport());
- Map<String, Integer> arrays = new LinkedHashMap<>();
- arrays.put("apduBuf", Short.toUnsignedInt(info.getApduBufferLength()));
- arrays.put("ramArray", Short.toUnsignedInt(info.getRamArrayLength()));
- arrays.put("ramArray2", Short.toUnsignedInt(info.getRamArray2Length()));
- arrays.put("apduArray", Short.toUnsignedInt(info.getApduArrayLength()));
- result.put("arrays", arrays);
- } catch (CardException ignored) {
- }
- return result;
- }
-
- @Override
- protected Map<String, Object> deviceObject(TestSuite suite) {
- if (suite instanceof CardTestSuite) {
- CardTestSuite cardSuite = (CardTestSuite) suite;
- Map<String, Object> result = new LinkedHashMap<>();
- result.put("type", "card");
- result.put("ectester", ECTesterReader.VERSION + ECTesterReader.GIT_COMMIT);
- result.put("cplc", cplcObject(cardSuite.getCard()));
- result.put("applet", appletObject(cardSuite.getCard()));
- result.put("ATR", ByteUtil.bytesToHex(cardSuite.getCard().getATR().getBytes(), false));
- return result;
- }
- return null;
- }
-}