I have a function :
func HTTPGet(url string) (*http.Response, error) {
resp, err := getClient().Get(url)
return resp, err
}
and getClient function is :
var defaultClient *http.Client
func getClient() *http.Client {
if defaultClient == nil {
defaultClient = &http.Client{
Timeout: time.Second * 60,
Transport: newDefaultTransport(),
}
}
return defaultClient
}
I need to write testcase for HTTPGet for url : "/catalog/v6/providers".
I have written testcase for default URL like :
func Handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello, Client")
}
func TestHTTPGet(t *testing.T) {
ts := httptest.NewServer(http.HandlerFunc(Handler))
defer ts.Close()
mockServerURL := ts.URL
resp, err := HTTPGet(mockServerURL)
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
assertEquals("Hello, Client", fmt.Sprintf("%s", body), t)
}
But How to write testcase for specific URL.