27 lines
878 B
Go
27 lines
878 B
Go
package client
|
|
|
|
import (
|
|
"context"
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"testing"
|
|
)
|
|
|
|
func TestGitCreatePRDecodesBranchPushedPartialState(t *testing.T) {
|
|
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, _ *http.Request) {
|
|
w.Header().Set("Content-Type", "application/json")
|
|
_, _ = w.Write([]byte(`{"success":false,"branch_pushed":true,"provider":"gitlab","error":"branch was pushed; retry merge request creation"}`))
|
|
}))
|
|
t.Cleanup(server.Close)
|
|
client := &Client{baseURL: server.URL, httpClient: server.Client()}
|
|
|
|
result, err := client.GitCreatePR(context.Background(), "Title", "Body", "main", false, "")
|
|
if err != nil {
|
|
t.Fatalf("GitCreatePR: %v", err)
|
|
}
|
|
if result.Success || !result.BranchPushed || result.Provider != "gitlab" ||
|
|
result.Error != "branch was pushed; retry merge request creation" {
|
|
t.Fatalf("result = %+v", result)
|
|
}
|
|
}
|