From f8b756a7fb52adb146626565bfbd57d67ebc1e23 Mon Sep 17 00:00:00 2001 From: Roman Suvorov Date: Tue, 8 Dec 2020 17:21:21 +0300 Subject: [PATCH 1/3] check error on init --- elasticsearch.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/elasticsearch.go b/elasticsearch.go index 06a8fdbde3..c17085df11 100644 --- a/elasticsearch.go +++ b/elasticsearch.go @@ -124,7 +124,10 @@ func NewClient(cfg Config) (*Client, error) { } if len(urls) == 0 { - u, _ := url.Parse(defaultURL) // errcheck exclude + u, err := url.Parse(defaultURL) + if err != nil { + return nil, fmt.Errorf("cannot parse url: %v", err) + } urls = append(urls, u) } From 5bbbbffae174bc231f9227c50c8fc3ee773aad52 Mon Sep 17 00:00:00 2001 From: Roman Suvorov Date: Wed, 9 Dec 2020 17:50:04 +0300 Subject: [PATCH 2/3] Return error when default URL cannot be parsed --- elasticsearch.go | 4 ++-- elasticsearch_internal_test.go | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/elasticsearch.go b/elasticsearch.go index c17085df11..ff200d7b5d 100644 --- a/elasticsearch.go +++ b/elasticsearch.go @@ -126,7 +126,7 @@ func NewClient(cfg Config) (*Client, error) { if len(urls) == 0 { u, err := url.Parse(defaultURL) if err != nil { - return nil, fmt.Errorf("cannot parse url: %v", err) + return nil, fmt.Errorf("cannot parse default URL: %v", err) } urls = append(urls, u) } @@ -223,7 +223,7 @@ func addrsToURLs(addrs []string) ([]*url.URL, error) { for _, addr := range addrs { u, err := url.Parse(strings.TrimRight(addr, "/")) if err != nil { - return nil, fmt.Errorf("cannot parse url: %v", err) + return nil, fmt.Errorf("cannot parse URL: %v", err) } urls = append(urls, u) diff --git a/elasticsearch_internal_test.go b/elasticsearch_internal_test.go index 3fefd78e2b..f515e7cbc4 100644 --- a/elasticsearch_internal_test.go +++ b/elasticsearch_internal_test.go @@ -158,6 +158,13 @@ func TestClientConfiguration(t *testing.T) { t.Errorf("Expected error, got: %+v", c) } }) + + t.Run("With invalid default URL", func(t *testing.T) { + _, err := NewClient(Config{}) + if err != nil { + t.Errorf("Expected correct default URL, got %s: %v", defaultURL, err) + } + }) } var called bool From 83712ca0a8b6e06b3d0965e0564b5e7f442466d1 Mon Sep 17 00:00:00 2001 From: Roman Suvorov Date: Wed, 9 Dec 2020 19:34:15 +0300 Subject: [PATCH 3/3] remove redundant test case --- elasticsearch_internal_test.go | 7 ------- 1 file changed, 7 deletions(-) diff --git a/elasticsearch_internal_test.go b/elasticsearch_internal_test.go index f515e7cbc4..3fefd78e2b 100644 --- a/elasticsearch_internal_test.go +++ b/elasticsearch_internal_test.go @@ -158,13 +158,6 @@ func TestClientConfiguration(t *testing.T) { t.Errorf("Expected error, got: %+v", c) } }) - - t.Run("With invalid default URL", func(t *testing.T) { - _, err := NewClient(Config{}) - if err != nil { - t.Errorf("Expected correct default URL, got %s: %v", defaultURL, err) - } - }) } var called bool