Skip to content

Commit ddaf977

Browse files
authored
GHES 3.13: Changes in generated code (#97)
* New updates to generated code * New updates to generated code * New updates to generated code
1 parent 953d749 commit ddaf977

File tree

3 files changed

+2162
-2108
lines changed

3 files changed

+2162
-2108
lines changed

pkg/client.go

+4
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,10 @@ func NewApiClient(optionFuncs ...ClientOptionFunc) (*Client, error) {
5151
return nil, fmt.Errorf("failed to create transport from GitHub App: %v", err)
5252
}
5353

54+
if options.BaseURL != "" {
55+
appTransport.BaseURL = options.BaseURL
56+
}
57+
5458
netHttpClient.Transport = appTransport
5559
}
5660

pkg/client_test.go

+49
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
package pkg
22

33
import (
4+
"context"
5+
"net/http"
6+
"net/http/httptest"
47
"os"
8+
"strings"
59
"testing"
610

11+
abs "github.com/microsoft/kiota-abstractions-go"
12+
"github.com/octokit/go-sdk-enterprise-server/pkg/github/installation"
713
"github.com/octokit/go-sdk-enterprise-server/pkg/headers"
814
)
915

@@ -91,6 +97,49 @@ func TestNewApiClientAppAuthHappyPath(t *testing.T) {
9197
}
9298
}
9399

100+
func TestNewApiClientAppAuthBaseUrl(t *testing.T) {
101+
tmpfile, err := os.CreateTemp("", pemFileName)
102+
if err != nil {
103+
t.Fatal(err)
104+
}
105+
defer os.Remove(tmpfile.Name())
106+
107+
if _, err := tmpfile.Write(key); err != nil {
108+
t.Fatal(err)
109+
}
110+
if err := tmpfile.Close(); err != nil {
111+
t.Fatal(err)
112+
}
113+
114+
expectedCall := false
115+
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
116+
if strings.Contains(r.URL.Path, "/app/installations") {
117+
expectedCall = true
118+
}
119+
}))
120+
121+
client, err := NewApiClient(
122+
WithGitHubAppAuthentication(tmpfile.Name(), clientID, installationID),
123+
WithBaseUrl(server.URL),
124+
)
125+
if err != nil {
126+
t.Fatalf("error creating client: %v", err)
127+
}
128+
if client == nil {
129+
t.Fatalf("client is nil")
130+
}
131+
queryParams := &installation.RepositoriesRequestBuilderGetQueryParameters{}
132+
requestConfig := &abs.RequestConfiguration[installation.RepositoriesRequestBuilderGetQueryParameters]{
133+
QueryParameters: queryParams,
134+
}
135+
136+
// trigger a refresh of the installation token to the expected url
137+
_, _ = client.Installation().Repositories().Get(context.Background(), requestConfig)
138+
if !expectedCall {
139+
t.Errorf("installation token endpoint not called")
140+
}
141+
}
142+
94143
func TestNewApiClientAppAuthErrorGettingKeyFromFile(t *testing.T) {
95144
client, err := NewApiClient(WithGitHubAppAuthentication("pem/file/does/not/exist.pem", clientID, installationID))
96145
if err == nil {

0 commit comments

Comments
 (0)