package jobqueue import ( "context" "github.com/stretchr/testify/assert" "net/http" "net/http/httptest" "testing" ) func TestHTTPRunnable_Run(t *testing.T) { server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { _, _ = w.Write([]byte("Hello, world!")) })) defer server.Close() httpRunnable := &HTTPRunnable{ URL: server.URL, Method: "GET", Header: map[string]string{ "Content-Type": "application/json", }, Body: "", } ctx := context.Background() result, err := httpRunnable.Run(ctx) // Assertions assert.NoError(t, err) assert.Equal(t, ResultStatusSuccess, result.Status) assert.IsType(t, HTTPResult{}, result.Data) httpResult := result.Data assert.Equal(t, 200, httpResult.StatusCode) assert.Equal(t, "Hello, world!", httpResult.Body) }