FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Merge pull request #152 from darkspirit510/read-more-metadata · kersevan/BenchmarkJava@7d5caa6 · GitHub

Repository navigation

Commit 7d5caa6

Browse files
authored
Merge pull request OWASP-Benchmark#152 from darkspirit510/read-more-metadata
WIP: Read metadata from result files
2 parents b0ca1b6 + 869607c commit 7d5caa6

2 files changed

Lines changed: 39 additions & 0 deletions

File tree

‎src/main/java/org/owasp/benchmark/score/parsers/HorusecReader.java‎

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
package org.owasp.benchmark.score.parsers;
2222

2323
import java.io.File;
24+
import java.text.ParseException;
25+
import java.text.SimpleDateFormat;
2426
import org.json.JSONArray;
2527
import org.json.JSONObject;
2628
import org.owasp.benchmark.score.BenchmarkScore;
@@ -40,6 +42,8 @@ public static boolean isHorusecReport(final JSONObject json) {
4042
}
4143
}
4244

45+
private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
46+
4347
public TestSuiteResults parse(JSONObject json) throws Exception {
4448
TestSuiteResults tr =
4549
new TestSuiteResults("Horusec", false, TestSuiteResults.ToolType.SAST);
@@ -53,6 +57,9 @@ public TestSuiteResults parse(JSONObject json) throws Exception {
5357
}
5458
}
5559

60+
tr.setToolVersion(readVersion(json));
61+
tr.setTime(calculateTime(json.getString("createdAt"), json.getString("finishedAt")));
62+
5663
return tr;
5764
}
5865

@@ -162,4 +169,30 @@ private int testNumber(String filename) {
162169
private String filename(JSONObject vuln) {
163170
return new File(vuln.getString("file")).getName();
164171
}
172+
173+
private String calculateTime(String createdAt, String finishedAt) {
174+
try {
175+
long passedMilliseconds = unixMilliseconds(finishedAt) - unixMilliseconds(createdAt);
176+
return TestSuiteResults.formatTime(passedMilliseconds);
177+
} catch (Exception e) {
178+
e.printStackTrace();
179+
return "Unknown";
180+
}
181+
}
182+
183+
private long unixMilliseconds(String createdAt) throws ParseException {
184+
return sdf.parse(trimAfterDot(createdAt)).getTime();
185+
}
186+
187+
private String trimAfterDot(String date) {
188+
return date.substring(0, date.indexOf('.'));
189+
}
190+
191+
private String readVersion(JSONObject json) {
192+
if (json.has("version")) {
193+
return json.getString("version");
194+
} else {
195+
return "0.0.0";
196+
}
197+
}
165198
}

‎src/main/java/org/owasp/benchmark/score/parsers/WapitiJsonReader.java‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ public static TestSuiteResults parse(JSONObject json) throws Exception {
6868
}
6969
}
7070

71+
tr.setToolVersion(readVersion(json));
72+
7173
return tr;
7274
}
7375

@@ -96,4 +98,8 @@ private static String filename(JSONObject finding) {
9698
private static int testNumber(String filename) {
9799
return Integer.parseInt(filename.substring(BenchmarkScore.TESTCASENAME.length() + 1));
98100
}
101+
102+
private static String readVersion(JSONObject json) {
103+
return json.getJSONObject("infos").getString("version").substring("Wapiti ".length());
104+
}
99105
}

0 commit comments

Comments
 (0)

Back | FazBrowse Home | New Git URL