Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit320c10d

Browse files
committed
Add tests for the template version Git auth endpoint
1 parent1ad5db1 commit320c10d

File tree

1 file changed

+48
-4
lines changed

1 file changed

+48
-4
lines changed

‎coderd/templateversions_test.go

Lines changed: 48 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"bytes"
55
"context"
66
"net/http"
7+
"regexp"
78
"testing"
89

910
"github.com/google/uuid"
@@ -14,6 +15,7 @@ import (
1415
"github.com/coder/coder/coderd/audit"
1516
"github.com/coder/coder/coderd/coderdtest"
1617
"github.com/coder/coder/coderd/database"
18+
"github.com/coder/coder/coderd/gitauth"
1719
"github.com/coder/coder/coderd/provisionerdserver"
1820
"github.com/coder/coder/codersdk"
1921
"github.com/coder/coder/examples"
@@ -436,21 +438,63 @@ func TestTemplateVersionParameters(t *testing.T) {
436438

437439
funcTestTemplateVersionsGitAuth(t*testing.T) {
438440
t.Parallel()
439-
t.Run("WithoutAny",func(t*testing.T) {
441+
t.Run("Empty",func(t*testing.T) {
440442
t.Parallel()
441-
client:=coderdtest.New(t,nil)
443+
client:=coderdtest.New(t,&coderdtest.Options{IncludeProvisionerDaemon:true})
442444
user:=coderdtest.CreateFirstUser(t,client)
443445
version:=coderdtest.CreateTemplateVersion(t,client,user.OrganizationID,nil)
446+
coderdtest.AwaitTemplateVersionJob(t,client,version.ID)
444447

445448
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitLong)
446449
defercancel()
447450

448451
_,err:=client.TemplateVersionGitAuth(ctx,version.ID)
449452
require.NoError(t,err)
450453
})
451-
// t.Run("", func(t *testing.T) {
454+
t.Run("Authenticated",func(t*testing.T) {
455+
t.Parallel()
456+
client:=coderdtest.New(t,&coderdtest.Options{
457+
IncludeProvisionerDaemon:true,
458+
GitAuthConfigs: []*gitauth.Config{{
459+
OAuth2Config:&oauth2Config{},
460+
ID:"github",
461+
Regex:regexp.MustCompile(`github\.com`),
462+
Type:codersdk.GitProviderGitHub,
463+
}},
464+
})
465+
user:=coderdtest.CreateFirstUser(t,client)
466+
version:=coderdtest.CreateTemplateVersion(t,client,user.OrganizationID,&echo.Responses{
467+
Parse:echo.ParseComplete,
468+
ProvisionPlan: []*proto.Provision_Response{{
469+
Type:&proto.Provision_Response_Complete{
470+
Complete:&proto.Provision_Complete{
471+
GitAuthProviders: []string{"github"},
472+
},
473+
},
474+
}},
475+
})
476+
version=coderdtest.AwaitTemplateVersionJob(t,client,version.ID)
477+
require.Empty(t,version.Job.Error)
478+
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitLong)
479+
defercancel()
452480

453-
// })
481+
// Not authenticated to start!
482+
providers,err:=client.TemplateVersionGitAuth(ctx,version.ID)
483+
require.NoError(t,err)
484+
require.Len(t,providers,1)
485+
require.False(t,providers[0].Authenticated)
486+
487+
// Perform the Git auth callback to authenticate the user...
488+
resp:=gitAuthCallback(t,"github",client)
489+
_=resp.Body.Close()
490+
require.Equal(t,http.StatusTemporaryRedirect,resp.StatusCode)
491+
492+
// Ensure that the returned Git auth for the template is authenticated!
493+
providers,err=client.TemplateVersionGitAuth(ctx,version.ID)
494+
require.NoError(t,err)
495+
require.Len(t,providers,1)
496+
require.True(t,providers[0].Authenticated)
497+
})
454498
}
455499

456500
funcTestTemplateVersionResources(t*testing.T) {

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp