1
0
mirror of https://github.com/interviewstreet/go-jira.git synced 2025-03-17 20:47:57 +02:00

Updated test to use already built testClient. Fixed jira error functions to receive jira.Response instead of http.Response

This commit is contained in:
Bob Briski 2017-11-02 16:53:36 -07:00
parent 36974f8b7b
commit 5655cb856a
3 changed files with 15 additions and 12 deletions

View File

@ -5,7 +5,6 @@ import (
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
"github.com/pkg/errors"
)
@ -19,7 +18,7 @@ type Error struct {
}
// NewJiraError creates a new jira Error
func NewJiraError(resp *http.Response, httpError error) error {
func NewJiraError(resp *Response, httpError error) error {
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {

View File

@ -2,27 +2,31 @@ package jira
import (
"errors"
"io"
"fmt"
"net/http"
"net/http/httptest"
"strings"
"testing"
)
func TestError_NewJiraError(t *testing.T) {
handler := func(w http.ResponseWriter, r *http.Request) {
io.WriteString(w, `{"errorMessages":["Issue does not exist or you do not have permission to see it."],"errors":{}}`)
}
setup()
defer teardown()
req := httptest.NewRequest("GET", "http://example.com/foo", nil)
w := httptest.NewRecorder()
handler(w, req)
resp := w.Result()
testMux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, `{"errorMessages":["Issue does not exist or you do not have permission to see it."],"errors":{}}`)
})
req, _ := testClient.NewRequest("GET", "/", nil)
resp, _ := testClient.Do(req, nil)
err := NewJiraError(resp, errors.New("Original http error"))
if err, ok := err.(*Error); !ok {
t.Errorf("Expected jira Error. Got %s", err.Error())
}
if !strings.Contains(err.Error(), "Issue does not exist") {
t.Errorf("Expected issue message. Got: %s", err.Error())
}
}
func TestError_NilOriginalMessage(t *testing.T) {

View File

@ -363,7 +363,7 @@ func (s *IssueService) Get(issueID string) (*Issue, *Response, error) {
issue := new(Issue)
resp, err := s.client.Do(req, issue)
if err != nil {
jerr := NewJiraError(resp.Response, err)
jerr := NewJiraError(resp, err)
return nil, resp, jerr
}