From 586bc138e50230bbf8d552422e69acd2573f7865 Mon Sep 17 00:00:00 2001 From: azimut Date: Wed, 8 Sep 2021 14:02:06 -0300 Subject: [PATCH] minor, moving things and t.Fatal --- internal/hackernews/comment_test.go | 21 ++++++++++++--------- internal/hackernews/fetch.go | 15 +-------------- internal/hackernews/header_test.go | 6 +++--- internal/hackernews/validate.go | 17 +++++++++++++++++ 4 files changed, 33 insertions(+), 26 deletions(-) create mode 100644 internal/hackernews/validate.go diff --git a/internal/hackernews/comment_test.go b/internal/hackernews/comment_test.go index 11cdf71..a7ca174 100644 --- a/internal/hackernews/comment_test.go +++ b/internal/hackernews/comment_test.go @@ -9,23 +9,26 @@ import ( ) func TestMakeComments(t *testing.T) { - file, err := ioutil.ReadFile("/home/sendai/testfield/hn.html") + file, err := ioutil.ReadFile("testdata/hn.html") if err != nil { - t.Error(err) + t.Fatal(err) } r := bytes.NewReader(file) doc, err := goquery.NewDocumentFromReader(r) if err != nil { - t.Error(err) + t.Fatal(err) } comments := NewComments(doc) - if len(comments) != 19 { - t.Errorf("expected 19 root comments got %d", len(comments)) + result := len(comments) + if result != 19 { + t.Errorf("expected 19 root comments got %d", result) } - if len(comments[0].Childs) != 4 { - t.Errorf("expected 4 child comments for [0] got %d", len(comments[0].Childs)) + result = len(comments[0].Childs) + if result != 4 { + t.Errorf("expected 4 child comments for [0].Childs got %d", result) } - if len(comments[0].Childs[0].Childs) != 1 { - t.Errorf("expected 1 child comment for .Childs[0].Childs got %d", len(comments[0].Childs[0].Childs)) + result = len(comments[0].Childs[0].Childs) + if result != 1 { + t.Errorf("expected 1 child comments for [0].Childs[0].Childs got %d", result) } } diff --git a/internal/hackernews/fetch.go b/internal/hackernews/fetch.go index 8d5e028..f7fcbd4 100644 --- a/internal/hackernews/fetch.go +++ b/internal/hackernews/fetch.go @@ -1,8 +1,6 @@ package hackernews import ( - "errors" - "net/url" "strings" "time" @@ -10,19 +8,8 @@ import ( "github.com/azimut/cli-view/internal/fetch" ) -func EffectiveUrl(rawUrl string) (string, error) { - uri, err := url.Parse(rawUrl) - if err != nil { - return "", err - } - if uri.Host != "news.ycombinator.com" { - return "", errors.New("invalid hostname") - } - return uri.String(), nil -} - func Fetch(url, ua string, timeout time.Duration) (doc *goquery.Document, err error) { - url, err = EffectiveUrl(url) + url, err = effectiveUrl(url) if err != nil { return nil, err } diff --git a/internal/hackernews/header_test.go b/internal/hackernews/header_test.go index 77ea858..4f31082 100644 --- a/internal/hackernews/header_test.go +++ b/internal/hackernews/header_test.go @@ -9,14 +9,14 @@ import ( ) func TestNewHeader(t *testing.T) { - file, err := ioutil.ReadFile("/home/sendai/testfield/hn.html") + file, err := ioutil.ReadFile("testdata/hn.html") if err != nil { - t.Error(err) + t.Fatal(err) } r := bytes.NewReader(file) doc, err := goquery.NewDocumentFromReader(r) if err != nil { - t.Error(err) + t.Fatal(err) } header := NewHeader(doc) if header.url != "https://www.newyorker.com/news/news-desk/the-red-warning-light-on-richard-bransons-space-flight" { diff --git a/internal/hackernews/validate.go b/internal/hackernews/validate.go new file mode 100644 index 0000000..247f296 --- /dev/null +++ b/internal/hackernews/validate.go @@ -0,0 +1,17 @@ +package hackernews + +import ( + "errors" + "net/url" +) + +func effectiveUrl(rawUrl string) (string, error) { + uri, err := url.Parse(rawUrl) + if err != nil { + return "", err + } + if uri.Host != "news.ycombinator.com" { + return "", errors.New("invalid hostname") + } + return uri.String(), nil +}