MCPcopy Index your code
hub / github.com/coder/coder / TestExternalAuthByID

Function TestExternalAuthByID

coderd/externalauth_test.go:36–170  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

34)
35
36func TestExternalAuthByID(t *testing.T) {
37 t.Parallel()
38 t.Run("PKCEMissing", func(t *testing.T) {
39 t.Parallel()
40 const providerID = "fake-github"
41 fake := oidctest.NewFakeIDP(t, oidctest.WithServing())
42
43 client := coderdtest.New(t, &coderdtest.Options{
44 ExternalAuthConfigs: []*externalauth.Config{
45 fake.ExternalAuthConfig(t, providerID, nil, func(cfg *externalauth.Config) {
46 cfg.Type = codersdk.EnhancedExternalAuthProviderGitHub.String()
47 cfg.CodeChallengeMethodsSupported = []promoauth.Oauth2PKCEChallengeMethod{}
48 }),
49 },
50 })
51 coderdtest.CreateFirstUser(t, client)
52 auth, err := client.ExternalAuthByID(context.Background(), providerID)
53 require.NoError(t, err)
54 require.False(t, auth.Authenticated)
55 })
56 t.Run("Unauthenticated", func(t *testing.T) {
57 t.Parallel()
58 const providerID = "fake-github"
59 fake := oidctest.NewFakeIDP(t, oidctest.WithServing())
60
61 client := coderdtest.New(t, &coderdtest.Options{
62 ExternalAuthConfigs: []*externalauth.Config{
63 fake.ExternalAuthConfig(t, providerID, nil, func(cfg *externalauth.Config) {
64 cfg.Type = codersdk.EnhancedExternalAuthProviderGitHub.String()
65 }),
66 },
67 })
68 coderdtest.CreateFirstUser(t, client)
69 auth, err := client.ExternalAuthByID(context.Background(), providerID)
70 require.NoError(t, err)
71 require.False(t, auth.Authenticated)
72 })
73 t.Run("AuthenticatedNoUser", func(t *testing.T) {
74 // Ensures that a provider that can't obtain a user can
75 // still return that the provider is authenticated.
76 t.Parallel()
77 const providerID = "fake-azure"
78 fake := oidctest.NewFakeIDP(t, oidctest.WithServing())
79
80 client := coderdtest.New(t, &coderdtest.Options{
81 ExternalAuthConfigs: []*externalauth.Config{
82 // AzureDevops doesn't have a user endpoint!
83 fake.ExternalAuthConfig(t, providerID, nil, func(cfg *externalauth.Config) {
84 cfg.Type = codersdk.EnhancedExternalAuthProviderAzureDevops.String()
85 }),
86 },
87 })
88
89 coderdtest.CreateFirstUser(t, client)
90 fake.ExternalLogin(t, client)
91
92 auth, err := client.ExternalAuthByID(context.Background(), providerID)
93 require.NoError(t, err)

Callers

nothing calls this directly

Calls 15

ExternalAuthConfigMethod · 0.95
ExternalLoginMethod · 0.95
NewFakeIDPFunction · 0.92
WithServingFunction · 0.92
NewFunction · 0.92
CreateFirstUserFunction · 0.92
WriteFunction · 0.92
ExternalAuthByIDMethod · 0.80
AddRouteMethod · 0.80
Int64Method · 0.80
RunMethod · 0.65
ContextMethod · 0.65

Tested by

no test coverage detected