use of com.mercedesbenz.sechub.sarif.model.Report in project sechub by mercedes-benz.
the class SarifReportSupportTest method specification_properties_snippet_properties_contains_opensource_key_and_map_value.
@Test
void specification_properties_snippet_properties_contains_opensource_key_and_map_value() throws IOException {
/* prepare */
File folder = sarifSpecificationSnippetsFolder;
/* execute */
Report report = supportToTest.loadReport(new File(folder, "specification-properties-snippet.sarif.json"));
/* test */
List<Result> results = report.getRuns().iterator().next().getResults();
Result result = results.iterator().next();
PropertyBag properties = result.getProperties();
assertNotNull(properties);
openSourceData = properties.get("openSource");
if (openSourceData instanceof Map) {
@SuppressWarnings("unchecked") Map<String, Object> map = (Map<String, Object>) openSourceData;
String informationUri = (String) map.get("informationUri");
assertEquals("http://www.example.com/procedures/usingOpenSource.html", informationUri);
} else {
fail("expected map but found:" + openSourceData);
}
}
use of com.mercedesbenz.sechub.sarif.model.Report in project sechub by mercedes-benz.
the class SarifReportSupportTest method microsoft_sarif_tutorial_taxonomies_example__result_defaultocnfiguraiton_level.
@Test
void microsoft_sarif_tutorial_taxonomies_example__result_defaultocnfiguraiton_level() throws IOException {
/* prepare */
File codeFlowReportFile = new File(sarifTutorialSamplesFolder, "Taxonomies.sarif");
/* execute */
Report report = supportToTest.loadReport(codeFlowReportFile);
/* test */
List<Run> runs = report.getRuns();
assertEquals(1, runs.size(), "there must be ONE run!");
Run run = runs.iterator().next();
List<Rule> rules = run.getTool().getDriver().getRules();
Map<String, Rule> sortedMap = new TreeMap<>();
for (Rule rule : rules) {
sortedMap.put(rule.getId(), rule);
}
Rule rule1 = sortedMap.get("TUT0001");
assertNotNull(rule1);
ReportingConfiguration defaultConfig1 = rule1.getDefaultConfiguration();
assertNotNull(defaultConfig1);
assertEquals(Level.ERROR, defaultConfig1.getLevel());
Rule rule2 = sortedMap.get("TUT0002");
assertNotNull(rule2);
ReportingConfiguration defaultConfig2 = rule2.getDefaultConfiguration();
assertNotNull(defaultConfig2);
assertEquals(Level.WARNING, defaultConfig2.getLevel());
}
use of com.mercedesbenz.sechub.sarif.model.Report in project sechub by mercedes-benz.
the class SarifReportSupportTest method brakeman_sarif_example_with_tags__tags_can_be_fetched.
@Test
void brakeman_sarif_example_with_tags__tags_can_be_fetched() throws IOException {
/* prepare */
File codeFlowReportFile = new File(sarifBrakemanFolder, "sarif_2_1_0__brakeman_testfile_with_tags.sarif.json");
/* execute */
Report report = supportToTest.loadReport(codeFlowReportFile);
/* test */
List<Run> runs = report.getRuns();
assertEquals(1, runs.size(), "there must be ONE run!");
Run run = runs.iterator().next();
List<Result> results = run.getResults();
assertEquals(32, results.size(), "there must be 32 results!");
Result result = results.iterator().next();
Rule rule = supportToTest.fetchRuleForResult(result, run);
Set<String> tags = rule.getProperties().fetchTags();
assertNotNull(tags);
Set<String> expected = new LinkedHashSet<>();
expected.add("ContentTag");
expected.add("Tag2");
expected.add("Tag3");
assertEquals(expected, tags);
}
use of com.mercedesbenz.sechub.sarif.model.Report in project sechub by mercedes-benz.
the class SarifReportSupportTest method specification_properties_snippet_properties_contains_opensource_key_and_map_value_and_can_be_written.
@Test
void specification_properties_snippet_properties_contains_opensource_key_and_map_value_and_can_be_written() throws IOException {
/* prepare */
File folder = sarifSpecificationSnippetsFolder;
/* execute */
Report report = supportToTest.loadReport(new File(folder, "specification-properties-snippet.sarif.json"));
/* test */
List<Result> results = report.getRuns().iterator().next().getResults();
Result result = results.iterator().next();
PropertyBag properties = result.getProperties();
assertNotNull(properties);
openSourceData = properties.get("openSource");
if (openSourceData instanceof Map) {
@SuppressWarnings("unchecked") Map<String, Object> map = (Map<String, Object>) openSourceData;
String informationUri = (String) map.get("informationUri");
assertEquals("http://www.example.com/procedures/usingOpenSource.html", informationUri);
} else {
fail("expected map but found:" + openSourceData);
}
}
use of com.mercedesbenz.sechub.sarif.model.Report in project sechub by mercedes-benz.
the class SarifV1JSONImporter method importResult.
public SerecoMetaData importResult(String data) throws IOException {
if (data == null) {
data = "";
}
Report report = null;
try {
report = sarifSupport.loadReport(data);
} catch (Exception e) {
/*
* here we can throw the exception - should never happen, because with
* #isAbleToImportForProduct we already check this is possible. So there is
* something odd here and we throw the exception
*/
throw new IOException("Import cannot parse sarif json", e);
}
SerecoMetaData metaData = new SerecoMetaData();
for (Run run : report.getRuns()) {
handleEachRun(run, metaData);
}
return metaData;
}
Aggregations