From d776f70f6b913b65ed1c40a9020868d85edf7d9f Mon Sep 17 00:00:00 2001 From: J08nY Date: Wed, 1 Nov 2017 22:05:56 +0100 Subject: Add output of commands to test-suite YAML and XML output. --- .../ectester/reader/output/YAMLTestWriter.java | 26 +++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) (limited to 'src/cz/crcs/ectester/reader/output/YAMLTestWriter.java') diff --git a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java index d2e3ff8..93e2b45 100644 --- a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java @@ -1,6 +1,7 @@ package cz.crcs.ectester.reader.output; import cz.crcs.ectester.reader.Util; +import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.reader.response.Response; import cz.crcs.ectester.reader.test.Test; import cz.crcs.ectester.reader.test.TestSuite; @@ -18,7 +19,9 @@ import java.util.Map; */ public class YAMLTestWriter implements TestWriter { private PrintStream output; - private List testRun; + private Map testRun; + private Map testSuite; + private List tests; public YAMLTestWriter(PrintStream output) { this.output = output; @@ -27,8 +30,20 @@ public class YAMLTestWriter implements TestWriter { @Override public void begin(TestSuite suite) { output.println("---"); - testRun = new LinkedList<>(); - //TODO: output suite.name and suite.description + testRun = new HashMap<>(); + testSuite = new HashMap<>(); + tests = new LinkedList<>(); + testSuite.put("name", suite.getName()); + testSuite.put("desc", suite.getDescription()); + + testRun.put("suite", testSuite); + testRun.put("tests", tests); + } + + private Map commandObject(Command c) { + Map commandObj = new HashMap<>(); + commandObj.put("apdu", Util.bytesToHex(c.getAPDU().getBytes())); + return commandObj; } private Map responseObject(Response r) { @@ -52,6 +67,7 @@ public class YAMLTestWriter implements TestWriter { if (t instanceof Test.Simple) { Test.Simple test = (Test.Simple) t; testObj.put("type", "simple"); + testObj.put("command", commandObject(test.getCommand())); testObj.put("response", responseObject(test.getResponse())); } else if (t instanceof Test.Compound) { Test.Compound test = (Test.Compound) t; @@ -76,7 +92,7 @@ public class YAMLTestWriter implements TestWriter { public void outputTest(Test t) { if (!t.hasRun()) return; - testRun.add(testObject(t)); + tests.add(testObject(t)); } @Override @@ -86,7 +102,7 @@ public class YAMLTestWriter implements TestWriter { options.setPrettyFlow(true); Yaml yaml = new Yaml(options); - Map> result = new HashMap<>(); + Map result = new HashMap<>(); result.put("testRun", testRun); String out = yaml.dump(result); -- cgit v1.2.3-70-g09d2