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

Commitb7dd560

Browse files
committed
more test coverage
1 parent7352253 commitb7dd560

File tree

4 files changed

+55
-36
lines changed

4 files changed

+55
-36
lines changed

‎coderd/externalauth/externalauth_test.go‎

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"github.com/coreos/go-oidc/v3/oidc"
1313
"github.com/golang-jwt/jwt/v4"
1414
"github.com/google/uuid"
15+
"github.com/prometheus/client_golang/prometheus"
1516
"github.com/stretchr/testify/require"
1617
"golang.org/x/oauth2"
1718
"golang.org/x/xerrors"
@@ -22,6 +23,7 @@ import (
2223
"github.com/coder/coder/v2/coderd/database/dbauthz"
2324
"github.com/coder/coder/v2/coderd/database/dbmem"
2425
"github.com/coder/coder/v2/coderd/externalauth"
26+
"github.com/coder/coder/v2/coderd/promoauth"
2527
"github.com/coder/coder/v2/codersdk"
2628
"github.com/coder/coder/v2/testutil"
2729
)
@@ -94,7 +96,7 @@ func TestRefreshToken(t *testing.T) {
9496
t.Run("FalseIfTokenSourceFails",func(t*testing.T) {
9597
t.Parallel()
9698
config:=&externalauth.Config{
97-
OAuth2Config:&testutil.OAuth2Config{
99+
InstrumentedOAuth2Config:&testutil.OAuth2Config{
98100
TokenSourceFunc:func() (*oauth2.Token,error) {
99101
returnnil,xerrors.New("failure")
100102
},
@@ -301,9 +303,10 @@ func TestRefreshToken(t *testing.T) {
301303

302304
funcTestExchangeWithClientSecret(t*testing.T) {
303305
t.Parallel()
306+
instrument:=promoauth.NewFactory(prometheus.NewRegistry())
304307
// This ensures a provider that requires the custom
305308
// client secret exchange works.
306-
configs,err:=externalauth.ConvertConfig([]codersdk.ExternalAuthConfig{{
309+
configs,err:=externalauth.ConvertConfig(instrument,[]codersdk.ExternalAuthConfig{{
307310
// JFrog just happens to require this custom type.
308311

309312
Type:codersdk.EnhancedExternalAuthProviderJFrog.String(),
@@ -335,6 +338,8 @@ func TestExchangeWithClientSecret(t *testing.T) {
335338

336339
funcTestConvertYAML(t*testing.T) {
337340
t.Parallel()
341+
342+
instrument:=promoauth.NewFactory(prometheus.NewRegistry())
338343
for_,tc:=range []struct {
339344
Namestring
340345
Input []codersdk.ExternalAuthConfig
@@ -387,7 +392,7 @@ func TestConvertYAML(t *testing.T) {
387392
tc:=tc
388393
t.Run(tc.Name,func(t*testing.T) {
389394
t.Parallel()
390-
output,err:=externalauth.ConvertConfig(tc.Input,&url.URL{})
395+
output,err:=externalauth.ConvertConfig(instrument,tc.Input,&url.URL{})
391396
iftc.Error!="" {
392397
require.Error(t,err)
393398
require.Contains(t,err.Error(),tc.Error)
@@ -399,7 +404,7 @@ func TestConvertYAML(t *testing.T) {
399404

400405
t.Run("CustomScopesAndEndpoint",func(t*testing.T) {
401406
t.Parallel()
402-
config,err:=externalauth.ConvertConfig([]codersdk.ExternalAuthConfig{{
407+
config,err:=externalauth.ConvertConfig(instrument,[]codersdk.ExternalAuthConfig{{
403408
Type:string(codersdk.EnhancedExternalAuthProviderGitLab),
404409
ClientID:"id",
405410
ClientSecret:"secret",
@@ -433,10 +438,12 @@ func setupOauth2Test(t *testing.T, settings testConfig) (*oidctest.FakeIDP, *ext
433438
append([]oidctest.FakeIDPOpt{},settings.FakeIDPOpts...)...,
434439
)
435440

441+
f:=promoauth.NewFactory(prometheus.NewRegistry())
436442
config:=&externalauth.Config{
437-
OAuth2Config:fake.OIDCConfig(t,nil,settings.CoderOIDCConfigOpts...),
438-
ID:providerID,
439-
ValidateURL:fake.WellknownConfig().UserInfoURL,
443+
InstrumentedOAuth2Config:f.New("test-oauth2",
444+
fake.OIDCConfig(t,nil,settings.CoderOIDCConfigOpts...)),
445+
ID:providerID,
446+
ValidateURL:fake.WellknownConfig().UserInfoURL,
440447
}
441448
settings.ExternalAuthOpt(config)
442449

‎coderd/externalauth_test.go‎

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -316,10 +316,10 @@ func TestExternalAuthCallback(t *testing.T) {
316316
client:=coderdtest.New(t,&coderdtest.Options{
317317
IncludeProvisionerDaemon:true,
318318
ExternalAuthConfigs: []*externalauth.Config{{
319-
OAuth2Config:&testutil.OAuth2Config{},
320-
ID:"github",
321-
Regex:regexp.MustCompile(`github\.com`),
322-
Type:codersdk.EnhancedExternalAuthProviderGitHub.String(),
319+
InstrumentedOAuth2Config:&testutil.OAuth2Config{},
320+
ID:"github",
321+
Regex:regexp.MustCompile(`github\.com`),
322+
Type:codersdk.EnhancedExternalAuthProviderGitHub.String(),
323323
}},
324324
})
325325
user:=coderdtest.CreateFirstUser(t,client)
@@ -347,10 +347,10 @@ func TestExternalAuthCallback(t *testing.T) {
347347
client:=coderdtest.New(t,&coderdtest.Options{
348348
IncludeProvisionerDaemon:true,
349349
ExternalAuthConfigs: []*externalauth.Config{{
350-
OAuth2Config:&testutil.OAuth2Config{},
351-
ID:"github",
352-
Regex:regexp.MustCompile(`github\.com`),
353-
Type:codersdk.EnhancedExternalAuthProviderGitHub.String(),
350+
InstrumentedOAuth2Config:&testutil.OAuth2Config{},
351+
ID:"github",
352+
Regex:regexp.MustCompile(`github\.com`),
353+
Type:codersdk.EnhancedExternalAuthProviderGitHub.String(),
354354
}},
355355
})
356356
resp:=coderdtest.RequestExternalAuthCallback(t,"github",client)
@@ -361,10 +361,10 @@ func TestExternalAuthCallback(t *testing.T) {
361361
client:=coderdtest.New(t,&coderdtest.Options{
362362
IncludeProvisionerDaemon:true,
363363
ExternalAuthConfigs: []*externalauth.Config{{
364-
OAuth2Config:&testutil.OAuth2Config{},
365-
ID:"github",
366-
Regex:regexp.MustCompile(`github\.com`),
367-
Type:codersdk.EnhancedExternalAuthProviderGitHub.String(),
364+
InstrumentedOAuth2Config:&testutil.OAuth2Config{},
365+
ID:"github",
366+
Regex:regexp.MustCompile(`github\.com`),
367+
Type:codersdk.EnhancedExternalAuthProviderGitHub.String(),
368368
}},
369369
})
370370
_=coderdtest.CreateFirstUser(t,client)
@@ -387,11 +387,11 @@ func TestExternalAuthCallback(t *testing.T) {
387387
client:=coderdtest.New(t,&coderdtest.Options{
388388
IncludeProvisionerDaemon:true,
389389
ExternalAuthConfigs: []*externalauth.Config{{
390-
ValidateURL:srv.URL,
391-
OAuth2Config:&testutil.OAuth2Config{},
392-
ID:"github",
393-
Regex:regexp.MustCompile(`github\.com`),
394-
Type:codersdk.EnhancedExternalAuthProviderGitHub.String(),
390+
ValidateURL:srv.URL,
391+
InstrumentedOAuth2Config:&testutil.OAuth2Config{},
392+
ID:"github",
393+
Regex:regexp.MustCompile(`github\.com`),
394+
Type:codersdk.EnhancedExternalAuthProviderGitHub.String(),
395395
}},
396396
})
397397
user:=coderdtest.CreateFirstUser(t,client)
@@ -443,7 +443,7 @@ func TestExternalAuthCallback(t *testing.T) {
443443
client:=coderdtest.New(t,&coderdtest.Options{
444444
IncludeProvisionerDaemon:true,
445445
ExternalAuthConfigs: []*externalauth.Config{{
446-
OAuth2Config:&testutil.OAuth2Config{
446+
InstrumentedOAuth2Config:&testutil.OAuth2Config{
447447
Token:&oauth2.Token{
448448
AccessToken:"token",
449449
RefreshToken:"something",
@@ -497,10 +497,10 @@ func TestExternalAuthCallback(t *testing.T) {
497497
client:=coderdtest.New(t,&coderdtest.Options{
498498
IncludeProvisionerDaemon:true,
499499
ExternalAuthConfigs: []*externalauth.Config{{
500-
OAuth2Config:&testutil.OAuth2Config{},
501-
ID:"github",
502-
Regex:regexp.MustCompile(`github\.com`),
503-
Type:codersdk.EnhancedExternalAuthProviderGitHub.String(),
500+
InstrumentedOAuth2Config:&testutil.OAuth2Config{},
501+
ID:"github",
502+
Regex:regexp.MustCompile(`github\.com`),
503+
Type:codersdk.EnhancedExternalAuthProviderGitHub.String(),
504504
}},
505505
})
506506
user:=coderdtest.CreateFirstUser(t,client)

‎coderd/promoauth/oauth2_test.go‎

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,12 @@ import (
1010
"github.com/stretchr/testify/require"
1111

1212
"github.com/coder/coder/v2/coderd/coderdtest/oidctest"
13+
"github.com/coder/coder/v2/coderd/externalauth"
1314
"github.com/coder/coder/v2/coderd/promoauth"
1415
"github.com/coder/coder/v2/testutil"
1516
)
1617

17-
funcTestMaintainDefault(t*testing.T) {
18+
funcTestInstrument(t*testing.T) {
1819
t.Parallel()
1920

2021
ctx:=testutil.Context(t,testutil.WaitShort)
@@ -25,7 +26,12 @@ func TestMaintainDefault(t *testing.T) {
2526
}
2627

2728
factory:=promoauth.NewFactory(reg)
28-
cfg:=factory.New("test",idp.OIDCConfig(t, []string{}))
29+
constid="test"
30+
cfg:= externalauth.Config{
31+
InstrumentedOAuth2Config:factory.New(id,idp.OIDCConfig(t, []string{})),
32+
ID:"test",
33+
ValidateURL:must(idp.IssuerURL().Parse("/oauth2/userinfo")).String(),
34+
}
2935

3036
// 0 Requests before we start
3137
require.Equal(t,count(),0)
@@ -44,6 +50,12 @@ func TestMaintainDefault(t *testing.T) {
4450
require.NotEqual(t,token.AccessToken,refreshed.AccessToken,"token refreshed")
4551
require.Equal(t,count(),2)
4652

53+
// Try a validate
54+
valid,_,err:=cfg.ValidateToken(ctx,refreshed.AccessToken)
55+
require.NoError(t,err)
56+
require.True(t,valid)
57+
require.Equal(t,count(),3)
58+
4759
// Verify the default client was not broken. This check is added because we
4860
// extend the http.DefaultTransport. If a `.Clone()` is not done, this can be
4961
// mis-used. It is cheap to run this quick check.
@@ -56,7 +68,7 @@ func TestMaintainDefault(t *testing.T) {
5668
require.NoError(t,err)
5769
_=resp.Body.Close()
5870

59-
require.Equal(t,count(),2)
71+
require.Equal(t,count(),3)
6072
}
6173

6274
funcmust[Vany](vV,errerror)V {

‎coderd/templateversions_test.go‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -335,10 +335,10 @@ func TestTemplateVersionsExternalAuth(t *testing.T) {
335335
client:=coderdtest.New(t,&coderdtest.Options{
336336
IncludeProvisionerDaemon:true,
337337
ExternalAuthConfigs: []*externalauth.Config{{
338-
OAuth2Config:&testutil.OAuth2Config{},
339-
ID:"github",
340-
Regex:regexp.MustCompile(`github\.com`),
341-
Type:codersdk.EnhancedExternalAuthProviderGitHub.String(),
338+
InstrumentedOAuth2Config:&testutil.OAuth2Config{},
339+
ID:"github",
340+
Regex:regexp.MustCompile(`github\.com`),
341+
Type:codersdk.EnhancedExternalAuthProviderGitHub.String(),
342342
}},
343343
})
344344
user:=coderdtest.CreateFirstUser(t,client)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp