diff options
-rw-r--r-- | internal/feed/feed_test.go | 56 | ||||
-rw-r--r-- | internal/feed/testdata/nvdcve-1.1-2003.json.gz | bin | 0 -> 434020 bytes | |||
-rw-r--r-- | internal/feed/testdata/nvdcve-1.1-2021.json.gz | bin | 0 -> 4852632 bytes | |||
-rw-r--r-- | internal/feed/testdata/nvdcve-1.1-modified.json.gz | bin | 0 -> 288574 bytes | |||
-rw-r--r-- | main.go | 25 |
5 files changed, 60 insertions, 21 deletions
diff --git a/internal/feed/feed_test.go b/internal/feed/feed_test.go new file mode 100644 index 0000000..f31a3ae --- /dev/null +++ b/internal/feed/feed_test.go @@ -0,0 +1,56 @@ +package feed + +import ( + "compress/gzip" + "encoding/json" + "io" + // "fmt" + "os" + "testing" +) + +func openTest(path string) (io.Reader, error) { + // open file for reading + file, err := os.Open(path) + if err != nil { + return nil, err + } + + // wrap in reader, return success + return gzip.NewReader(file) +} + +// Test feed parser +func TestFeedParser(t *testing.T) { + t.Run("TestUnmarshalJSON", func(t *testing.T) { + var f Feed + + // read test data, check for error + src, err := openTest("testdata/nvdcve-1.1-2021.json.gz") + if err != nil { + t.Error(err) + } + + // decode cve feed, check for error + d := json.NewDecoder(src) + if err := d.Decode(&f); err != nil { + t.Error(err) + } + }) +// var f Feed +// +// // decode cve feed +// d := json.NewDecoder(os.Stdin) +// if err := d.Decode(&f); err != nil { +// t.Error(err) +// } +// +// var dst bytes.Buffer +// +// // create json encoder +// e := json.NewEncoder(&dst) +// if err := e.Encode(f); err != nil { +// t.Error(err) +// } +} + diff --git a/internal/feed/testdata/nvdcve-1.1-2003.json.gz b/internal/feed/testdata/nvdcve-1.1-2003.json.gz Binary files differnew file mode 100644 index 0000000..c7796a6 --- /dev/null +++ b/internal/feed/testdata/nvdcve-1.1-2003.json.gz diff --git a/internal/feed/testdata/nvdcve-1.1-2021.json.gz b/internal/feed/testdata/nvdcve-1.1-2021.json.gz Binary files differnew file mode 100644 index 0000000..83ca5e6 --- /dev/null +++ b/internal/feed/testdata/nvdcve-1.1-2021.json.gz diff --git a/internal/feed/testdata/nvdcve-1.1-modified.json.gz b/internal/feed/testdata/nvdcve-1.1-modified.json.gz Binary files differnew file mode 100644 index 0000000..c675fb6 --- /dev/null +++ b/internal/feed/testdata/nvdcve-1.1-modified.json.gz @@ -1,31 +1,14 @@ package main import ( - "encoding/json" + // "encoding/json" // "fmt" - "log" + // "log" // "nvd/internal/cvss" - "nvd/internal/feed" - "os" + // "nvd/internal/feed" + // "os" ) -// Test feed parser -func testFeedParser() { - var f feed.Feed - - // decode cve feed - d := json.NewDecoder(os.Stdin) - if err := d.Decode(&f); err != nil { - log.Fatal(err) - } - - // create json encoder - e := json.NewEncoder(os.Stdout) - if err := e.Encode(f); err != nil { - log.Fatal(err) - } -} - func main() { // testMetaParser() // testFeedParser() |