From 531c15b6c5f6c3d274ffec11a15b0ad22d685a90 Mon Sep 17 00:00:00 2001 From: Paul Duncan Date: Mon, 31 Jan 2022 18:37:12 -0500 Subject: move feed tests to internal/feed/feed_test.go, add internal/feed/testdata --- internal/feed/feed_test.go | 56 +++++++++++++++++++++ internal/feed/testdata/nvdcve-1.1-2003.json.gz | Bin 0 -> 434020 bytes internal/feed/testdata/nvdcve-1.1-2021.json.gz | Bin 0 -> 4852632 bytes internal/feed/testdata/nvdcve-1.1-modified.json.gz | Bin 0 -> 288574 bytes main.go | 25 ++------- 5 files changed, 60 insertions(+), 21 deletions(-) create mode 100644 internal/feed/feed_test.go create mode 100644 internal/feed/testdata/nvdcve-1.1-2003.json.gz create mode 100644 internal/feed/testdata/nvdcve-1.1-2021.json.gz create mode 100644 internal/feed/testdata/nvdcve-1.1-modified.json.gz 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 new file mode 100644 index 0000000..c7796a6 Binary files /dev/null and b/internal/feed/testdata/nvdcve-1.1-2003.json.gz differ diff --git a/internal/feed/testdata/nvdcve-1.1-2021.json.gz b/internal/feed/testdata/nvdcve-1.1-2021.json.gz new file mode 100644 index 0000000..83ca5e6 Binary files /dev/null and b/internal/feed/testdata/nvdcve-1.1-2021.json.gz differ diff --git a/internal/feed/testdata/nvdcve-1.1-modified.json.gz b/internal/feed/testdata/nvdcve-1.1-modified.json.gz new file mode 100644 index 0000000..c675fb6 Binary files /dev/null and b/internal/feed/testdata/nvdcve-1.1-modified.json.gz differ diff --git a/main.go b/main.go index 84e16bb..e820184 100644 --- a/main.go +++ b/main.go @@ -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() -- cgit v1.2.3