cmd/govulncheck: add tests for HTML output
Change-Id: Ia9d550b2b113433e95f91e8e0bf4fa8c36f01440
Reviewed-on: https://go-review.googlesource.com/c/vuln/+/399477
Run-TryBot: Jonathan Amsterdam <jba@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Zvonimir Pavlinovic <zpavlinovic@google.com>
diff --git a/cmd/govulncheck/testdata/html.ct b/cmd/govulncheck/testdata/html.ct
new file mode 100644
index 0000000..9958733
--- /dev/null
+++ b/cmd/govulncheck/testdata/html.ct
@@ -0,0 +1,71 @@
+# Test of HTML output.
+
+$ cdmodule novuln
+$ govulncheck -html .
+
+<!DOCTYPE html>
+<html lang="en">
+<meta charset="utf-8">
+<title>govulncheck Results</title>
+<style>
+body {
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu,
+ 'Helvetica Neue', Arial, sans-serif;
+}
+list-style-type: none;
+</style>
+
+
+<body>
+
+ No vulnerabilities found.
+
+</body>
+</html>
+
+
+$ cdmodule vuln
+$ govulncheck -html . --> FAIL 3
+
+<!DOCTYPE html>
+<html lang="en">
+<meta charset="utf-8">
+<title>govulncheck Results</title>
+<style>
+body {
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu,
+ 'Helvetica Neue', Arial, sans-serif;
+}
+list-style-type: none;
+</style>
+
+
+<body>
+
+ <h2>GO-2021-0113</h2>
+ <table>
+ <tr><td>Package</td><td>golang.org/x/text/language</td></tr>
+ <tr><td>Your version</td><td>v0.3.0</td></tr>
+ <tr><td>Fixed version</td><td>v0.3.7</td></tr>
+ <tr><td>Reference</td><td>https://pkg.go.dev/vuln/GO-2021-0113</td></tr>
+ <tr><td>Description</td><td>Due to improper index calculation, an incorrectly formatted language tag can cause Parse
+to panic via an out of bounds read. If Parse is used to process untrusted user inputs,
+this may be used as a vector for a denial of service attack.
+</td></tr>
+ </table>
+
+
+ <details>
+ <summary>vuln.main calls golang.org/x/text/language.Parse</summary>
+ <ul>
+
+ <li>vuln.main</li>
+
+ <li>golang.org/x/text/language.Parse</li>
+
+ </ul>
+ </details>
+
+
+</body>
+</html>