github.com/OnkarRuikar/reviewdog@v0.0.0-20230802094019-bc1001e3b2e5/service/gerrit/change_diff_test.go (about) 1 package gerrit 2 3 import ( 4 "context" 5 "fmt" 6 "net/http" 7 "net/http/httptest" 8 "testing" 9 10 "golang.org/x/build/gerrit" 11 ) 12 13 func TestChangeDiff_Diff(t *testing.T) { 14 getChangeDetailAPICall := 0 15 16 mux := http.NewServeMux() 17 mux.HandleFunc("/changes/changeID/detail", func(w http.ResponseWriter, r *http.Request) { 18 getChangeDetailAPICall++ 19 if r.Method != http.MethodGet { 20 t.Errorf("unexpected access: %v %v", r.Method, r.URL) 21 } 22 23 fmt.Fprintf(w, ")]}\n{\"current_revision\": \"HEAD\"}") 24 }) 25 26 ts := httptest.NewServer(mux) 27 defer ts.Close() 28 29 cli := gerrit.NewClient(ts.URL, gerrit.NoAuth) 30 31 g, err := NewChangeDiff(cli, "HEAD^", "changeID") 32 if err != nil { 33 t.Fatal(err) 34 } 35 if _, err := g.Diff(context.Background()); err != nil { 36 t.Fatal(err) 37 } 38 if getChangeDetailAPICall != 1 { 39 t.Errorf("Get GitLab MergeRequest API called %v times, want once", getChangeDetailAPICall) 40 } 41 }